Open-Source NVIDIA Driver Goes Stable On Linux
An anonymous reader writes "The open source Nouveau driver, a reverse-engineered incarnation of NVIDIA's official proprietary driver for Linux, has reached its biggest milestone. The Nouveau driver is now being considered stable within the Linux kernel and leaving the staging area, with the pledge of a stable ABI. Phoronix has summarized the state of the Nouveau driver, which works fine if you don't care about performance or are fine with running hardware that's a few generations old."
Sorry, this is kind of off, but still interesting and related as this was work done by reverse engineering. How do you reverse engineer on Linux, or other UNIX systems like OS X and BSD? Windows has many great software like IDA and OllyDBG, but seems there's just no such things available for Linux or UNIX. The problem isn't even about using console programs, it's about showing the debugging process and being able to put breakpoints.
Which I do, but I also care about performance. I've found myself having to switch back and forth between it and the propreitary Nvidia driver on some machines.
Way to go guys.. you've now given Nvidia massive disincentive to continue to do more work with their MODERN drivers.
Competition is usually a motivation to improve rather than stagnate.
Wouldn't be at all surprised to see things like VDPAU and CUDA recieve even more attention from Nvidia. Maybe even features like KMS might happen now...
It's amazing to me that there is so much flame out there for this. None of you could do this, Not a single one of you have tried, and yet, this small group of dedicated people have actually figured out a piece of proprietary hardware to the point of having their code included in the Linux kernel? Way to go guys.
"On the Internet, nobody can hear you being subtle." -Linus Torvalds
Software freedom is important for its own sake. You're better off with a less functional free implementation than a more powerful and reliable proprietary implementation in numerous practical ways programmers and users have known for decades.
If the proprietor stops supporting something and they're all you've got to depend on, you're out of luck left with an ugly choice to run increasingly obsolete code or (apparently needlessly) do without that functionality at all. Proprietors control your computer and tell you what you can do with it. Free software gives you the freedom to control your own computer. One can learn to program and understand the Nouveau source code: maintain the code to work on more OSes and work with more hardware, free from the fear of DRM (digital restrictions management). If you're not a programmer, like most computer users aren't, you can still help the effort by giving programmers what they need to help you in return. Often that's money, equipment, good bug reports, documentation translations, and writing documentation for the software.
We're better off relying on each other in freedom than we are depending on a proprietor. Socially, we can't build a better future for ourselves by relying on secret software. We should be allowed to fully own and control our computers and we'll get there with software freedom.
Nvidia should have told their customers how to fully use the equipment they sold. Nouveau hackers are remedying that deficiency. I'm grateful for the valuable work Nouveau hackers are doing for all of us.
Digital Citizen
They are presently suffering togetherness issues on both fronts(Intel because Intel denied them authorization to build any QPI chipsets, AMD because AMD now owns ATI...); but Nvidia shoved a pretty significant number of integrated graphics chipsets out the door in the past few years. For a while, they more or less were the embedded graphics option for AMD boards, and they presented a fairly persuasive offer on the Intel side, given the dire state of Intel graphics.
That's quite a few performance-insensitive Nvidia parts in the world, in addition to the discrete ones, which usually indicate some level of interest in performance, or at least driving a greater-than-default number of heads...
2) buy someone elses (likely)
And this is what NVIDIA has done. NVIDIA bought a license for ARM's CPU and built the Tegra SoC around it.
The last time someone came up with a replacement for an Nvidia driver was for the ethernet drivers and Nvdia ended up discontinuing their own and contributing to the open source driver instead. If this happens again we are all better off.
Seriously guys why all the hate? Sure it doesn't work for everyone, it works on old hardware. But here's the deal, it works and is sufficient for day to day use. Here's the amazing and nerdy part of it too, they REVERSE ENGINEERED IT. Something as complicated as a video card. That's no small feat and they should be congratulated for their efforts to make linux just that much better. Start hating when you contribute something with any significance at all. BTW I'm not a kernel developer, just a nerd that appreciates a feat such as this.
They realize their top notch drivers are a big selling point of their hardware. You'll find more than a couple people who have the opinion that AMD has good graphics hardware, crippled by poor drivers.
nVidia will only discontinue Linux drivers if the market shrinks to such a size that it is no longer worth it. If Linux becomes an "embedded only" OS or something they'll stop. However so long as it is being used a reasonable amount, they'll keep making drivers for it (they also have FreeBSD and Solaris drivers to give you an idea).
Particularly since it is a big market for their GPGPU stuff. When people get a big multi-card Tesla system, they sometimes want to run Linux on it. That is only doable with first flight drivers that have all the features supported, work with the latest hardware, and give up nothing in terms of speed.
Besides spotty hardware supprt, AFAIK it is also missing VDPAU (HD video decoding) support, which is the main reason a lot of HTPC types use Nvidia cards in their linux machines. It is also fairly hard to remove. I think it took me 1/2 hour of re-booting before I finally purged nouveau from my system to clear the way so that the Nvidia driver could attach.
As a Linux (and other *nix) driver guy, I have tons of respect for how Nvidia deals with the constant, gratuitous changes in the Linux kernel APIs.
I'm using this driver (well, probably a slightly older version of it) with my desktop now, and so far I've been pleasently surprised. I don't need blazing fast performance on 3D for most things. FlightGear/OpenArena level games are about as far as I'm likely to push, since I'm not into the latest and greatest FPS anymore. Given that, the prospect of an integrated driver that "just works" without having to do anything extra is awesome.
My last Gentoo re-install I ended up trying the Nouveau driver after my attempt at enabling the binary NVIDIA driver didn't go well - had to flip on a couple kernel options to get acceleration, but after doing so and for my uses the results are "fast enough." I'll be sticking with Nouveau from now on unless I hit a major show-stopper. Well done, Nouveau team!
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
One thing which you cannot do with the official NVIDIA driver for GNU/Linux is have mixed rotation monitors. (I would like to be proven wrong - have even tried to prove myself wrong, but given up).
I currently have one monitor in portrait and one monitor in landscape and one monitor in landscape, with the ability to drag windows from one to the other. I have some acceleration, which allows me to see through terminal windows.
Nouveau works, official one does not work. Simple choice.
kers at the wrong moment What happens when you catch stock tic
...and it would seem to be a rather persistent thing, at that.
Personally, I think it's great to hear some simple news about a non-trivial thing relating to a driver that also affects the overall performance of my own computer. That it's an article not written in marketspeak covered with a 20 gallon drum full of marketsauce, then, I guess that may also serve to comment to the technological integrity of the open source developer domain.
But sure sure, we can troll, we can. Cheers.
So true. I had a problem with my onboard network card a while ago. I dug up an old 3COM PCI 10/100 card, those cards were awesome and would survive god striking them. I put it in, boot Windows 64 bit and... obviously no driver. It's an old card and no one bothered to create a driver for Windows 7 64 bit. Then I reboot under Kubuntu also running 64 bit and hey, it's working.
The comments on this story really do illustrate how the readership of Slashdot really has changed over the past few years.
This is a real "News for Nerds" story, a story about open source development and how we're still not really past the bad old days of winmodems when it comes to (real, not binary blob) hardware support by manufacturers.
A full half of the comments I can see above seem to be troll posts along the lines of "LOL M8 DOESNT RUN UNREAL TOURNAMENT 27".
Oh dear.
Not dismissing what's obviously a pretty daunting technical challenge, but still. The problem is...
Why would you buy a $250 3D Nvidia card if you didn't care about performance?
Well, you could dual boot. In this case you would want all the performance you can get while gaming in Windows. Since you are probably not gaming much in Linux, all you really need is enough power for desktop effects, which require a 3D driver.
Or you could just by a $50 Nvidia GPU and use this driver with it. I don't thing it's limited to the latest and greatest Nvidia cards.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
Point being: this shit is hard, and the current milestone represents a huge achievement. If everybody had the attitude that "well it sucks compared to [something else] right now, why bother", nothing hard would ever be attempted.
It's a software patent thing that Nvidia are very sensitive about since they have some ex-SGI guys that have already been dragged through the courts once by patent trolls. I can't see them opening their drivers any time soon and I don't blame them for it.
> If the proprietor stops supporting something and they're all you've got to depend on, you're out of luck left with an ugly choice to run increasingly obsolete code or (apparently needlessly) do without that functionality at all.
And nVidia does exactly this, they drop old models from their drivers (it isn't that bad, the last time it happened to me, it was really old, and the machine stopped being relevant for desktop usage a long time before). Still, I like the tranquility of mind; that's why I switched to ATI cards everywhere. It's good to have choice again. The work of Nouveau developers is impressive, considering the competing open source ati drivers got a lot of help from AMD.
Kill all hipsters.
Nvidia is not releasing drivers for gamers on Linux. Shocking I know. But this hasn't and most likely never will be why Nvidia releases Linux drivers.
Nvidia does however, create drivers for their high end workstation cards.
Wrong and right. nVidia DOES release drivers for gamers on Linux. How can you tell? They support old hardware. Look at the supported hardware list for the geforce driver, now compare to the supported hardware list for the ATI driver and laugh. Only the very newest nVidia cards ever lack Linux support, and then only the budget ones, and they get it within a few versions.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Because this driver will continue to be supported for as long as there is interest in it, not just until nVidia decides that it's time for you to buy a new GPU. A few years ago, nVidia released a driver with a remotely exploitable (kernel mode arbitrary code execution) vulnerability. When this was publicly disclosed (about a year after being reported to nVidia), they released a driver update that fixed it, but which didn't provide support for all of the cards that were vulnerable. You had two choices then if you had slightly older hardware: you could run a driver with a known vulnerability, or you could use the VESA driver and have no hardware acceleration at all. Now you'd have a third choice: run a slower driver that is maintained and constantly improving.
I am TheRaven on Soylent News
I have no problem with the performance of the nouveau drivers, but compared to the proprietary drivers my card (8500 GT) runs quite a bit hotter. So I tend to stick with the proprietary drivers.
If the nouveau devs can address this point, I'd be very content to stick with nouveau.
Subject line says it all.
Geology - it's not rocket science; it's rock science
You mean the 3C90x? The situation is even more twisted than what you described. You will find no 32 bit or 64 bit driver for download anywhere for it... BUT, that's not the whole story because there is a driver and you can get it over Microsofts online driver search.... I'm not kidding, in order to get this driver you need to be online already. In my journal I have documented this alongside my ramblings about the fanbois saying 7 has drivers for everything out of the box. Well the 3C90x definitely doesn't, at least not out of the box.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)