Today madshaun1984 shared a video of the XBMC Media Center running on Sony's PlayStation 3 entertainment system via PS3 Linux.
For those unaware, [Register or Login to view links] is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV.
Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control.
To quote: "I managed to compile and get running XBMC on my PS3 via OtherOS and Ubuntu10.04.
Proof enough I think that the PS3 is more than capable to run it (although its extremely slow at the moment, it can be improved upon )"
Check out the video below!
Tutorial - Install Ubuntu/CellSDK/XBMC on the PS3:
You will need a usb keyboard and mouse for this install.
First off decide whether you want to install on a usb hdd or the PS3's internal hdd (internal hdd will need to be formatted and a partition assigned to OtherOS).
Then get a copy of the OtherOS.bld for petitboot and put it on a usb stick at /PS3/OTHEROS/otheros.bld
Burn yourself a copy of the ubuntu desktop 10.04 PS3 .iso from the ubuntu site ([Register or Login to view links]).
Once done goto system settings/install OtherOS, and insert your usb stick with the OtherOS.bld on it in the PS3.
Here is the crucial point if installing on a usb hdd, when prompted about the otheros partition being formatted, just say no, and proceed to install otheros without formatting your PS3's hdd (Or if you want to install onto the PS3's hdd, you can say yes to this step and follow the instructions).
Once the otheros.bld is installed, say no to rebooting to otheros and remove the usb stick from the PS3, insert a usb hdd, and the usb keyboard and mouse now, then goto system settings/default os and select otheros, then reboot to otheros when prompted or reboot the PS3 via a shutdown and pressing the power button.
Once petitboot appears on screen, (if you get a blank screen pressing number buttons 1 2 and 3 will cycle through available resolutions if you still cant get a display pressing the del key on the keyboard will reboot the PS3, back to the GameOS and you'll have to look for a solution).
Insert the Ubuntu 10.04 disc you burnt earlier (it has to be the available ubuntu10.04 desktop.ps3.iso else it won't install). and wait till you see the disc icon on screen. When it appears click it, then the top option (install).
Wait for it to load up and follow the onscreen instructions till you get to the Prepare disc space screen (step 4 of 7).
Make sure your hdd (or USB hdd) is named as the drive you are instaling to, then choose whichever option suits you, (Less advanced linux users should use the erase and install the entire disc option for ease).
Once you have your USB hdd partitioned and ready, carry on by following the onscreen prompts till step 7 then proceed to install ubuntu 10.04 (this will take a while).
Once complete proceed to log into Ubuntu using the user name and password you provided in the install and update the install when prompted by the update manager.
Go to the menu bar at the top and selct Applications/accesories/ and drag and drop the terminal icon somewhere onto your desktop, (this will save you some time as we install the cell sdk).
Open terminal and type sudo apt-get build-dep cell-sdk then hit enter and enter your login password as the root password. now wait for it to finish. (I had issues with dependancies when installing the cell-sdk that doing this step couldnt fix, but I had installed the cell-sdk2.1 first).
Then type sudo apt-get install cell-sdk (login password again for the password if asked) then wait for the cell-sdk to install.
Once thats complete (if all went well) type sudo nano /etc/fstab and hit enter use the up/down arrow buttons on the keyboard to scroll to the bottom of the file check for a line that reads...
If its not there add it. You now have the cell-sdk installed.
none /spu spufs defaults 0 0
Now to install the mesa cell-driver (for people that want to test it and use it) its not essential atm for the xbmc install.
Goto [Register or Login to view links] and open the link for the latest build (The highest numbered file IE- at the time of writing this tut, the latest build was 7.8.1).
Save the tar.gz files for Mesalib-x.x.x.tar.gz MesaGLUT-x.x.x.tar.gz and MesaDemos.tar.gz, then open your home folder/downloads to find the files, press and hold ctrl and highlight all 3 files then right click and select cut, go back a folder to the home folder, and right click and paste the files there.
In your terminal window type:
Then wait for it to finish.
tar zxf MesaLib-X.Y.tar.gz
tar zxf MesaDemos-X.Y.tar.gz
tar zxf MesaGLUT-X.Y.tar.gz
Open your home dir again and right click and rename the folder Mesa for ease of typing in terminal then close the window.
In terminal type sudo apt-get install libpthread-stubs0-dev xorg-build-macros xserver-xorg-video-nouveau and hit enter.
Goto [Register or Login to view links] click compiling/installing on the left hand column, the get the latest version of drm2proto and libdrm in the tar.gz format, down load then then cut and paste them from home folder/downloads to your home folder, then right click each and select extract here.
In terminal cd /path/to/libdrm-x.x.x and type ./configure --enable-experimental-nouveau-api and hit enter wait for it to finish then type make and hit enter wait for it to finish again then type sudo make install and hit enter, once finished cd /path/to/drm2proto-x.x.x and type ./configure wait for it to finish, then type sudo make install and wait for that to finish, the type cd and hit enter.
Type sudo apt-get install alien and hit enter and say yes to the download, then wait.
Then get cell-libs-devel-3.1.1.ppc.rpm and cut and paste it from your home folder/downloads to your home folder then type sudo alien -d -i cell-libs-devel-3.1-1.ppc.rpm and hit enter and wait for it to install.
Open your home folder/Mesa/configs and open the linux-cell build script and edit from ppu-gcc and ppu-g++ to gcc and g++ and spu-gcc to spu-gcc-4.3
Then save and close the file then browse to folder /opt/cell/sdk/usr/include and open the libmisc.h file, add this in line 43
Then save and close the file, and close the window.
#define vector __vector
In terminal type sudo apt-get install gcc-4.3-spu then hit enter and say yes when prompted.
Then again in terminal type sudo nano /usr/bin/ppu32-embedspu and edit where its says ppu-embed to say ppu-embedspu then press ctrl+o hit enter, then press ctrl+x
In terminal again type sudo apt-get install xorg-dev libglu-dev and hit enter then say yes when prompted, and wait for the packages to install.
Then in terminal type cd Mesa and hit enter, then type make linux-cell hit enter and wait for a while (this will take some time and you will see quite a few warnings pop up) once complete you have the mesa linux-cell driver compiled and ready to be used.
If you haven't rebooted after installing the cell-sdk type sudo mount /spu and hit enter now (this will enable the use of the spu's, it doesnt need to be done again after a reboot though)
Before each use of the linux-cell driver you must open a terminal window cd Mesa then type
You can then verify the cell driver is working by typing progs/xdemos/glxinfo and looking for the line "OpenGL renderer string Gallium x.x on cell"
There are a number of demos found in the xdemos folder in Mesa/progs/ and some others in the demos folder in the demos folder.
XBMC install on the PS3:
In terminal type sudo apt-get install subversion hit eneter and wait for it to install.
Then type cd hand hit enter, then type svn checkout [Register or Login to view links] xbmc and hit enter, and wait for the files to finish downloading.
(yes that ^ is all one cmd) and hit enter, and wait for the required packages to install. (if you get any missing packages from the repo just remove them from the command there may be two packages that arent available or so I found when I compiled)
sudo apt-get install quilt python-support ccache cmake autotools-dev autoconf automake unzip libboost-dev libgl1-mesa-dev libgl-dev libglu-dev libglew-dev libmad0-dev libjpeg-dev libsamplerate-dev libogg-dev libvorbis-dev libvorbisenc2 libfreetype6-dev libfontconfig-dev libbz2-dev libfribidi-dev libsqlite3-dev libmysqlclient-dev libasound-dev libpng-dev libpcre3-dev liblzo2-dev libcdio-dev libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libenca-dev libjasper-dev libxt-dev libxtst-dev libxmu-dev libxinerama-dev libcurl3 libcurl4-openssl-dev libcurl-dev libdbus-1-dev libhal-storage-dev libhal-dev libpulse-dev libavahi-common-dev libavahi-client-dev libxrandr-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev liba52-dev libdts-dev libfaad-dev libmp4ff-dev libmpeg2-4-dev libass-dev libflac-dev libwavpack-dev python-dev gawk gperf nasm libcwiid1-dev libbluetooth-dev zlib1g-dev libmms-dev libsmbclient-dev libtiff4-dev libiso9660-dev libssl-dev, libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs
Then type cd xbmc hit enter then type ./bootstrap and hit enter, and wait for it to finish.
Then type ./configure and hit enter and wait for it to finish, (it will take a few minutes)
Then press ctrl + alt + f1 at the same time, type in your login name hit enter, then your password to login. then type sudo /etc/init.d/gdm stop then hit enter and wait till you get the $ back again, then type cd xbmc and hit enter.
Now type make -j2 and hit enter then wait (this will take a while ((upto 3+ hours to be exact)))
Once finished type /etc/init.d/gdm start and hit enter and you should be taken back to the desktop screen.
Open up a terminal window, and type xbmc and hit enter.Wait for the black screen to appear and for xbmc to crash and check the location that xbmc says its looking for xbmx-xrandr in and open up your home folder/xbmc find and copy both xbmc-xrandr and xbmc-xrandr.c to the location you just got from running xbmc in terminal.
Then in terminal type xbmc again and hit enter.
You should now have a working xbmc install on your PS3 (but be warned, it's slow).
More PlayStation 3 News...