While I was away from school at my grandmother's I got this really weird
idea for some video stuff in plex86 (running on a LINUX host.....). What if
we were to do what XFree86 fbdev support does, and just write the guest to
/dev/fb0 (with some simple tweaking....)? Granted, this requires one to
compile their kernel with fbcon & fbvga support--which isn't fool-proof yet,
but I thought that it would have to be faster than using X as an output
handler. Also, if we did this then it would mean that we wouldn't need X
for this one mode of operation. There is one caveat that I have thought of
thus far (and it could be interesting to handle....): if we handle video
this way, then on most LINUX x86 boxes we would be limited to the VESA
modes--and we would need to handle mouse/GUI/keyboard stuff more ourselves
(like mapping the floppy/mouse status-bar, but from the sound of it, this is
happening anyway).
In any case, I was thinking that if we did this, then we could emulate
whatever level of video-handler-device complexity that we felt up to, and
even change it over time without worrying about the raw hardware much.
Also, I am pretty sure that this type of approach should be portable to
other OS's without huge amounts of extra work. If we ever get really nuts
we could just have the guest OS write to a virtual framebuffer type device,
and then just fool it into thinking that it is either using a raw
framebuffer or a very simple video card(VESA-VBE?)--mapping the virtual
framebuffer data into whatever we please (a plex86-VNC implementation should
even be manageable this way if others are still interested).
Just percolating my brain......
Drew Northup, N1XIM