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/