I'm looking into extracting the xbox's GPU driver and porting it to xbox linux. I haven't found anyone else expressing an interest in doing this, but I have some questions for anyone who is knowledgeable. Also, please tell me if you have read about anyone doing this or something similar.
First, how legal is this? Will MS or nvidia try to sue the pants off of me? (This will be a non-profit project.)
Second, how should I go about doing this? So far the best resrouce i've found is Caustik's CXBX emulator project (http://www.caustik.com/cxbx/progress.htm) He writes that the gpu driver is a statically linked library packaged with every game binary. His emulator finds the library's address in the code segment so it can intercept calls to its functions. He has written source to do this which is available here:http://cvs.sourceforge.net/viewcvs.py/cxbx...1.1&view=markup
Theoretically, could I use the same method to extract the library binary code so I could port it to a linux shared library?
Here's a variety of other technical questions:
Have there been similar projects in the past I could use as a reference, perhaps using different but similar binary executable file formats?
The source appears to only identify the Direct3D 8 library. I assume this means that games using OpenGL or later versions of Direct3D wouldn't work. Is this true? What other limitations or compatability issues might the driver have? I know the xbox can't handle high resolutions, for example. Would the Direct3D API be at all changed or extended to make use of the xbox's hardware? (like the unified memory, for example.)
Any ideas on what other parts of the .xbe would I need to extract? Like the kernel image thunk table or the Thread Local Storage structure? (The .XBE file format can be found below)http://sourceforge.net/docman/display_doc....&group_id=56780