Slashdot Mirror


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."

10 of 81 comments (clear)

  1. VM hacking? by Anthony_Cargile · · Score: 4, Interesting

    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!)

    1. Re:VM hacking? by fuzzyfuzzyfungus · · Score: 4, Informative

      Unfortunately, the PS3's graphics card is specifically denied to linux by Sony's hypervisor. You just get a framebuffer. Linux only really runs on the PS3 in a rather limited sense.

    2. Re:VM hacking? by Anonymous Coward · · Score: 5, Funny

      Mod parent up, this is the most over-engineered solution to a hopeless problem I have ever read, and thus should boost karma.

    3. Re:VM hacking? by Anonymous Coward · · Score: 5, Informative

      I'll be to bed in a minute, SOMEBODY IS WRONG IN THE INTERNET!

      First and foremost, just about anything will compile for PPC unless it uses assembly. C is "portable" for a reason. This fact completely invalidates your entire post for most programs, even emulators.

      Further beating the dead horse, due to the hypervisor you can't access the 3D acceleration goodness of the PS3 while running anything but the "Playstation OS". This is to prevent such awesomeness as playing pirated games and romz on a device meant to play legally bought stuff, but doesn't matter with the good ol' games & systems we love and respect.

      Hand in your geek card.

    4. Re:VM hacking? by Solra+Bizna · · Score: 3, Informative

      The Article (yes, they are not just a myth) explicitly tells of Ubuntu running on (err, op top of the hypervisor on) the PS3. Now, I for one do NOT want to go through and compile EACH AND EVERY SINGLE Ubuntu app I desire after being spoiled with apt-get (and dpkg before that) and repeating the process with EVERY SINGLE UPDATE/FIX. Further more, tracking down EACH AND EVERY library/dependency for said apps without the help of a packaging system would be a living breathing hell (and yes, some of said apps either use assembly or target the x86 architecture so closely that there is a speed loss on others due to instruction/stack/register differences brought up by gcc switches in the makefile, or intentionally by the coder).

      You've... never used a non-x86 Linux distro, have you? It's pretty much exactly the same as the equivalent x86 distro, except with a PowerPC/SPARC/MIPS/Alpha/ARM/etc. CPU instead. (And usually more sloppy QA, but that's another story.)

      Very, very few programs require x86 assembly nowadays.

      And as mentioned above (in a less derogatory manner, you insensitive clod) the PS3 hypervisor would only offer a framebuffer to the PPC kernel hypervisor to pass to the guest x86 kernel to use (wasn't over-engineered brought up above, as well?) for video - so yes, you won't get HD performance on the box as I'm aware of now, but I'm sure the framebuffer at least offers something, you think? Oh thats right, nobody has taken the time to satisfy all the dependencies in the universe to compile a worthy app by hand to test it with. Yes, I've gotten a little spoiled since the green-screen days, but software has also gotten more complex (we still use C and its libraries to write ideal modern software/VMs, right?) so what do you expect?

      You've... never used a "fast" computer with a plain framebuffer, have you?

      You know what, replying to you is a waste of time.

      -:sigma.SB

      --
      WARN
      THERE IS ANOTHER SYSTEM
  2. erm by larry+bagina · · Score: 3, Insightful

    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.

  3. don't do this by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:don't do this by jonaskoelker · · Score: 3, Insightful

      There's really no reason to run Linux on the PS3.

      Neither is there any reason to run NetBSD on a toaster, but it's still fun (to some people).

      And that's reason enough.

  4. Architecture isn't a bid deal by gnu-sucks · · Score: 4, Insightful

    >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.

  5. No need to stack a full x86 emulated system by DrYak · · Score: 3, Informative

    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 ]