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.
The PS3 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".
Any thoughts?
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?
http://moss.csc.ncsu.edu/~mueller/cluste...rview.html