have you considered spending the time instead in modifying linux kernel for the task?
With MS kernel you have very poor support for hardware. Basically you need to reimplement everything from scratch and have to play by MS rules. In theory it is possible to modify linux kernel to boot quick and silently and allow also fast shutdown/reboot via some key combo. It can also discover originating xbe with kernel and mount it just like d:\.
Then the big plus is working usb, audio, 2d video, networking and bigger developer base and easier programming with existing standards. If memory overhead is a problem, look at uclibc and busybox for basic runtime environment. With SDL over directfb this is very similar to what openxdk is trying to be.
You raise some good points, however, the intent of OpenXDK is to be able to write XBE files that can be easily and quickly launched. While it would be awesome to have support for those things you mention, I am wary of the time it would take to boot a Linux kernel each time you launch an application.
Don't get me wrong... I think it is a excellent idea and I am sure that someone will actually end up building something like it - unfortunately, I personally don't have the Linux kernel skills to do it.
I see. Well I have a very raw proof of concept with 2.4 kernel here (just empty black display with ftp running and xbe directory mounted), but unfortunately I don't have time for it. The speed is no problem. The most of the time takes detecting the devices (usb, network) and this will take time under any OS or XDK. An it is really not that slow. Splash screen can solve this and noone will notice. Many homebrew apps do not start instantly too.
It is a pity that people who actually have time (and you will neeed plenty of time just to have any of network/video/sound driver working) are reinventing the wheel instead of improving existing solutions.
But of course it is your time to spend. No doubt you will have a lot of fun with it. And actually you may finish with something a bit slimmer, faster and better (after few years :-)
I believe you will just end ripping those drivers from cromwell or linux kernel and face the same problems they are facing now (and need help). As result less people will actually work on improving the situation with hardware support and also the developer comunity will be more fragmented (MS XDK, linux, OpenXDK) so the probability of having free user-friendly apps like media player, games, etc. will be lower.
Also it may be actually faster to learn linux skills than writing everything from scratch. And the knowledge you learn won't be useless in future too.
Well, enough. Do not take me wrong too. It is no sin to work on OpenXDK at all :-) Going the linux way with openxdk is not easy too and may indeed have some shortcomings after all.
The important thing for me is one day to be able to compile the important homebrew programs (like XBMC) legally. What you're describing sounds more like the linux live project, which was successfully, yet doesn't seen to be used much.
Not exactly. I am describing system that can live in a xbe file, has other data files on fatx drive and looks and feels the same like any homebrew app. This is the major difference. Of course the same application could run unmodified from same data files mounted from pure linux installation too as an additional plus.
True I did not look at XBMC sources very deeply but I bet it would not be that easy to convert it to SDL code or even use gcc as a compiler anyway. The same with other homebrew apps. In fact very few apps could be just recompiled from the same sources. It is like porting windows apps from MS visual studio to compile with mingw or cygwin. And if this OpenXDK provides some MS XDK compatibility layer over SDL, it could also do the same thing with SDL running with linux kernel.
One problem/question I see with this system is writing a dashboard program with this. It would be hard to execute xbe written with MS XDK from linux kernel. It is not impossible, but hard. Either MS kernel has to be left in memory and rentered on linux kernel exit or it has to be loaded again from disk (PBL) or via reset.
Interesting would be also to emulate the kernel from linux, it does not offer much functionality anyway.