Recently AMD waved its magic wand and managed to produce a few wisps of open sourcery for its Evergreen graphics line.
Unfortunately, for the firm however, members of the open source community were less than thrilled with the first batch, with Linux tech site Phoronix noting “the ATI kernel mode-setting support that we really care about these days is also about done, but it isn't yet published. The open-source ATI driver currently offers no 2D (EXA) acceleration and the 3D support either through a classic Mesa driver or Gallium3D also is not yet available.”
Of course, many pertaining to the brotherhood of linux have long had a gripe with AMD over its perceived “lesser” support, an issue which really came to a head back in 2007, when things were possibly at their most dire in terms of AMD open source support.
When we contacted the firm to find out why it was that it had such a bad rep on the linux street, we were told by John Bridgman of the firm’s software development engineering group that the image was undeserved.
While admitting that AMD’s open source situation was rather dire several years ago, Bridgman told TechEye that things had improved dramatically since 2007. He also claimed that historically, way back in 2000, “ATI had the best support for open source GPUs in the industry.”
It all went a bit pear shaped in 2002, as digital rights management became a bigger and bigger issue, Bridgman told us, noting that ATI had then pulled out of the open source court and started working on a proprietary driver that it picked up when it acquired Fire GL. This, however, was targeted at workstation users rather than regular punters.
“For the next few years after that we didn’t really have solutions for consumer users,” admitted Bridgman, who admitted that the situation persisted in its awfulness until circa 2008.
"But around 2006 we started trying to change that,” he said, suddenly changing tack and shifting the conversation towards AMD’s main competitor, Nvidia.
“Nvidia’s focus is all around proprietary drivers,” enthused Bridgman, playing the familiar old AMD favourite card. “They [Nvidia] do NOTHING for the open source community,” he added, only to backtrack very slightly to say, “they do offer an open source driver called NV, but it’s very basic, and only really helps you get on the internet so you can download their proprietary drivers.”
On the other hand, Bridgman was full of praise for Intel, a firm he lauded as doing “a lot of work with the open source community on pen source drivers.”
“Intel doesn’t have proprietary drivers, only open source drivers,” he said, going on to say “but we’re really the only company that does both.”
“Our proprietary, out of the box drivers for Evergreen have been out from the beginning,” he said going on to say that “in addition to that, we’ve been working closely with the open source community to come out with a second set of drivers.”
Again returning to AMD’s much repeated chorus, Bridgman felt the urge to follow up by re-iterating, “Nvidia offers no support or collaboration to the open source community. In terms of open source, we’re in a totally different league to them [nvidia].”
Steering Bridgman back into his own league, TechEye asked when the open source community could expect to see 2D acceleration and 3D support. “If I had to guess, I’d say two to three months with 70 to 80 per cent confidence,” Bridgman declared, adding “probably not a lot more than that.”
“We’ve already published the documentation, so that’s already out there. It’s just a question of developers having the time to work on it, which they don’t, because they’re in the middle of re-architecting the stack,” he noted.
“I want to stress, in terms of proprietary drivers, 2d and 3d support is already there, it’s just the open source stuff we’re still working on now.”
“As soon as we get code that’s working, we push it out [to the open source community]. We push out the sample code and the documentation, we try to do it all out in the open,” he concluded.
When we contacted Nvidia to respond to some of Bridgman’s allegations, Nvidia spokesman Andrew Humber pointed out that “firstly, Nvidia's proprietary driver has better performance and has more features than *either* AMD's proprietary driver *or* AMD's open-source driver,” and that despite AMD’s claims that it doesn’t have a real open source one, “the Nvidia Linux driver quite simply provides the best experience for Linux users.”
But why not just put out the driver code completely into the open for all and sundry to have a poke at? We didn’t get a completely straight answer, but Humber did say that whilst, “yes, there is IP in our drivers that we are protecting, our Linux customers use Nvidia because we provide the best experience and the professional customers we support want high quality, fast performing drivers.”
“Anyone who actually relies on Linux today for high end workstation graphics or GPU datacenter-class deployments is using Nvidia,” he went on.
Yes, but why not just put it out there for free?
Well, because “this business model funds and enables us to produce better enterprise and mission critical class Linux support than our competition,” came Humbernator’s reply.
Then, taking the gloves off a bit, he added “we welcome the day when AMD is prepared to pit their best (open source or not) Linux driver against ours. There are hundreds of Open Source projects that Nvidia is working on and actively supporting so this is starting to sound like a very old scratched record from AMD isn’t it?”
On a roll, Humber ranted that AMD invested “extraordinary amounts of time trying to position Nvidia as closed/proprietary,” adding “we would personally love to see them invest as much time into delivering market leading features and support for Linux users. The same can be said for OpenCL, where we’ve seen a lot of protestation from AMD, but little execution.”
But more on that in a follow up post, we-thinks.
Actually, publishing drivers open source would increase number of knowledgeable people cleaning and improving. Only makes sense, which is why corporate butt-boys can't deal with it.
Nvidia makes the best overall drivers? Far from it!
Their support for their hardware in Linux is terrifying. Especially when you have a laptop with an nvidia chip, because you can't just pry the horrid thing out and run it over with a dump truck!
I've had some of the WORSE driver experiences of my life when dealing with nvidia. OVER A YEAR experiencing a DEBILITATING bug that they were very well aware of (it was all over their forums). Having to wait until they *feel* like supporting the latest xorg or kernel, or whatever else it depends on. Wondering if maybe THIS release is the one where they completely dump support for my hardware (because it isn't under 6 weeks old). Note that the debilitating bug was introduced in a new version that supported a new xorg version, so I was held back from the latest xorg for a YEAR because of their crap driver.
At least with the AMD open source drivers, I can count on it working right out of the box. Maybe not instantly with their very latest hardware, but with the majority of all the stuff that is out there. And that includes 3D/OpenGL (or should I say "mesa"?). I can also count on a steady rate of improvement in the overall quality of the driver, *actual communication* with the primary developers (and yes, I have had direct and very valuable answers on issues direct from Bridgman quoted in this article), "forever" support for my hardware, instantaneous support of new kernel/xorg/whatever, need I go on?
and at the same time quite wrong.
AMD is clearly undertaking efforts to support the Open Source community, and this is much appreciated.
However, their Open Source driver, though
promising, is still in development and currently
lacks important features (e.g. decent power management,
support for OpenGL > 2.0 on R600/700 GPUs, etc.)
which severely limits its usefulness (just try to use it
on a laptop with a recent GPU).
Their proprietary fglrx driver is simply a nightmare. Thus there is STILL no full-featured driver for ATI/AMD users under Linux and the awfulness of the situation
continues to this day. Stating that this has been overcome
since 2008 is simply a downplaying of the facts.
Nvidia on the other hand has a full-featured, well-working,
closed-source Linux driver, but does not support
the Open Source community, neither with truly useful
code nor with hardware documentation. Open source
developers are forced to reverse engineer their binary
blob to provide Linux users with a free driver and a
good out of the box experience.
IMHO, both companies provide half-hearted Linux support
only. They should both learn from Intel, who have demonstrated true commitment and embracement
of Open Source principles.
AMD did that. They gave out the specs not too long ago. But still, they're pretty much the only ones who write driver code. If the "community" doesn't like that code, then they should shut the **** up and write the code themselves. No one's stopping them; they have the specs.
NVidia - their proprietary driver always worked "out of the box". I don't have any trouble with its close-source state, since I'm able to compile it with the current kernel sources. I have an NVidia 7500 GS card and it is the most performant and stable driver especially in 3d I've ever seen. Quality first!
Intel - the truth is, they have a really good open source support. I got always qualified answers to issues I reported and the people there were willing to do something with it as quickly as possible. The quality of the driver hasn't been always good, there where often pitfalls in stability especially for older chipsets - I used an i865 chipset - and there are repeatedly issues with it. On the other hand, Intel tries to be "state-of-the-art" with the latest kernel and technologies.
AMD - not such a nice experience. I haven't tried their proprietary driver, since I haven't found explicit support for my chipset Radeon XPRESS 200 5A61 (PCIE) Their open-source driver is buggy and there is a very small activity in it in bugfixing and using new technologies, as for example acceleration models (EXA, UXA) and KMS. I'm glad to have it somehow working on my box and not to see a black screen.
The 96.43 drivers lost any capability to do anything but *segfault* the X server, oh, about 2 years ago, and the new nouveau_vieux_dri driver does not offer non-power-of-two texture support (so no compiz). Yet, a Radeon 7500 works damn well for Compiz, and even has kernel modesetting support!
http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units
http://en.wikipedia.org/wiki/Comparison_of_ATI_graphics_processing_units
GeForce4 MX 420, 2002.
NV17, AGP 4x.
64MB max 64-bit SDR.
DirectX 7, OpenGL 1.2.
Radeon 7500, 2001 .
RV200, AGP/PCI.
128MB max 128-bit DDR.
DirectX 7, OpenGL 1.3
I say it's a tradeoff: the state of nvidia legacy SUCKS compared to the state of ATI legacy, but in exchange, ATI's cutoff for legacy is more recent.
If you had to choose a laptop to use as a spare (say, for serial console logs), which would you choose:
P4-Celeron 1.6GHz, with a 32MB MX440, or a P3 1.0GHz with a Mobility Radeon 7500? =þ
Bridgeman is a good man, but AMD is simply windows company. If they would be interested in opensource as solution for linux, they would put much more money behind that (regardless of how they manage to do it - there are people that are ready to buy AMD cards using opensource driver, but they ignore them totally pointing to catalyst). Their Catalyst is huge, broken, more feature limited even if you ADD their opensource driver on top - to nvidia blob! They barely care about opensource, but there is some for education or when you have windows installed.
Nvidia is true totally proprietary. Totally. Their linux support also starts to show its edges when you plug SLI cards, rotate monitors or add more than one. There is also currently lack of fermi overclocking. But they have video acceleration , you can play all linux and windows games via wine to the best grade possible, you can use opencl, the driver is mostly very stable, they support BIG amount of kernels/xorg/gcc/card combos. They even rollout 10 year support. And they don't sue noveau hackers.
Intel linux support is simply put second class. Its not first class, but also not beggar class. It works, but it works 40-80% of what it performs in windows. Their hardware is also mostly CPU, you won't have much fun with 20 fps in games.
So they all are crap and if there are linux gamers - people that want to play games on linux and pay for them or free, they have no choice but simply nvidia. Because this slave master gives most of ROI in the card.
Ahaha, thanks for the article again!