"Ronald G. Minnich" wrote:
the thing is, as long as you depend on vga bios support, you're never going to be openbios. One reason is that graphics are increasingly a chip on the motherboard, with the vga bios in the motherboard nvram. There isn't room for linux and that vga bios in the nvram. Second is, until you get all the secrets out, we're locked in to braindead bios'es.
I agree with you! :)
So we'll figure it out :-)
VGA is the standard, that is why it is popular. Linux text mode console works because VGA works on most PCs. Executing video BIOS is an absolute requirement to supporting VGA in a generic fashion.
WARNING: You are opening a huge can of worms if you ditch VGA and video BIOS. I think it is a good idea, but it is difficult to implement. I know, I've written graphics drivers.
If you do NOT want to support VGA in a generic fashion, then you MUST include specific support for each graphics chipset your users may have. Those are the only two options.
Some video cards include Open Firmware ROMs. This is the platform-independent way of initializing the video card. Open Firmware ROM code is somewhat like forth, from what I've heard.
For video cards without Open Firmware support, you need to get the video card datasheet and figure out how to initialize the card. You must do this for each model of each card. Sometimes initializing to text mode is easy, sometimes not.
This task is further complicated by the fact that _many_ video cards invest a lot of tech in their video BIOS's. BIOS stores critical undocumented RAM timing information and similar board details which differ from board to board, but not chip to chip. Usually you can get away with 100% conservative video settings, but this is not failsafe.
Once you have code to initialize popular video cards to a sane state, you can start using linuxbios on different computers...
As i said, ditching VGA and video BIOS is a very good thing. But it is also difficult to get right, and requires lots of additional code over the simply-support-VGA-the-old-way solution.
Choose well, grasshopper. :)