Now I know that this discussion belongs on the future (and not even in the near future) but please bear with me.
Background: For those who do not know this, the Sony PlayStation 3 (PS3
) game-console does support Linux, but the PS3 only supports running Linux under a 'sandbox' enviroment controller by a hypervisor (which makes the sandbox function like a virtual machine), and Sony has limited the hardware access in this sandbox, in perticular it has completly removed 3D hardware acceleration support and low-level access for the GPU, restricting it to 2D graphics only
, which messes things up for any XBMC
porting atempts. There might however be a workaround...
I have started a new article called "Hardware Accelerated Video Decoding
" in our WIKI, this article so far brings up a few possibilities on offload some portions of the video decoding process to the GPU. While researching this topic I stumbled onto compiler and runtime implementation called BrookGPU
which uses GPGPU Technology
to enable general purpose computations on a GPU. The interesting thing about BrookGPU in regards to the PS3
it that it can also simulate a virtual graphics card by itself. At the same time I read that the PS3 allows for developers to use Cg (C for graphics) programming-language
, (and Cg
is another method of GPGPU
An alternative to BrookGPU is Lib Sh
. Sh has been around for longer than BrookGPU but as of August 2006, the Sh library is no longer maintained (as the developers moved on to the RapidMind Development Platform
). My guess it that Sh is probebely a simpler library to work with for developers but BrookGPU is more powerfull and more flexible.
also supports OpenMAX
, however I am not sure if that is supported under the 'sandbox' enviroment that Linux is allowed to run in. Would be great if it is as OpenMAX is a open standard API "that provides abstractions for routines especially useful for computer graphics, video, and sound
". "The APIs OpenMAX provides allows faster porting of higher-level applications, such as media players, between different hardware platforms
PS! An alternative to all of the above is to forget about the GPU hardware completly and run a OpenGL emulator on one (or two in paralell) of the PS3
's SPUs, (a SPU is one of the 'cells' or 'cores' in the PPC-based Cell Processor
that the PS3
have). After all the PS3
does have 6 of its 7 SPUs available even in the 'sandbox' enviroment that Linux runs under, so if we can have the emulator running alone on a dedicated SPU it might be enough as 3D hardware acceleration for XBMC
GUI engine and rendering? ...I understand that Mesa
includes a OpenGL-emulator?