Setting Up Ubuntu On a PS3 For Emulation
Gizmodo is running a guide on how to install Ubuntu on a Playstation 3 and set it up to play vintage games through emulation. Quoting:
"It still kind of surprises me (in a good way) that Sony was, from the start, very OK with PS3 owners tinkering with Linux on their PS3s. A modified release of Yellow Dog Linux was available from the very beginning, and some very handy hard drive partitioning and dual-boot utilities are baked right into the PS3's XMB; Ubuntu gets installed on an entirely separate partition of your PS3's hard disk, so your default system doesn't get touched and switching between Ubuntu and the XMB is a piece of cake. There is a flipside to this coin, however. Since the PS3's Cell Processor is PowerPC based, you won't be able to use any Linux software that's compiled for x86, which is, unfortunately, most of it. However, Ubuntu has always had a PPC distro, and most of the basic stuff will work just fine. You can even load up a PPC-compiled Super Nintendo Emulator, SNES9X, and play some classic games pretty easily on your Sixaxis controller paired via Bluetooth."
Would it be too slow to load a slim PPC kernel and replace init with an optimized PPC-compiled qemu instance (basically; it would require much more than this) and run a virtual x86 machine on that? It seems the downsize would be: two kernels and an image in non-volatile storage, (although they aren't that big, not much difference), RAM would be a premium, consider some paging (and a minimalistic hypervisor kernel running a slim custom client kernel, goodbye canonical support), and those Cell CPUs would fare just fine with it.
It seems like a long shot, but it could work with at the very least "decent" results, after a fair amount of hacking and gnu optimization (store more crap on the registers than RAM). Compiz would kill on those graphics cards, and if paging is light you could have project 64 running in WINE for the best Nintendo 64 experience since... the Nintendo 64! Gee Willigers!
That is, assuming qemu can do x86->PPC, else find an alternative (or write one, hey!)
All the software on my linux box (an ARM machine) was either compiled by me or came from the debian apt repositories (compiled for ARM). That's no different than if I was using x86. I fail to see what the issue is, unless you need to run closed source software or something tightly coupled to the x86 architecture, like WINE or virtual box.
Do you even lift?
These aren't the 'roids you're looking for.
linux on ps3 sucks balls:
no access to gpu
10 gigs of disk space
~256 megs of memory
crappy ppc processor which meant for the stuff I wanted to do with it (read: boxee), I didn't have the libs.
>Since the PS3's Cell Processor is PowerPC based, you won't be
>able to use any Linux software that's compiled for x86, which is,
>unfortunately, most of it.
I have to say, to most linux users, the specific architecture and processor really aren't meaningful. The linux kernel, gnu userland, and associated popular applications have always been distributed in source code first, and binaries as they are made available. The entire concept of open-source depends on source distribtion.
It is absolutely no problem if an app is distributed in source form or binary (compiled). True, a "standard" linux install base, while it may be defined, is rarely realized. So you could argue that distributing in source code creates problems because needed dependencies can't always be met. But then again, this doesn't help with binary distribution either. Ever try to install an RPM on a non-rpm-ish linux distro? It can be done, yes, but it involves a lot of details. Just as compiling does.
Debian is awesome for distributing such a wide range of apps compiled for so many architectures. But it is truly sad to see someone write that it is "unfortunate" that most linux installs are x86 and his is ppc. The entire concept of linux is that linux is a kernel and a userland distributed in source. It doesn't matter what hardware you have (within reasonable limits... toasters, watches, etc).
There's nothing "unfortunate" about an intel chip, a sparc processor, or a power pc, in terms of the ability of linux to run on it. It's a bigger deal if you're running generic pc hardware with some new video or wifi card. But even this sort of par for the course these days.
Would it be too slow to load a slim PPC kernel and replace init with an optimized PPC-compiled qemu instance {...} and run a virtual x86 machine on that? It seems the downsize would be: two kernels and an image in non-volatile storage {...} That is, assuming qemu can do x86->PPC, else find an alternative (or write one, hey!)
All this is an absolute overkill.
If there are a couple of binary-only Linux applications that you have to run on PS3 and they are only compiled for x86, there's QEMU which has a special mode for running Unix-on-Unix, where it emulates an x86 CPU only for the x86 application and passes through all system calls to the actual native OS.
The DarWINE project is exactly doing that to run Windows applications on PPC Mac OS X boxes : the windows application and assorted Wine glue code goes inside QEMU, the call translated to Unix libraries go to the native system.
If you need to run Windows application, probably DarWine isn't that far from being runnable on PPC Linux.
And if you need to run old-school DOS games, DosBox has a built-in x86 emulator anyway.
The "emulate a full x86 Linux running inside a PPC Linux" is just a complete waste of resources.
And, as pointed by other /.ers, the PS3 hypervisor doesn't let Linux access the GPU anyway. So no Compiz, no hardware accelerated emulation of consoles with 3D chips (no N64, no PSX without PS3's own OS, no DreamCast, etc.)
Still there's a good access to the Cell's stream processing units, so Linux on PS3 has a good value for doing scientific calculation, and there's an attempt to accelerate Mesa 3D with the SPUs, in order to have some hardware-accelerated OpenGL, even without the GPU.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]