Here's a few notes and clarifications in regards to video and LinuxBIOS;
is anyone seriously interested in getting support for other video cards?
I have to warn everyone that I haven't worked on any of this for several
months, so I'm a bit rusty.
LinuxBIOS has support for the SiS video chip, Matrox Millenium PCI cards,
and the Cirrus GD5480 as found in the Intel L400GX+. Other Cirrus chips
and Matrox chips will likely be easy to support. ATI and Riva cards look
similarly "easy" (see below). Although it may seem odd not to have video
"immediately", this is no different than with the normal BIOS. Serial
debug is an added bonus.
Other platforms do strange things for support: The Alpha uses an x86
emulator and the Macintosh (PPC) uses a seperate BIOS, I believe. We
could certainly scan for the VGA extension BIOS, but we'd have to switch
back to 16-bit mode or do it before we go to 32 bit mode. We can provide
whatever strings are required to be recognized as a real BIOS. However,
I'd suggest against this (I looked into it extensively last spring and it
would just be a hack).
As for what cards are easy to support, the trickiest part of the video
card setup I believe is the memory init because the timings could be just
about anything. However, sometimes we are spared by a chip that only
accepts a limited assortment of RAM, know how to detect the settings, or
best of all knows what to do by default. To get the GD5480 up, all I had
to do was twiddle a register called something like "RAM Init Reg"; the
framebuffer driver took it from there. I'd bet that if I twiddled the
register to go into text mode we wouldn't even need a framebuffer! The
Matrox worked right out of the box -- it automatically turns RAM on (why
other cards don't do likewise I don't know). Furthermore, the Matrox
drivers are good. However, not all Matrox cards seem to work as well.
I'd wager that the ATI and Riva cards have similar "Turn RAM On" registers
that are hidden in their documentation, and although these bits may be
hard to find once they are found card support will be trivial. I'd
further bet that the Riva chips will have identical init sequences (they
all have a unified driver, so Riva seems to be making an effort at
uniformity in order to cut driver development expenses).
If this is useful and anyone wants more info or to work on a video
chipset, especially the ATI chips that come with most servers these days,
feel free to mail me. Video support would definitely make this project
more palatable to the novice.
- James