Could Graphics Drivers be Included on the Card? 142
starseeker asks: "With all of the difficulties (both technical and legal) caused by binary graphics card drivers (e.g. the nVidia drivers) the question naturally arises - why is it necessary to have all of this logic at the 'kernel' level in the first place? Why couldn't the necessary logic be abstracted on-board the nVidia/ATI/etc card and just have the OS use one generic driver to access the functionality in all of them? Use OpenGL or similar standards on the software side, and have the card handle things on-board from that point on down? That way, hardware manufacturers wouldn't have to listen to all the flack about binary drivers, and Linux users don't have to suffer with second-rate graphics and/or deal with binary drivers in an open (and dynamic) environment. Are there technical reasons this isn't practical? Or is it simply that it's easier/cheaper to do that type of work in the OS?" There are several issues that currently make such a thing impractical, but the large hurdle at this point is that there doesn't seem to be any interest (neither commercially or technically) to make such a leap.
Make it flashable? (Score:1, Interesting)
As a bonus, there wouldn't be any worries about ever updating drivers more than once. Reinstalling your OS? You already have the latest drivers!
Could make rolling back a bitch, though, but that should be handleable as well. Heck, stick a jumper on there that clears the memory and re
Re:Make it flashable? (Score:5, Informative)
No, it is a terrible idea. The right way is to release the specs to the damn hardware. CPU manufacturers do it, why not video cards ?
We already have driver built in the video card. It is called VIDEO BIOS. The latest VESA specification allows for fancy things like requesting memory map of the framebuffer so one can have direct video access. It is easy to envision making a specs for 3d acceleration as well. It could even be in pseudocode - one could compile the driver to whatever hardware is using it.
So why this does not work ? Because, aside from graphics companies making shitty BIOS to begin with, companies like Dell intentionally cut down BIOS to safe a couple of dollars on flash RAM. Ask yourself - when was the last time you saw a widescreen laptop which video BIOS knew how to setup the widescreen mode ? And this is one of the most basic things.
Good and thorough description of the hardware is a requirement for doing interesting things with it.
Apple hardware does some of this (Score:2)
Re:Make it flashable? (Score:2)
Two months ago, when I last rebooted my Powerbook :-)
Re:Make it flashable? (Score:2, Funny)
By the time it makes it past the lawyers (are jumpers patented?), engineering (DIP switches are cooler, man), QA (Oh, you wanted them soldered on, too?), and marketing (Exclusive New Sleeve-and-Pin Programming Control Interface!) - the card will cost $100 more.
It seems to me that all the hardware (Score:3, Funny)
Re:It seems to me that all the hardware (Score:2)
Re: (Score:3, Interesting)
Re:It seems to me that all the hardware (Score:2)
Different hardware has different capiblities (Score:1)
Re:Different hardware has different capiblities (Score:1)
Re:Different hardware has different capiblities (Score:2)
Re:Different hardware has different capiblities (Score:2)
MS won't play ball... (Score:3, Insightful)
shouldn't even need a card (Score:3, Insightful)
Windows still doesn't speak X11 or even VNC.
Re:shouldn't even need a card (Score:2, Insightful)
Could have sworn my bullshit alarm just went off.
Re:shouldn't even need a card (Score:2)
sure (Score:2)
Neither VNC nor X11 is like that.
X11 is good enough to play 3D games over gigabit. You just send the OpenGL. Video works fine too -- you don't send it raw, and certainly not at your monitor's refresh rate.
Re:sure (Score:2)
Dear my, fuck no! (Score:2)
You couldn't be more wrong about your ranking of X11 and RDP.
X11 is pretty decent, especially if you use the modern extensions.
(the Xfixes, Damage, and font-related stuff)
RDP is a joke. The sickest thing is that we tunnel it over
TCP/IP. RDP already includes those layers of the network
stack. To anyone with a clue about the behavior of network
protocol congestion control and similar issues, this is an
obviously bad thing to do. RDP has all sorts of
Re:shouldn't even need a card (Score:2)
Re:shouldn't even need a card (Score:2)
Re:shouldn't even need a card (Score:2)
http://dmx.sourceforge.net/ [sourceforge.net]
of course, at some point, you'll still have a video card, but..
Re:MS won't play ball... (Score:3, Insightful)
Like hell it would.
USB keychain drives are a pefect example. On Win98, you need driver software, but on any recent Mac, Windows, or Linux, just plug it in and it works. I have, in fact, NEVER had a bit of USB Mass Storage not work out of the box on Linux. True, it's not as standardized as we like -- uhci vs ohci, for instance -- but it's getting better, there's only one ehci.
No, all this needs is a working implementa
Re:MS won't play ball... (Score:3, Insightful)
Like hell it would.
USB keychain drives are a pefect example.
How do you explain the USB situation, otherwise?
Apologies for taking the sports metaphor further, but with USB MS *dropped* the ball. Apple made USB standard on their machines so device manufacturers were making USB devices that worked on Macs. MS had to play catch up. Now that there are tons of devices on the market, it's too late to screw with the stand
Re:MS won't play ball... (Score:3, Informative)
Re:MS won't play ball... (Score:2)
Re:MS won't play ball... (Score:2)
Patch vs Flash (Score:4, Interesting)
Re:Patch vs Flash (Score:1)
My motherboard has Dual Bios [tomshardware.co.uk] on it, one copy is the original BIOS, the other is the custom one.
If the custom one breaks or fails, the primary original switches on.
problem solved.
According to my search, there are already graphics cards which have this capability as well, here is an article about a geforce 6600 [guru3d.com] with it.
Re:Patch vs Flash (Score:2)
Flash isn't always bad. (Score:2)
Trash an area on flash due to power failure, bad firmware image, or dried dog snot bridging the contacts of the memory chip?
No problem. The bootloader, in a protected area of flash, sees that the checksum is bad and just Does The Right Thing by loading good data from a (also protected) portion of the flash, and the device boots up to a state which may not be latest-and-greatest, or even fully functi
Re:Patch vs Flash (Score:2)
Driver patches happen. If the driver is in hardware, you'll have to flash it, which has somewhat more severe consequences in the event of an error.
It doesn't NEED to be a problem, it's just that stupid designs tend to make it one. In the case of a PC hosted device like a graphics card, there's no good reason the card can't be reflashed after an error by logging in from another machine (Even Winderz can use VNC).
Even mainboard BIOS flashing problems SHOULDN'T brick the PC. In many cases, it DOES, but t
Only... (Score:2)
Re:Only... (Score:2)
While creating a new graphics API seems a very unlikely thing to want to do at the moment, you never know what the future will hold thanks to software patents.
And in e
NVidia is partway there (Score:3, Interesting)
Re:NVidia is partway there (Score:2)
Oh Reginald.......... (Score:2)
Re:NVidia is partway there (Score:3, Insightful)
It's called an API, and it's not a new concept. There may be a different term when it's hardware-software as opposed to software-middleware, but there it is.
You build your hardware always such that the newer ones understand the older instructions, just using supersets. Unfortunately it means every X years you have to start from scratch to get rid of the absurd backwards "if such and such then do this kludge".
But it's a good concept. If published, it allows for open drivers (or whatever), as long as you
Re:NVidia is partway there (Score:2)
Intel's driver installers are a lot like that too. It will detect what chips you have in your system and install the ones you need.
Apple does this with iPod, every updat
Re:NVidia is partway there (Score:2)
Re:NVidia is partway there (Score:2)
Re:NVidia is partway there (Score:2)
VESA F'ING BIOS (Score:4, Insightful)
Tom
Re:VESA F'ING BIOS (Score:2)
What's the upside? (Score:2)
Simple: Hardware is expensive (Score:5, Informative)
Basically, you're asking for the software interface of the hardware to be standardized and abstracted. In a nut shell, hardware is expensive and software is cheap. Anything you can do in software with little or no impact on your performance requirements is something you should not do in hardware. ATI and nVidia have radically different approaches to GPU design. With differing internal structures, the interfaces exposed to drivers is also going to be radically different, but there's no reason not to use cheap CPU cycles to create the abstraction rather than expensive logic gates in hardware.
Hardware is expensive because the cost of a chip goes up roughtly with the fourth power of the logic area.
IMHO, the best solution to the problem of drivers for Linux is simply to not buy hardware that doesn't have open source drivers. Do you think that makes life difficult? The Open Graphics Project [opengraphics.org] has opinions about that.
Re:Simple: Hardware is expensive (Score:2)
Re:Simple: Hardware is expensive (Score:2)
Re:Simple: Hardware is expensive (Score:2)
Re:Simple: Hardware is expensive (Score:2)
Re:Simple: Hardware is expensive (Score:2)
Or you could splurge & spend the $58 and buy the programmer yourself.
Re:Simple: Hardware is expensive (Score:2)
This is exactly what the original poster was explaining... now you are asking for an extra/larger flash chip on the board, possibly with encryption hardware, etc. Even if this only adds $1-2, multiply that by a couple million cards and that's a significant margin.
Drivers are irritating.. (Score:2)
The logic that is being used is the same logic that spawned the winmodem. So that there is some silly peice of junk software that is coded by chimps th
Re:DX10 Change? (Score:2)
As fas as I can tell (My factbase is weak here) the DirectX10 will still need a driver, a WDDM driver but
Maybe (Score:2)
Re:Maybe (Score:2)
Erm... "identical but almost certainly different"?
AFAIK it's nowhere near as bad as you suggest. OpenGL API calls go direct to the driver (on Windows, they're patched though by the sy
Designers: How to allow binary drivers and be safe (Score:2)
Yes indeed Theovon, that's a commercial fact of life, and it's not going to change. Since it's not going to change, kernel designers who want to protect Linux from the problems inherent in closed binary drivers should have structured the driver architecture in a manner that addresses this, but they haven't.
Driver ma
Re:Designers: How to allow binary drivers and be s (Score:2)
From the point of view of the management of these companies, providing Linux drivers is a thing they do on the side to get good PR with open-source devs and on the off chance the OS becomes a significant market in the future. But force them to do extra work or put them at risk of
Spoken like a chip designer.... (Score:2)
The abstraction you describe could just as easily be software in flash on the card as software in RAM on a PC. Your chip design wouldn't have to change at all for this to be a reality...
Re:Simple: Hardware is expensive (Score:2)
I've been watching the Open Graphics project with interest - I hope they succeed. Such a card is exactly what I would want - I don't care about being able to play games at a zillion FPS,
Wasn't that the whole point of PCI? (Score:1, Funny)
Another way to open drivers (Score:2)
There has to be a case there.
Re:Another way to open drivers (Score:2)
Where? If the card manufacturers were in cahoots with the OS manufacturer to restrict availability of their product line to that OS alone, then you might have a case. But reality doesn't bear that out since most of the cards have been available for multiple OSes for some time (albeit with some restrictions, apparently due to technical constraints vs. cost of development).
I think you would find it next to impossible to build a legal case for your argument, although that hasn't st
Re:Another way to open drivers (Score:5, Informative)
ATI Linux Page [ati.com]
nVidia Linux Page [nvidia.com]
IBM Linux Drivers (for a random chipset) [intel.com]
VIA Linux Drivers (for a random chipset) [viaarena.com]
Re:Another way to open drivers (Score:2)
Re:Another way to open drivers (Score:2)
"Another way to open drivers...Is to sue the hardware makers for only releasing drivers for an OS that was an illegal monopoly."
Linux in/was never an illegal monopoly, thus the fact that all these manufacturers provide drivers for Linux nicely disproves the assertion that they "only released drivers for an OS that was an illegal monopoly". The fact that you happen to want BSD drivers is neither here nor there.
API vs. Firmware (Score:2)
The first and most obvious one, is an well-standardized API for using the card.
This isn't new, in fact for 2D stuff, it's ancient news. The standard is VESA VBE (video bios extensions), with it's lesser known cousin VESA VBE-AF (video bios extensions - acceleration functions). The VBE standard itself was legally free. The VBE-AF interface was only available as a commercial specification, with distribution restrictions - but copies of the information d
I've got a different question: (Score:4, Interesting)
Re:I've got a different question: (Score:1)
Re:I've got a different question: (Score:2, Informative)
The CPU does very primitive things. It adds, subtracts, multiplies, divides, loads memory into registers, and stores registers into memory.
The program's interface to the GPU is at a relatively high level. First, the program sets the GPU's render states. The program sets things like which textures to use, is alpha blending enabled or disabled, which shaders to use etc.... Then tells the GPU to draw some triangles. The
Re:I've got a different question: (Score:2)
an "emulator". If they are not, then you have the NULL driver. Identity
transform.
Re:I've got a different question: (Score:2)
Re:I've got a different question: (Score:3, Interesting)
ATI and nVidia don't start with the same instruction sets so they need their own software to convert the high level graphics calls to their own chips.
Re:I've got a different question: (Score:5, Funny)
CPUs have this enormous driver called the operating system.
Re:I've got a different question: (Score:2)
Re:I've got a different question: (Score:2)
A big part of what drivers do is translate from some kind of API into the instructions that are sent to the hardware, and make sure that those instructions are such that the desired result is fou
Re:I've got a different question: (Score:2)
How about an intermediate layer? (Score:1)
The operating systems would only have to deal with a standard interface independent of the hardware.
Re:How about an intermediate layer? (Score:2)
What is your conecpt of "driver" ? (Score:2)
Of course, commercially, DirectX makes more sense, although it would be a problem with ID engines, and some of the people who use these cards for actual 3d work.
CDs are way cheaper than flash memory, also, and they give you an easy way to include the last driver with your card.
Also, the NVidia utilities have to come somewhere, that's added value that they wouldn't w
EFI (Score:2, Informative)
http://en.wikipedia.org/wiki/Extensible_Firmware_
Something related (Score:2)
Next, I suppose the driver should be either in source format, or an intermediate machine language, or (my favorite
Other way around... (Score:2)
The real problem with video drivers is software patents. The graphics vendors have to be paranoiacally secretive about how their cards work, because they're all violating thousands of patents that should never have been granted in the first place. If you want to fix this situation, call your congresscritter.
Re:Other way around... (Score:2)
Re:Other way around... (Score:2)
Re:Other way around... (Score:2)
First, Companies are not spending enought time getting the hardware correct the first time around. I remember older hardware had few driver "issues". When you couldn't "just download" stuff, manufactures had to try a lot harder to make sure when you opened that box it was RIGHT or you were sending the whole thing back for refund. Now new hardware (CPU, motherboard, video, the whole lot) often requires downloading patches before the product is ON retail shelv
TI / Apple had this (Score:3, Informative)
This, of course, made changing features a bitch, since you couldn't tell the software that you had eight hardware shaders instead of one, because there wasn't space in the API data structure for that...
Better idea: Generic graphics interface (Score:2)
This would probably entail a performance penalty at first, but if the engineering resources that are currently being dedicated to creating drivers for each and every little card were re-applied, it could come out ahead in short order.
The only thing keeping this from happening i
Re:Better idea: Generic graphics interface (Score:2)
A) move all display-related functions to the GPU (including that eMail client or browser)
and
B) Do it in OS-agnostic, hardware-agnostic way.
My eMail client and browser know next to nothing about the mechanics of talking to a printer compared to, say Adobe Illustrator or QuarkXpress. But the same language serves to send both simply formatted text and arbitrarily formatted graphics t
IBM did it (Score:2)
Two Words: (Score:2)
Actually, it's perceived commercial advantage of the horrible American video card makers (ATI and NVidia) that is the problem. They seem to think that by being as different as they can to the competition then hiding behind NDAs and funky specs that they will have some advantage. In reality there's no real advantage if the hardware is performing properly. Problem is the drivers contain hack after kludge to work around quirks in the hardware.
The big guys don't want you seeing how shi
Re:Two Words: (Score:2)
Acorn's RISC OS machines did this too (Score:3, Informative)
Main catch is that it made the card bigger/more expensive - important especially when you look at some of today's tiny cards. In this age of the internet we're probably better off just working off the unique PCI ID that every card type has. The ideal would just be a little utility that scans the IDs and fetches (or tells you) what you need. MS has done a half-assed job of it with Windows Update, but it definitely could be better.
Yes&No&Why can't I have Openfirmware in my (Score:2)
because that graphic card has to work potentially with a lot of Operating Systems and CPU architectures,
because that card might get plugged into anything from a Power/AIX machine to a SPARC/Solaris with
Intel/Microcrap in between. However there is a completely platform agnostic way to get a video card set
up so and that is OpenFirmware (Openbootprom) IEEE 12something. Openfirmware cards (SCSI, FC adapters
re
All who aren't driver/kernel developers shut up (Score:2, Insightful)
Well done, you've just invented OpenFirmware (Score:2)
The basic premise is that the interface (eg. video card) contains a chip holding system-independet drivers.
It's been running on most commercial Unix systems with proprietary hardware for years.
Re:Not possible for technical reasons (Score:2)
And it doesn't have a massively paralleled programmable pixel engine? What is in every accelerated video card? Some sort of CPU! DUH!
Re:How would it stay updated? (Score:2)
Re:Probably the same reason.... (Score:2)