AMD's New Gambit: Open Source Video Drivers
by Ryan Smith on September 25, 2007 12:00 AM EST- Posted in
- GPUs
Closing Thoughts
With the negatives of AMD's open source efforts out of the way, let's talk about the positives.
First and foremost, once these drivers are in a usable state, this will be a massive boon to most if not all of the Linux distributions. Virtually all of the major distributions do not include binary drivers in to their distributions due to legal and philosophical reasons. With an open source driver available for ATI's video cards these distributions will be able to include this driver out of the box, making Linux installations easier for users who previously would have needed to go about more convoluted methods of installing the binary drivers. Make no mistake, binary drivers while workable are not easy to use under Linux, and having a major open source driver like this will further the goal of many Linux distributions of making themselves easier to install and maintain.
Simultaneously, an open source driver alleviates the problems posed by the unstable driver API. Currently any changes to the driver API that break the binary drivers supplied by AMD and NVIDIA require that those drivers be fixed by the appropriate party and only the appropriate party, which can take more time than some people want to wait or may never come if it's for depreciated hardware. With an open source driver, the open source community (the same one that made the API changes that broke the driver in the first place) can quickly make the changes in the driver to work with the new API. Admittedly, the Linux driver API does not change so frequently that this is a major issue, but never the less it does occur enough that it's a nuisance.
There are also some lesser benefits in terms of security and stability. One particular set of concerns within the open source community in dealing with binary drivers is that the operating system is giving the black box full access to the system, hoping and praying that it's doing what it's supposed to do and nothing else. Bad drivers causing system crashes have long been a gripe among the Windows community, and the open source community likes it even less when an open source driver would allow them to fix the offending bug. This further extends to security concerns, as drivers can introduce weaknesses that can be exploited, something that has happened with NVIDIA's Linux drivers in 2006, and ATI's Windows Vista drivers in 2007. Open source drivers may or may not be inherently more secure depending on whose rhetoric you believe, but open source drivers can be patched a great deal sooner, reducing the risk earlier.
Finally, there is the feedback effect that this could have on hardware manufacturers. We of course are hinting towards NVIDIA, whom has faced very little of a threat from ATI due to their superior drivers. If the open source AMD video driver does end up evolving in to a driver capable of delivering Windows-like performance, AMD will have little trouble sweeping the Linux graphics market with the combination of powerful hardware and drivers that are both technically and philosophically superior. This of course would be bad for NVIDIA, who would need to consider their own full feature open source driver to keep the balance of power with AMD on Linux. This would bring all of the previously mentioned benefits to Linux users with NVIDIA cards.
With that said however, it's important not to lose sight of the present. What AMD has begun is a remarkable plan to bring in to the world open source drivers for their entire range of video cards, but it's something that we believe is a significant risk for them. We are not convinced that this is something AMD completely wants to do as a result, and remain skeptical about how far this will go. We hope that our skepticism is misplaced, but it's too soon to tell.
The only immediate unfortunate result of AMD's open source efforts here are that they will not be directly contributing code from their current drivers for the open source drivers. We understand the reasons for this, but it also means that the open source driver is starting from scratch and has a lot of ground to cover. A good video card driver will take years to develop and while we're talking about what can be, by the time this driver is finished and we can test our predictions and its effects the R600 won't even be AMD's leading GPU series.
This is the start of a long process, not the end of it, but never the less we can't wait to see how things turn out.
34 Comments
View All Comments
gouyou - Thursday, September 27, 2007 - link
I think you have to take a look at the move in a bigger context. Offloading processing function to GPUs and integrating CPU and GPU: not long ago ATI/AMD released ACML -a library to offload some mathematical computation to GPU- and AMD is talking for quite some times about fusion -putting a GPU core in the same package as CPU cores-.Having linux, thanks to open specifications, be able to use seamlessly both CPUs and GPUs would be great for a numer of people in the HPC community. A processor with both CPU and GPU cores seamlessly integrated with Linux might target a place in some of the top 500 computers in the worlds ...
... Just thoughts ...
floffe - Wednesday, September 26, 2007 - link
I just want to point out that AMD has been good with releasing specs so that their CPUs can be fully supported by open source (for example when they launched amd64, Linux was ported before the hardware was actually available, but also several of the BSDs ran on x86-64 before a Windows port was released). ATi, on the other hand, has treated Linux as second-hand users, which is where they got the reputation for shoddy drivers. The fact that ATi executives now answer to AMD ones could have been a major factor in this change.stevekgoodwin - Wednesday, September 26, 2007 - link
There's nothing limiting drivers written to just Linux. Any operating system could be targetted. It should be possible to create cross-platform drivers from the same source code (assuming the low-level stuff can be abstracted away successfully).Laptop video drivers tend to be updated rarely to never; it'd be fascinating if this led to better Windows drivers for some users.
OSS could result in new features that aren't commercially worthwhile (although given the amount of junk in ATI/nvidia drivers...), or control panels that are easy to use, or just plain better drivers.
Maybe innovative features could result from people who experiment with the hardware -- anyone ever see a BBC micro running 2 screen modes at once (2/3 hi-res/low colour, 1/3 low-res/hi-colour)? Better OpenGL drivers. Drivers for out-dated OSes.
This is potentially of interest to everyone. Be interesting to see how it pans out.
stmok - Wednesday, September 26, 2007 - link
Have you even written drivers for Linux? What about Windows? You do realise they're completely different driver models, don't you? (This is especially the case with Vista when MS changed the spec, which had both AMD and Nvidia scrambling to bring out something stable).You can't just write a driver for all OSs willy-nilly. It has to be seriously well-thought out in design. No one would bother given the fact that there is not a need or demand for such an approach.
Then again, why would the Linux driver community help Windows? That's what the AMD/ATI driver team is for!
The OSS driver isn't some super fancy thing. Its just gonna provide the bare essentials. If you use the existing "radeon" xorg driver with older Radeon cards, don't expect miracles. It won't be fast as the proprietary one, but it will have bugs resolved quickly. As well, it will NOT have all the goodies of the binary one from AMD/ATI.
All AMD has done is provide specs and some resources to establish a foothold for their future project. ie: Fusion.
rebturtle - Tuesday, September 25, 2007 - link
How nice would it be to have a driver that allowed 1 card for general graphics, and a second for number-crunching/ scientific data calculation / game physics from that older GPU you have left over from your last upgrade? Imagine crunching BOINC units in seconds.....BurnItDwn - Tuesday, September 25, 2007 - link
I saw something about this posted to Dailytech a while before this. This is VERY good news. While the % of users who run *nix on their desktop machines is very small, many of us can not stand having to use a BLOB for a driver. This should make for much less buggy drivers and much better functionality within X and possibly even allow for some better gaming support too. (But I'm not about to put any money on the last part.)Anyhow, I think this move by AMD showing that they support the Open Source ideology and that they will start to cater a bit more to Open Source users will gain them a lot more support then the potential IP losses to their rival Nvidia. I think this will give them a little boost to sales when they really need it. I had been planning on replacing my old 939 x2 4000+ with an Intel Q6600, but because AMD is doing so much to cooperate and support the Open Source sector, I am going to give them a chance and wait for them to release something that can compete with the Q6600. I also was thinking of replacing my X1800xt with an Nvidia 8800GTX once the prices come down a bit, but perhaps the X2900XT will interest me instead.
PS all the comments about "windows can do it better" or "command lines are so 80s" are false. Windows can sometimes do some things better, but generally, OpenBSD or Linux can do most things using less resources and with less frequent problems. Also, there are things that are much better left to a GUI, but there are also things that are much quicker and more efficient when left to a CLI. Just because something has a learning curve doesn't mean it's bad.
smitty3268 - Tuesday, September 25, 2007 - link
yyrkoon - Tuesday, September 25, 2007 - link
that a lot of people are missing a lot of points here.First, not only can AMD use this as a recruiting tool for potential new driver devlopers(which really, who is going to prove they are qualitfied enough by proving that they can turn on a video card, and render a minor 2d polygon?), they can also use this as a free way to have others improve their drivers for them.
Second, this can be viewed as AMD trying to improve their relations with the OSS movement, getting their foot in the door so to speak, in anticipation that perhaps Win Vista may drive more users to the Linux side of the camp. Sharing minor details such as turning on a video card, drawing a 2d polygon, and whatever else that does not hurt them technology wise cannot really hurt them, because the Linux/BSD communties are already doing this right now. SO, this greatly improves their appearance with the *NIX people, perhaps raising their market share slightly in anticipation that their CPUs of current may actualy loose them money.
Thirdly, it should not be all that hard for a seasoned/good developer with knowledge of how drivers work to reverse engineer even their most current driver technology. It would be the implmentation without permission of said features that would be the problem. So, this is not a magic bullet that will immedaitely solve all ATI/AMD driver problem with *NIX, at least, not right away.
All in all, I think this could be a step in the right dirrection, and if AMD is sucsessful in this endevor, nVidia will surely have to follow suite. That being said, AMD still holds claim to being the first to do so. IF AMD does release much more information on their video cards, it could even work out as being a win/win situation for everyone. At the same time, this *can* open doors of all sorts in the realm of system exploitation, but there is really nothing a malicious developer cannot already do with enough knowledge / time on his hands to begin with . . .
I would be very interrested to see what the OSS community could come up along the lines of unified shader technology capable drivers for *NIX, *if* AMD ever made this data public. Although I am not sure who actualy holds patents on this information/technology so, I am not sure this is even legally possible. It would be great if other vendors, including those with various other hardware types would eventually do the same thing as driver support is one of the few things that has kept a stranglehold on Linux/BSD for a while now.
With this hurdle finally passed(eventually), perhaps this would make Microsoft more compeditive in the OS field, and possibly dump things like DRM, and the other stupid tactics we who use Windows because it is currently more solid have to put up with.
HiThere - Tuesday, September 25, 2007 - link
This article is full of detail, but lacks polish...it reads like someone who is intentionally wordy, in the hopes that the audience mistakes verbiage for intellect.Example: "As the computer hardware industry has matured, it has established itself in to a very regular and predictable pattern."
How about: "The maturing computer hardware industry has established a predictable pattern."
Or: "The maturing hardware industry has established a pattern of..."
You could trim a good portion of the article and not loose any useful content.
Araemo - Tuesday, September 25, 2007 - link
Who knows, maybe they're paid by word count? :P