Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?

From: Timothy Miller
Date: Mon Oct 25 2004 - 10:47:20 EST




Helge Hafting wrote:
On Fri, Oct 22, 2004 at 06:07:37PM -0400, Timothy Miller wrote:


Geert Uytterhoeven wrote:

On Wed, 20 Oct 2004, Jon Smirl wrote:


If you implement VGA you will be able to boot and work in any x86
system without writing any code other than the BIOS.


Ugh... I prefer _not_ to have VGA compatibility.

Well, some people agree with you, but if I can squeeze it small enough, it's worth having because it maximized compatibility. It's vital for x86 consoles.


I can't see how it is "vital", or even makes a difference at all.
Other than upping the price a bit. The pc doesn't need VGA compatibility
to boot - because you supply a video bios. The mainboard bios
uses the video bios. (There have been pc's with ibm-incompatible
displays before)
Linux d(and other open os'es) doesnï't need VGA at all, because you supply docs. You probably won't even have to write the driver
yourself.
Windows doesn't need VGA - if you supply a windows driver. That
shouldnï't be hard to do.


We have a number of cards which do not support VGA, and a few years ago, I experimented with the idea of writing a VGA BIOS which emulated the VGA text screen in software.

What I discovered was that absolutely everything, including the DOS shell, expects there to be REAL VGA (or CGA or whatever) hardware there, so hooking int 10 just did not do the job... it practically never got called. What I ended up doing was hooking the timer interrupt and comparing the text screen against a shadow copy. That worked very well for most DOS applications... except for those which tried to do anything in protected mode. The instant an OS switched to protected mode, the interrupt handler got blown away and the display froze.

Then we though we'd put a proper driver into the OS, but the problem is that in Windows and Solaris, the console driver doesn't kick in until WAY late in the boot process, so you end up with a useless console for THE MAJORITY of the boot process.

For Windows, there is a requirement for 640x480x4 and some 320x480x?? mode to be supported by the hardware using the standard VGA IO space registers. That is, IF you want a console. Yes, you can boot without VGA, but your screen is blank until the driver kicks in, so if there's a PROBLEM, you're hosed.

VGA is so "expected" that pretty much everything just assumes it's there and bangs on the hardware directly.

The only thing the VGA BIOS does on most modern cards is configure the non-VGA bits of the card to function properly and get it into text mode. After that, it's all VGA until an OS loads a graphics driver.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/