I saw some questions about trying to compile XBMC, et al, so thought I would post a quick update on what you can and can't do with OpenXDK.
- OpenXDK does not (and probably never will have) have the same API as the official XDK. The MS XDK is heavily based on DirectX, which I do not have the source code for, so I have to use something else.
- SDL (http://www.libsdl.org) is what I have chosen to base OpenXDK multimedia capabilities on. It has video, audio, joystick, events, threads, file, networking support as part of its API (note that only video, joystick and events have been implemented so far in OpenXDK, but that will change over time)
- I have only tested using Cygwin GCC on Windows 2000. I have *not* tested on Linux. However, having said that, I don't believe that it will be a huge step to move to being able to compile on Linux.
- The OpenXDK compilation process produces i386 Portable Executable (PE) files. These are Win32 applications that are post-processed by a utility called CXBE to convert to an XBE. To compile under Linux, you will need a GCC cross-compiler that produces i386 PE executables (not ELF). You will then need to run a Linux version of Caustik's CXBE to convert to an XBE (I have already received an email from someone who says they have ported CXBE to compile/run under Linux)
- OpenXDK does not currently have audio, networking or usb support (the first two are my number 1 priority)
- I am currently in the middle of integrating code that will allow OpenXDK to launch other XBE files. This functionality combined with the existing SDL capabilities should be enough to write an open dashboard.
- Lastly, please bear in mind that OpenXDK is a work in progress. It is missing some functionality, but it also has a bunch of good features that mean it is getting closer to being suitable for real XBOX development.
To read about some of the existing functionality, have a quick look at
http://www.openxdk.orgAnyway, I hope that helps clear up some of the confusion.
Edwardaux