Category Archives: Game Hacking

PS3 First Impressions

HardwareZone has an article about running Fedore Core Linux on the PS3. They’re not terribly impressed yet, though they reserve some hope that the official Yellow Dog Linux distro might somehow be better. A big problem is graphics resolution– you’re confined to a fairly negligible screen size if you don’t have both the right TV and the right connector cable (a problem that a colleague of mine has also encountered while venturing into this arena). And without any form of hardware acceleration, the overall desktop presentation is apparently unremarkable. Check the photos of OpenOffice running on the TV.

I’m still hopeful that PS3 Linux can be put to some use, just as soon as people get past the novelty of running a web browser and a word processor on an unaccelerated graphic display through their TV.

Groupie

I’m turning into a PS3 Linux groupie, salivating over any technical information I can find. Sony has, in fact, released some programming details regarding their new PlayStation 3. In particular, the documents discuss what a user can do under Linux (more generally, “Other OS”). I’m not sure where the official documents are supposed to live. There are ostensibly various document mirrors floating around, so here’s one more.

Let’s examine the Linux Kernel Overview document, which reveals the basic capabilities that a user can expect. Perhaps the most obnoxious — though not wholly unexpected — aspect is when the document explains the console’s phenomenal audio and video capabilities… and promptly notes that you will not be able to access a fraction of the power. For example:

PS3 has a powerful graphic processing unit with high speed host connection. The GPU is connected to both HDMI and AV multi interface. Although the GPU is connected directly to CBE, no direct access by guest OSes to the GPU is allowed currently.

So the graphic capability is limited to a big frame buffer. Hopefully, it can go up to 1080p. For audio, it’s unclear how many channels the PS3 will allow the guest OS to access. I will be impressed if the number is greater than 2 (stereo).

Gigabit network access is allowed, sans promiscuous mode. Believe it or not, access to the optical drive is allowed. The overview document specifically states that the drive will reject certain ATAPI commands which is likely in place to prevent the user reading data from discs that have been determined to be official PlayStation 1/2/3 games. HDD and USB storage devices can be accessed, though the PS3 hypervisor probably enforces segmentation to keep the guest OS from going out of bounds on the HDD.

The game pad can be accessed, thankfully, through standard joystick facilities. I don’t think the hypervisor will be sandboxing anything in that department.

Perhaps the most interesting part of these still-incomplete documents is the PDF describing IBM’s libspe. This indicates that the guest OS will be able to program the 6 Cell SPEs present in the PS3. This makes me wonder if the much-vaunted parallel processing power of the Cell made available to the guest OS might be able to compensate for the lack of graphic coprocessing power. I’m not sure about this yet; I’m still trying to digest the SPE documentation.

PlayStation 3 HackWatch

Now that the Sony PlayStation 3 has hit the ground running — at least in the U.S. and Japan, and in fairly measured quantities — we might finally piece together some more solid information about running Linux on this little box and the exposed programming capabilities


Sony PlayStation 3 controller

Based on earlier blog and forum hearsay, I got the impression that there was some hackish method for getting Linux onto a PS3. It turns out that it’s not a hack, it’s a menu option. The user can install an “other OS” from basically any media format that the PS3 supports (a huge array of optical discs, compact flash, USB media device, and some others).

I’m still searching for actual programming information. Hearsay indicates that X11 will work by rendering to a framebuffer. No word of graphical capabilities beyond that. Still wondering about audio output, controller input, network I/O, and programming multiple Cell SPEs.

Meanwhile, the online user manual contains lists of video and audio formats that the PS3 already knows how to play (and here are the still image formats).

Since I am fascinated with the idea of programming game consoles (even modern ones that increasingly resemble boring, regular PCs), I will be keeping an eye on what people are doing with Linux on PS3. I won’t lose my mind trying to be an early, early adopter of this latest console. I’ll consider purchasing one only when I can walk into a typical store and pick one up off the shelf like a normal consumer; no sooner.

Not Letting It Go

I’m just going to keep guessing; it’s much easier than digging up actual, empirical data. I’m starting to come to grips with the idea that the number of valid sectors contained on a DVD disc is something that’s interpreted by the optical drive firmware and enforced by the same (as is the case for RPC-2 DVD region encoding). If that’s true, there is no point in using direct SCSI access to beg for sectors beyond the magic 6,992 limit on a standard Xbox disc. Ways around this? There’s the Xbox-Linux FTP trick alluded to in my cursory post on the matter

Continue reading