May 17 2008

Working on the Ubuntu PS3 Port

Tag: Linux, Open Source, Ubuntu, ps3Dan @ 2:15 pm

I am relatively new to the Ubuntu PS3 Port team. I joined about a month before Hardy was released when I was told by Gouki that there really wasn’t any development happening on it because it was a community maintained port just like the PowerPC port now is too. I just felt I had to do something - Ubuntu on the PlayStation3 is just too compelling for me to sit back and watch it bit-rot!

One of the first things that needed doing was to update the bootloader (otheros.bld) as the old Gutsy one wasn’t able to boot Hardy’s kernel. Once this was achieved (thanks to some great mentoring by a very busy Colin Watson and others) I was able to upgrade to Hardy and start fire-fighting.

Unfortunately we weren’t able to fix things in time for Hardy’s first release. X was crashing and trying to choose the wrong video driver (both now fixed), and the Kernel (still) has a memory allocation problem (fix on the way). There are various other problems waiting to be resolved, and a few suggested features too, but we’ll get to them all in good time.

Although initially the plan was to try and have an installable/usable Hardy by 8.04.1 in July, I think focus will probably be on Intrepid from now on. Getting fixes back into critical components such as the kernel and X for Hardy in time would be tough as this is considered an “unmaintained port” in Hardy.

So far working on this project has been a great experience for me. I am gaining a very broad knowledge of all aspects of how Ubuntu works, and also how Linux works on the PS3. I highly recommend any folks who are using Ubuntu on PS3 and have Debian/Ubuntu dev experience please jump on the development mailing list and look out for ways to contribute.

A status update has just been posted to the dev list today. I’ve tried to outline as best as I can the current state of the project.

Thanks to everyone upstream, downstream (ubuntu-ps3-dev, ubuntu-x, kernel-team), and in the community who has helped out so far!


Feb 15 2008

Linux on Playstation 3

Tag: Linux, Ubuntu, ps3Dan @ 10:14 pm

I have now got Ubuntu installed on my PS3. This is very cool! The potential of no longer having to have a desktop computer sat in the corner taking up space is fantastic. Instead I have a mini super computer in a small beautifully styled consumer device’s clothing connected to a widescreen TV as a monitor. Woo-hoo!

I followed the instructions on PSUbuntu.com to install the port of 7.10 Gutsy Gibbon. The instructions are good but this is very early days for Linux on PS3; naturally there’s plenty of work still to do to smooth over the user experience. The Ubuntu builds for PS3 are maintained voluntarily by literally only 2 or 3 guys at Canonical, so it’s impressive it works as well as it does.

Setting up the screen resolution didn’t work quite as described - stopping gdm (the Gnome Display Manager) and setting the screen mode only changes the resolution for the current terminal not for the one which Xorg starts in, and if you specify a non-compatible mode your display may be a mess so you have to type blind to fix it (or better use the up/down cursor keys to access a previous working mode using shell history). Not a big deal for a techy but obviously could be quite a hurdle for your average punter. Anyway once the correct mode has been found setting up a script under /etc/event.d/ ensures it always boots into the desired mode.

Second issue was that the OS didn’t seem to be finding the ethernet network card. Luckily browsing the PSUbuntu Networking and Connectivity forum revealed the solution - disable NetworkManager and configure the network settings manually using the Gnome Network tool (or by editing /etc/network/interfaces directly if you know how). Seems NetworkManager doesn’t work quite right with the PS3 ethernet card yet.

Having got it up and running the next task was to choose a lighter desktop system than Gnome. I love Gnome but there’s only 256MB of RAM on the PS3 and the Gnome desktop on it’s own uses most of that so applications are likely to be swapped out to disk way to too quickly for my liking. There are some interesting instructions on the PSUbuntu forum which suggest all sorts of things like disabling the graphical login screen (gdm) and changing to use the Fluxbox window manager instead of the default Metacity, but I felt I wanted something less custom and more complete so I decided to install the Xfce desktop.

Xfce is the base of the XUbuntu distribution and is a lightweight Gtk based desktop system with its own window manager. It has some slick themes and also supports pretty features like transparency and drop shadows (using Xorg’s Composite extension). You can choose to install the entire XUbuntu default installation by installing the xubuntu-desktop package from Synaptic, but this will pull in all sorts of other peripheral tools such as the Abiword office suite. I didn’t need this stuff so I opted to install just the Xfce components by installing the xfce4 package.

PS3 + Ubuntu + Xfce

Of course one thing which I want to take advantage of is the chance to experiment programming the amazing Cell Microprocessor. Included in the package repositories are the required development libraries and tools. Just search for the keyword ‘cell’ in Synaptic to find the relevant packages. There’s also a packaged copy of the Cell Programming Primer from kernel.org.