Sony Playstation 3 and T2/Linux

Sony PS3

Given the historically strong PowerPC support in T2 as a primary platform, expanding the support to also cover the Cell-based Playstation 3 from Sony was natural development - especially considering the effor Sony puts into promoting the Playstation 3 as "Open Systems" providing source-level Linux patches.

The Playstation 3 comes with an IBM / Hitachi PowerPC CPU combining a dual-core "Power" Processor Element (PPE) with "Synergistic Processing Elementes (SPE). Full-features Cell CPUs come with 8 of those SPE co-processors, while the ones in the PS3 come with just 7 of them "known good" (to compensate the yield during production) while a hypervisor shielding Linux from the real hardware take another one leaving 6 SPUs to program from within Linux.

The PS3 has only 256 MB system RAM, and 256 MB video RAM for the NVidia based RSX graphic processor. Initially the later could not be accessed from Linux thru the official Sony OtherOS andlimitted graphic applications to draw to an unaccelerated frame-buffer.

However either thru a security vulnerability before FW 2.10 or by using some form of OtherOS++ CFW full access to the RSX, and/or the seventh SPE and other system resources is possible.

Notes

Support for the OtherOS hypervisor firmware feature was officially dropped with firmware v3.21, on April the 1st, 2010 Either do not update, or hope George Hotz releases the custom firmware with the once advertised OtherOS feature restored, ...

Linux is not allowed to access the hardware directly, all I/O is passed to an hypervisor running on a SPU. Particularly no access to the NVidia RSX is possible, yet - limitting Linux and the applications to slowly blend pixels to an unaccelerated frame-buffer.

The "just" 256 MB system RAM are not exactly state of the art for an developer machine. On the other hand for an normal end-user workstations with just a browser, mail client, office application and video player it might be sufficient, though. With latest kernels most of the 256 MB graphic memory can be configured as super-fast swap space.

Some older PS3 firmware versions contained a bug, allowing to gain partial access to the RSX gfx chip, and thus 2D and Video hardware accelleration via the xf86-video-ps3 X.org video driver. This "security leak", however, was later fixed by Sony in newer firmware revisions.

Update: In latest years it also became possible to use certain vulnerabilities to run Linux as GameOS with full access rights to all the hardware, including the NVidia RSX. You find newer builds of T2 diretly installable in such a Custom FirmWare, e.g. at: https://www.youtube.com/watch?v=xrCppgWK3AQ.

Performance Index

A retail PS3 w/ 256MB RAM:
1:41:52h to build binutils-2.41 w/ gcc-9.3 (-Osmart, no-LTO)
(w/ ps3vram and 48MB zstd compr. zram swap)
8:39m to build bash-5.2-015 w/ gcc-9.3 (-Osmart, no-LTO)

A developer Tool PS3 w/ 512 MB RAM:
1:06:31hh to build binutils-2.41 w/ gcc-13.2 (-Osmart, LTO)
(w/ ps3vram and 128MB zram swap)
9:41m to build bash-5.2-015 w/ gcc-13.2 (-Osmart, LTO)

/proc/cpuinfo

processor : 0
cpu : Cell Broadband Engine, altivec supported
clock : 3192.000000MHz
revision : 5.1 (pvr 0070 0501)

processor : 1
cpu : Cell Broadband Engine, altivec supported
clock : 3192.000000MHz
revision : 5.1 (pvr 0070 0501)

timebase : 79800000
machine : PS3PF

lspci

00:01.0 USB Controller: Toshiba America Unknown device 01b6 (rev 01)
00:01.1 USB Controller: Toshiba America Unknown device 01b5 (rev 01)
00:02.0 USB Controller: Toshiba America Unknown device 01b6 (rev 01)
00:02.1 USB Controller: Toshiba America Unknown device 01b5 (rev 01)

Newer SKUs like the Slim or DECR-1400 also have a newer CBE

processor : 0
cpu : Cell Broadband Engine, altivec supported
clock : 3192.000000MHz
revision : 16.0 (pvr 0070 1000)

processor : 1
cpu : Cell Broadband Engine, altivec supported
clock : 3192.000000MHz
revision : 16.0 (pvr 0070 1000)

timebase : 79800000
platform : PS3
model : SonyPS3

The developer Tool DECR-1000 and DECR-1400 also have twice the precious RAM.