Introduction
This is intended as a step-by-step guide for installing and configuring Linux on a PlayStation 3.
Furthermore, we'll install UAE (the Ubiquitous Amiga Emulator) and get the SIXAXIS controllers working
as wireless joysticks. Linux knowledge required. The guide is currently incomplete, based on notes from
my own process.
Instructions
This guide cover the following areas:
- Download the latest PlayStation 3 Yellow Dog Linux distribution from Terra Soft.
- Go to Settings, System Settings and choose "Install Other OS".
- Insert the CD into the PS3 and follow the installation instructions.
- Boot the newly installed Linux by choosing "Default System" in Settings, System Settings.
- Go to text mode by pressing Control-Alt-F1 (and back by pressing Control-Alt-F7).
- In text mode use 'ps3videomode' to find a suitable video mode. Use the '-h' option to
display a list of available modes. To get the value for fullscreen, add 128 to the number.
E.g. 1080p/60 Hz in fullscreen would be 37 + 128 = 165, which is tested like this:
# ps3videomode -v 165
- Edit /etc/kboot.conf:
# nano /etc/kboot.conf
- Carefully add a new line with the found video mode, for example (in one line):
ydl1080p='/dev/sda1:/vmlinux-2.6.22-0.ydl.rc4 initrd=/dev/sda1:/initrd-2.6.22-0.ydl.rc4.img
root=LABEL=/ init=/sbin/init video=ps3fb:mode:165 rhgb'
- In the first line change the prefered video mode, if you like - for example:
default=ydl1080p
- Save the file by pressing Control-X, then 'Y'.
- During boot the video mode can now be selected by pressing Tab at the kboot prompt (before the timeout,
which is also configured in kboot.conf).
- At any time, you can return to the PS3 Operating System by entering 'boot-game-os' or by holding down
the power button for 5 seconds.
- Add/Remove Software: Add 'kernel-source-2.6.22-0.ydl.ppc64'.
- Add/Remove Software: Remove 'bluez'.
- In a terminal:
# cd /usr/src/Linux-2.6.22-0.ydl.rc4
# make menuconfig
- Go to 'Device Drivers' -> 'Input device support' -> 'Joystick interface' and set to 'M' (by pressing space). Exit/Save.
- In a terminal:
# make modules
- Plug the controller into a USB port.
- To test the device, see if it has appeared in /dev/input:
[root@localhost ~]# ll /dev/input/js*
crw------- 1 root root 13, 0 Dec 6 13:59 /dev/input/js0
- Then try 'jstest /dev/input/js0' and see if there's any reaction when using the controller.
- Follow this guide:
Using the PlayStation 3 controller in Bluetooth mode with Linux.
I wanted 'X' as fire button in the Amiga emulator instead of the 'SELECT' button. To accomplish
this, I did the following:
- Make sure the version string in the kernel source Makefile (/usr/src/linux-2.6.22-0.ydl.rc4/Makefile)
corresponds to the one retrieved from 'uname -a'. The fourth line should probably be something like:
EXTRAVERSION = -0.ydl.rc4
- Edit the joydev source:
# cd /usr/src/linux-2.6.22-0.ydl.rc4/drivers/input
# nano joydev.c
- In function joydev_event(), switch (type), case EV_KEY (approx. line 98), insert the following code before the break:
/* Swap 'X' and 'Select' buttons on Sixaxis controller */
if (event.number == 14)
event.number = 0;
else if (event.number == 0)
event.number = 14;
- Recompile the module and activate it:
# cd /usr/src/linux-2.6.22-0.ydl.rc4/
# make modules
# cp -p drivers/input/joydev.ko /lib/modules/2.6.22-0.ydl.rc4/kernel/drivers/input/
# depmod
# rmmod joydev
# modprobe joydev
- Download E-UAE from official website.
- Start the application "Add/Remove Software" from the Applications menu.
- Select 'List' to view all packages, then add checkmarks for 'SDL' and 'SDL-devel' and click 'Apply'.
- Configure and compile:
# ./configure --with-sdl --with-sdl-gfx
# make
# make install
- Connect SIXAXIS controllers before starting E-UAE.
- For fullscreen mode, press ALT-F12. Use a suitable screen mode for this, i.e. 576p.