Ashton Mills11 January 2007, 2:15 AM
Nvidia and ATI drivers are essential for Linux users, and the Nouveau project aims to make them open-source -- well, NVIDIA ones, at least.
While there aren't many binary kernel drivers compared to open-source counterparts, the few that exist are all but essential for many Linux users -- especially the Nvidia and ATI drivers for accelerated graphics.
Nouveau, an open-source project, is out to change all this.
And why not? It's a better use of time than programming
Bloody Pengu, though that is a lot of fun. And, in part to raise awareness, a financial
pledge was recently started and reached its goal of US$10,000 to help support the project.
Though, as it turns out, the author of the pledge didn't first actually communicate his intention to the Nouveau team, and has since posted a
blog stating it was more a 'see if it's possible' than an organised effort with Nouveau, who have stated they are doing the project irrespective of any financial support.
But nevertheless, both of these raise interesting points.
The first is the project itself. While I'm a card carrying, die-hard hardcore, and Debianly devout open-source supporter in philosophy and in practice, maturing has since tempered it with a taste for pragmatism.
If they can pull it off, fantastic, but I have to question the necessity when there are good, fast, 3D capable binary drivers available. Yes, I'd much prefer open-source drivers for everything, but the proprietary GPU drivers (especially Nvidia's) work and work well. And I'd much rather have these than nothing at all, and if the price for direct support of my cards in Linux from Nvidia is binary drivers, I'll take it.
The other side of the coin is that ultimately producing these drivers is akin to a donkey chasing a carrot -- the work involved in reverse engineering the binary Nvidia driver as a base is hard enough, let alone writing an open-source implementation with good 3D acceleration support for the various chipsets.
Whether there is then good support for programmable shaders, which are all the rage now and into the future, is probably entirely different set of shooting fish in barrels, and (not that I'm trying to be too pessimistic) but by the time this is all working, there'll be a new chipset or two from Nvidia with entirely functions and features that will be moot without proper support.
It's a race only Nvidia can win. Or rather, it really needs Nvidia's support to be timely and effective. And the chances of that are about as high as Bill Gates confessing he wears 'I love Linus!' underpants. Though stranger things have happened.
Of course, an alternative to open source drivers for a proprietary card is open source drivers for an open source card -- the Open Graphics Project, which has been going for over a year now, recently released the first shots of its hardware solution. It's no Nvidia or ATI killer, but it is hella cool.
The second interesting point is the pledge, and the donatory (new word?) potential of the open source community. This call for funds isn't the first of course, only the most recent example. Just before Christmas we reported on the campaign to buy the MMORPG Ryzom which raised pledges of some 170,000 Euros for the course, only to be overtaken on the finish line by another company with (it is presumed) deeper pockets.
And prior to this, of course, is the success story that is Blender. And if this encourages some of the more complex or harder projects, especially those that might involve the purchase of IP, to get off the ground then I think these are all worthy to support. For many of us pledges of a few dollars don't mean much, but when stretched across the entire community could see a great wealth of sponsored programmers writing the open-source software we've always wanted but haven't so far received.
Heck, something I'd pay for is a port of DirectX10 to Linux, because that is the single biggest hurdle for Linux to be even remotely considered viable as a gaming platform. And as we know, it's the entertainment industry that drives the world.

XGL: Rendered 3D goodness.