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)