Richard Cooper wrote:
So what have we got here? We don't seem to actually have OGD1 cards. We don't seem to have a clear understanding of what we're even going to do. We seem to be assuming that graphics in Linux suck because of lack of hardware vendor support, and that if we simply create our own video card, then we'll have support and everything will magically become better. So we're planning ahead, and asking for people to write the code now and then we'll get around to creating the actual video card when we have time. Basically, I guess we're looking to do as much work as possible before figuring out that are base assumptions were wrong. The problem isn't lack of vendor support, the problem is that everyone on the open-source side of things is to stupid to see what they're doing wrong. Linux graphics could be fixed right now, without a new video card, but no one cares to do it.

Now I realize that what I'm saying isn't what anyone wants to hear, so rest assured that I'll ignore most people's replies because I've delt with Linux graphics as much as I care to. I've given up. However, I do know what needs to be done, and so I figure the least I can do is explain it so that, assuming everyone here is more interested in improving Linux graphics than they are in the happy idea of creating an open graphics card, they'll at least know what needs to be done. Just don't expect any programming help from me. I've programmed this nonsense for the last eight years and I've had all I can take.

I recently upgraded my video card and AFAIK, I only added three things:

        1.      The XF86 driver for the card

        2.      The Kernel DRM module for the card

        3.      The Kernel console driver for the card

IIUC, #3 is optional if the card can do VGA/VESA.

So, there are two required drivers. Is this more complicated than Windows? You could say that it was twice as complicated as Windows but first we must ask if having the driver split into two parts means that there is more code to write?

OTOH, I think that the writer presumes the existence of the Chicken prior to the egg.

The problem here is driver disease. And what is the cause of this? The cause is Windows -- driver disease is part of the Windows disease.

Windows made it easy to add drivers and then driver disease which was just a small problem with DOS exploded.

Printers are a better example. Before Windows we had three page description languages. HP, Epson, & PostScript and if your software didn't work with one of them, you were dead. What happened? Well, because all you needed to do to get any non-standard piece of hardware to run on Windows, the non-standard hardware market exploded. The worst aspect of this was the Win-Printer.

But the situation was similar with video cards. The ABI for cards under DOS was the IBM standard. This standard was not adequate for games and graphics! So, the standard first became directly writing to the hardware. This was still a standard because the hardware was all the same.

Unfortunately, instead of developing a proper ABI for graphics, MicroSoft gave us the evil driver syndrome. So now, just as with many (or most) printers every graphics card is married to a piece of software that it won't work at all well without.

If there were standards for video cards like there used to be for printers (well the three standards are still available and you are well advised to purchase something that supports one of them) then there wouldn't be any driver issue at all for Linux (or BSD or anything that uses X) because the OS and X would come with all of the drivers needed to support the standard ABIs.

Can we do something about this? Can we develop a standard ABI for our card so that we don't just write yet another driver?

--
JRT
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to