Weekly Edition Return to the Front page |
Reverse engineering: more than NVIDIA deserves?
Reverse engineering is a longstanding tradition in the free software
community. It has often been the only way to get hardware to work when the
manufacturer refuses to make documentation available, but there is more to
it than that. Some of us, certainly, enjoy the challenge of figuring out
how a particular device works. And our sense of freedom tells us that it
is our right to understand the hardware which we have purchased and
rightfully own. We, as a group, tend not to respond well to those who tell
us that reverse engineering a product is not the right thing to do. But,
increasingly, your editor is hearing voices within the community which are
saying just that.
One of the most prominent reverse engineering projects at the moment is Nouveau, which is starting to have some real success in making NVIDIA graphics adapters work with free software; see this week's Kernel Page for an article on the state of this project. NVIDIA hardware has been a problem for a long time, of course. It is said to be nicely-designed, and it is certainly present in a significant percentage of new machines, but NVIDIA has had no interest in making free drivers (or documentation) available for some years. So the only way for owners of this hardware to use it with reasonable performance under Linux is to use NVIDIA's proprietary kernel module, and that is a price many of us are not willing to pay. There are currently about eight developers working to make the Nouveau driver better. They have reached a point where their understanding of the hardware and their reverse engineering tools are quite good; that, in turn, is enabling fast progress toward the creation of a working driver. With this kind of developer attention, the Nouveau driver may reach a stable state over the course of the next year, at least for some versions of the hardware. And that, it seems, should be a good thing. Except for one little issue. NVIDIA's competition in this market is provided mainly by Intel and AMD/ATI. Intel provides free drivers for its hardware as a matter of company policy, and AMD has pushed a much more friendly policy onto ATI since the middle of last year. So free drivers for Intel video adapters come with distributions, and the first ATI drivers are beginning to become available. One rather perverse result of this situation is that there are almost no community developers working on the Intel drivers at all. The development and maintenance of those drivers is an expense carried by Intel alone. One could argue that the lack of hardware documentation from Intel has made it hard for other developers to participate; Intel is now beginning to address that problem by burying the community in comprehensive, Creative Commons-licensed hardware programming manuals. It will be interesting to see how much more community help Intel gets as a result of its documentation release. ATI, which has not, to date, provided working, free drivers, is arguably getting more help from the community and, especially, from distributors who have an interest in working drivers. But that company, too, is putting in resources of its own toward that goal. NVIDIA, instead, is giving us nothing - and, in return, we are giving it an eight-person development team dedicated to the production of free drivers for its hardware. Once Nouveau is in a working state, Linux users will be able to buy NVIDIA hardware in the knowledge that it will simply work without requiring them to download and use binary-only kernel modules. The result of that can only be higher sales for NVIDIA. While talking to developers at linux.conf.au, your editor heard a number of them say that NVIDIA does not deserve a gift of this magnitude from the community. We are now quite close to having free support for video hardware at all performance levels, supplied by friendly companies. Rather than penalize those companies by making a free gift to their biggest competitor, some say, shouldn't NVIDIA be made to pay for its behavior by exclusion from our community until it comes around? There is a point here. The biggest lever we have when talking with hardware companies (or any company, for that matter) is money. Companies which see themselves as missing out on the Linux market will find a strong incentive to change their behavior. So if NVIDIA finds that system resellers are not using its chipsets for Linux-based systems, it will have to reconsider its position with regard to free drivers. In the past, there was no credible alternative to NVIDIA, so the company had no real reason to fear that it could lose money as a result of its uncooperative behavior. Now there are well-supported alternatives at the lower end of the market, and the prospect of the same for high-end graphics as well. So there will be no need to buy hardware from this particular vendor, and, since the alternatives will be well supported, every reason to buy from somebody else. Unless NVIDIA's hardware, too, is made to work via a community-supported driver. Should this happen, one could well say that we, as a community, have taken a prize away from companies which have treated us well and handed it to their competitor (which has not). Arguably, the community should not pursue the creation of reverse-engineered drivers in situations where competing vendors are playing by our rules. Otherwise, we are sending a rather conflicted message to both types of companies. It may really be true that, in the long run, the Nouveau driver is harmful to our real interests. All of this discussion may be moot. There's no way that any of us could keep others from reverse-engineering their hardware and writing drivers, even if we wanted to. Anybody arguing against the mainline inclusion of a GPL-licensed driver for popular hardware is likely to end up in a minority position, to say the least. So, as a community, we cannot make a collective decision to stop this kind of development. But, as individual developers, we may occasionally want to give a moment's thought to the question of whether our activities are truly beneficial in the long run. (Log in to post comments)
Is reverse engenieering unethical? Posted Feb 18, 2008 20:14 UTC (Mon) by Felix.Braun (subscriber, #3032) [Link] Open source software is written by people with an itch to scratch, and -- unfortunately -- no amount of philosophical reasoning will provide free graphics drivers for people on NVIDIA hardware. Thus, the only way these people are going to get high end consumer hardware to work on their boxes, is to either use the proprietary driver or to write drivers themselves. It is true that this effort seems to punish NVIDIA's competitors who are either open source's poster child in this area (intel) or making noises of gradually improving a previously bad situation (ATI/AMD). But, to resolve this apparent problem, all one has to do is to ask, how we got into the current state. Why do people have an itch to scratch, that we rather they wouldn't? It's because a short while ago, when the nouveau effort started, there was no credible alternative for high end consumer graphics cards with open drivers. Intel, as the article correctly points out, occupies the low end of on-board graphics refusing to offer a stand-alone version of their products that would be able to compete with NVIDIA's or ATI's offerings. AS far as I know they are planning to enter that market with the Larrabee cards, planned for release in 2010. As for ATI / AMD there is, to my knowledge, still no open/free driver for any of their recent chips, although we have been hearing rumors that things are going to get better Real Soon Now (TM). So in effect, the punishment that intel and ATI may be feeling now is due to the fact that they are too late in providing a solution for people's needs in high power GPUs. Had any such alternative existed say two years ago, I'm sure that people would long have started voting with their wallets. I know I would have. Instead, lots of intelligent people have bought NVIDIA hardware. And if you have lots intelligent people sharing the same itch to scratch, eventually you will get a solution to that problem...
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 20:22 UTC (Mon) by tetromino (subscriber, #33846) [Link] You know, before complaining about NVIDIA's lack of cooperation, we should look at the respective track records of NVIDIA's closed-source driver team and of the free software community. And if you take an honest, hard look, you will see that NVIDIA's closed-source Linux drivers beat *all* existing free drivers, for any piece of graphics hardware, in terms of how much performance they can extract from the hardware, their reliability, the speed with which support is added for new hardware, and the rate at which new features are implemented. I hope that one day, we the community will finally start making drivers that actually work on all hardware that we claim them to work on, that really do properly support all features that we claim to support, and that don't cause our machines to lock up for no good reason. But until that day comes, instead of complaining about NVIDIA, we should be thanking them for releasing an excellent (yet unfortunately closed-source) driver.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 20:37 UTC (Mon) by superstoned (subscriber, #33164) [Link] I think you missed the point of the article entirely...
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 22:11 UTC (Mon) by einstein (subscriber, #2052) [Link] I wouldn't say that he missed the point, but that he's reflecting some good old fashioned practicality into what was a purely philosophical discussion.
He IS missing the point Posted Feb 19, 2008 8:22 UTC (Tue) by khim (subscriber, #9252) [Link] I have nothing against nVidia and binary drivers per se: you want/need to use them - to do. No problem. But to spend a lot of resources to produce open-source drivers for nVidia looks like useless waste of time: by the time free drivers will reach maturity (year from past experience) nVidia hardware will be obsoleted anyway. And for the next 2-3 years closed-source proprietary drivers are Ok. So the only way to keep Nouveau relevant is to waste efforts forever and keep adding support for newer and newer models. And this looks like stupid thing to do. But of course there are no rush: if/when AMD's drivers will reach maturity Nouveau support will dry up. I think it'll happen automatically if free AMD drivers will be any good...
You're missing the point Posted Feb 19, 2008 9:37 UTC (Tue) by liljencrantz (subscriber, #28458) [Link] Strongly disagree. nVidias drivers are flaky and unstable in my experience. Using them makes my laptop significantly less likely to come out of sleep mode working. There are various minor graphical glitches when using Compiz, like window borders sometimes getting the wrong transparency level and the mouse cursor getting the wrong color. Sometimes when switching resolution, the screen starts to flicker, and doesn't stop until you reboot you system. On my previous desktop machine, the computer would lock hard when using both video outputs at once. Because my desktop machine had an old graphics card and my laptop has a low volume laptop GPU, these issues are not prioritized by nVidia and will very likely never get fixed. All in all, the driver is crappy, and because it is closed source, I have no other option than to sit around and hope nVidia will accidentally fix this in a later release, which seems somewhat unlikely.
You're missing the point Posted Feb 20, 2008 6:04 UTC (Wed) by drag (subscriber, #31333) [Link] > All in all, the driver is crappy, and because it is closed source, I have no other option than to sit around and hope nVidia will accidentally fix this in a later release, which seems somewhat unlikely. Well, with hindsight, what you should of done was never purchase the hardware in the first place. With these sort of things your not only paying for the hardware, but your paying for the software. That is without the drivers the hardware is useless (or nearly useless). Nvidia, by keeping stuff closed, is using their software as part of the product you are purchasing. One is nothing without the other. That is because you bought Nvidia's hardware you are paying for them to continue to develop closed source drivers. (In comparison how much have you paid to develop open source drivers?) So the other course of action, right now, is sell your Nvidia stuff and buy something with Intel on it. So if you have problems with their driver support yourself or somebody can actually do something about it. If you cannot do that because of the money. Oh well. Better luck next time. If you cannot work with Intel hardware because of performance issues, then you'll never be able to work with the open source nvidia drivers either. There will never be the developer support or community support nessicary to get those drivers up to the same level of Nvidia's own drivers in a timely fasion. So your screwed coming and going.
You're missing the point Posted Feb 20, 2008 15:42 UTC (Wed) by liljencrantz (subscriber, #28458) [Link] Your points are mostly valid, but Intel doesn't sell any desktop cards, and back when I bought my hardware ATI where nowhere near open either, so I really had no option there. I really wanted to buy a laptop with an Intel GPU, but the exakt same laptop that I bought but with Intel graphics cost a full $600 more than the one I bought. They where selling the laptop I bought at almost half price because they had introduced the exact same model but with Vista certification. Thanks, Micorsoft!!! While I strongly wanted to support Intel, $600 was simply too much, and I caved in. I have some regrets.
You're missing the point Posted Feb 21, 2008 2:17 UTC (Thu) by pr1268 (subscriber, #24648) [Link] Saving $600 is worth a few regrets.
You're missing the point Posted Feb 20, 2008 22:20 UTC (Wed) by jayavarman (subscriber, #19600) [Link] My experience has been quite different. On my laptop the nvidia driver works pretty much well and stably. I just close the lid, the laptop sleeps and then comes back again. I can get several days of uptime. The power management seems to also work quite well, although the chip/driver is a bit too laggy to increase the frequency when needed.
Reverse engineering: more than NVIDIA deserves? Posted Feb 28, 2008 21:34 UTC (Thu) by alext (guest, #7589) [Link] Not really, he is saying that Free Software developers can't develop as good drivers with no documentation of the hardware as people who have are informed about every essential nugget of configuring and operating the boards to the max. If the NVidia drivers weren't the best you really would hope they would fire the engineers! I've thought from the start nouveau was a mistake and more so every time AMD or Intel release spec's for hardware. My next machine won't have NVidia in it unless they are free by then and I think this whole affair is just making people realise that others deserve their support where they didn't know different before. I didn't. So NVidia need to react or start to lose share. There are practical reasons, if I can have a machine that requires no special treatment (even with the helpful Ubuntu restricted drivers tool for example) to run at its best I will choose it over one with just the hiccup of an extra task. That's the practical reality.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 22:09 UTC (Mon) by ikm (subscriber, #493) [Link] I second that. It's just awkward to state that Nvidia is "giving us nothing". Their drivers are unmatched. Yes, they are closed source. And, as such, yes, if you've got a problem with your
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 9:27 UTC (Tue) by yodermk (subscriber, #3803) [Link] > It's just awkward to state that Nvidia is "giving us nothing". Depends on who the "us" is. In the context of this article (and, just about every article on LWN), "us" is the Free Software community, those who care about openness because of its many advantages. In that context, nVidia has truly given us nothing. They sell hardware that works with Linux (because they made it work), but that does not advance the cause of those who believe they should be able to know about the internals of the hardware they buy.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 16:20 UTC (Tue) by ikm (subscriber, #493) [Link] Is it right to draw the line the way you did between open-source developers and mere users who just need to get some work done today? Furthermore, isn't it just impolite to throw stones that big into a company which actually does provide linux support, though in the only form they can?
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 18:12 UTC (Tue) by vmole (subscriber, #111) [Link] The "mere users" made the choice to buy unsupported hardware. Why should I change my principles to support their bad habit? The way to help people addicted to tobacco is not to provide them with free tobacco, but to help them stop smoking.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 19:05 UTC (Tue) by ikm (subscriber, #493) [Link] I think you don't have to change your principles in order to recognize that these people can be a part of community. What alternative would you suggest for people who need high-end 3d under linux now? To stop having these needs, right? Or to go develop their own drivers? Or maybe even go develop their own hardware? It's ok to have principles, but some grip on reality would be nice as well. Particularly regarding the fact that people with different principles and different needs can still coexist in the same world without making it look like a checkered board.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 19:40 UTC (Tue) by vmole (subscriber, #111) [Link] You did suggest that I change my priniciples. You said I shouldn't say bad things about NVidia because they won't provide the information needed to support their hardware properly. (And actually, I don't say bad things about them; I simply don't buy *any* of their products, and, if asked, recommend that others avoid them as well.) And sorry, this is harsh, but if you don't care enough about free software to avoid products that only have proprietary drivers, then you're not part of my community. Yes, that means you can't play Duke Nukem Forever. Such is life. Now, don't get me wrong. If people want to spend their time working on Nouveau, I won't recommend that they be stopped, somehow. But I think it's perfectly reasonable to ask why they are supporting the one common 3D HW companies that is not making any effort at all to support the free software community. And no, I don't count closed source drivers that only work with certain kernels and certain architectures as "support".
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 20:34 UTC (Tue) by ikm (subscriber, #493) [Link] 3d is not only for self-indulging, as you're suggesting. And I'm certainly not a fanatic. I just happen to have work to do. You have suggested nothing in how to accomplish that. Suit yourself.
Reverse engineering: more than NVIDIA deserves? Posted Feb 21, 2008 19:02 UTC (Thu) by amikins (subscriber, #451) [Link] ... Wait, what? You -ARE- aware there's REAL WORK that requires 3d graphics acceleration to be anything resembling efficient? There's modelling objects or products, either prior to production, or as the actual production in the case of media. Architects, engineers, animators.. All these people can reasonably require extremely high end 3d graphics to get their work done. Then there's simulations. Astronomers, physicists.. They, too, can need 3d modelling in order to get their work done; it isn't all pure number crunching in the background. You have to -show- what's happening, too. Oh, and then there's the game developers, too...
Reverse engineering: more than NVIDIA deserves? Posted Feb 21, 2008 19:52 UTC (Thu) by vmole (subscriber, #111) [Link] Of course I'm aware of that. But I'm also aware those users, who have money to spend, did not use their buying power to influence one of the 3D companies to provide free drivers. They have taken advantage of the hard work of others to get off the expensive SGI workstations.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 19:23 UTC (Tue) by mrfredsmoothie (subscriber, #3100) [Link] The only form they CAN? You know for a fact that NVidia is legally constrained from releasing free drivers for their hardware?
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 20:41 UTC (Tue) by ikm (subscriber, #493) [Link] Of course not. They are just unfriendly people who despise linux crowd because they think they are too geeky.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 7:19 UTC (Tue) by rsidd (subscriber, #2582) [Link] I totally agree, and there's another thing: the number of Linux users is small but growing; but the number of Linux users who care so much about free software that they will not use the NVidia driver must be quite microscopic. (I suppose those are the same users that won't use Adobe's flash player, or Adobe Reader -- which is still the only real option for filling forms. Personally I don't know any such people, though I'm sure they exist.) Vendors who want to pre-install Linux are unlikely to be put off by NVidia's proprietary driver. I don't foresee the Nouveau driver being real competition any time soon, and I don't think abandoning the Nouveau project will punish NVidia in any realistic way. Meanwhile, I agree with the parent -- till some time last year, a Linux user who wanted high-end graphics would have had reason to feel grateful to NVidia, which had both high-end hardware (unlike Intel) and high-quality free-beer drivers (unlike ATI).
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 8:40 UTC (Tue) by michich (subscriber, #17902) [Link] Vendors who want to pre-install Linux are unlikely to be put off by NVidia's proprietary driver.They should be. It's one thing to download a proprietary driver and use it on one's machine, but distributing it together with Linux is another matter. The 'mere aggregation' clause of the GPL does not apply here, IMO.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 9:36 UTC (Tue) by yodermk (subscriber, #3803) [Link] > I suppose those are the same users that won't use Adobe's flash player, or Adobe Reader Vastly different context than kernel modules/closed hardware. I use Skype, Flash, and (rarely but occasionally Acrobat Reader). Although I would be grateful for adequate Free alternatives, there is nowhere near the urgency of replacing those as there is of replacing closed kernel modules. Closed kernel modules have a good list of practical disadvantages, including being tied to the vendor when you want to upgrade the kernel or x.org. If there's a problem, *only* the vendor can fix it, not the hundreds of awesome kernel hackers. And there are potential legal problems. (Yes, I use the closed nVidia driver on my laptop now, but I'm not happy about it. I'll switch to Noveau when it's ready and I'm certainly buying ATi on my next computer.) > Vendors who want to pre-install Linux are unlikely to be put off by NVidia's proprietary driver. Haven't you read the comments from the Dell Linux guy? Dell now *actively* prefers hardware with open specs, *even for systems they pre-install Windows on*!!!
Reverse engineering: more than NVIDIA deserves? Posted Feb 22, 2008 15:23 UTC (Fri) by wilck (subscriber, #29844) [Link] > Haven't you read the comments from the Dell Linux guy? Dell now *actively* > prefers hardware > with open specs, *even for systems they pre-install Windows on*!!! Please have a look at Dell's offerings. Except for the low-end, all laptops have NVidia boards. Even the "Open Source PC" comes with an NVidia board.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 20:35 UTC (Tue) by AJWM (subscriber, #15888) [Link] > the number of Linux users who care so much about free software that they will not use the > NVidia driver must be quite microscopic. (I suppose those are the same users that won't use > Adobe's flash player, or Adobe Reader -- which is still the only real option for filling > forms. Personally I don't know any such people, though I'm sure they exist.) Well, you may not personally know me, but I avoid NVidia hardware so that I don't have to care about their proprietary driver. (An ATI 9250, with a free driver based on specs they released before they went closed, gives me a perfectly adequate 30 fps in FlightGear FlightSim.) I don't use Adobe Reader either, there are fine free PDF readers out there, and I have no need for filling out PDF forms. I'll admit to using Adobe's flash player -- but note a key difference between using Adobe's no-charge downloadable software vs NVidia's you-pay-for-it-by-buying-the-card software. When Gnash works as a Firefox plugin for YouTube videos, I'll switch.
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 1:37 UTC (Wed) by BeS (subscriber, #43108) [Link] >When Gnash works as a Firefox plugin for YouTube videos, I'll switch. Good news for you: Gnash works as a Firefox plugin for YouTube since version 0.8
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 7:05 UTC (Wed) by AJWM (subscriber, #15888) [Link] Cool. I think I last looked at it at 0.7.1. I'll give the latest a try. Thanks.
Gnash and YouTube Posted Feb 20, 2008 22:27 UTC (Wed) by zlynx (subscriber, #2285) [Link] For values of "works" that include non-working, randomly positioned play/stop buttons, 100% CPU usage, bad network buffering. I used to use Gnash but if it's installed when I load my 80+ entry Comics tab, Gnash tries to play *every* flash animation loaded even if it isn't visible on the page or on the tab. At 100% CPU *per animation* load climbs to 20+ before it falls over from memory exhaustion.
Gnash and YouTube Posted Mar 1, 2008 1:19 UTC (Sat) by zenaan (guest, #3778) [Link] So did you submit the URL to the Gnash guys, so they could debug the problem?
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 10:07 UTC (Tue) by debacle (subscriber, #7114) [Link] I probably will never know how good or bad proprietary drivers are, because I refuse to use them. Of course, I'm not thanking NVIDIA for their drivers, just because I don't care about non-free software. If I would like to use non-free software, I wouldn't use Linux in the first place.
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 13:12 UTC (Wed) by jmayer (subscriber, #595) [Link] <SPECULATION> Some things make me think that eventually binary only drivers will be banned completely from being loaded into the kernel. If that day comes, having the most stable and most performant driver will not help the least and with OSS drivers being available for Intel and AMD cards it might be that kernel developers will just decide that there is sufficient choice to go forward with the ban, whether it hits Nvidia users or not. </SPECULATION>
Reverse engineering: more than NVIDIA deserves? Posted Feb 28, 2008 9:32 UTC (Thu) by forthy (guest, #1525) [Link] Well, one can speculate that, but how can this come true? NVidia then might not work on a kernel.org kernel, but a simple patch would remove this limitation. The legal question about the NVidia kernel module is about the same as the ndiswrapper discussion: Both are designed to load a Windows driver module (or something very similar to such a module) into the Linux kernel. Both wrappers are available under the GPL, and therefore compatible with the kernel license. The modules they load are not designed for the Linux kernel, and therefore not a derived work. One can argue that creating such an interface is a Bad Thing(tm), like a plug-in interface to GCC has been considered as such, but that's it (even though I agree to the argument). And the kernel is "tainted" when a Windows driver runs in its space; but for a license that excludes any warranty whatsoever, the consequence of "tainted" is not that important.
+1 Posted Mar 2, 2008 8:43 UTC (Sun) by gvy (guest, #11981) [Link] Worse, newbie hackers tend to break basic functionality for fancy stuff no one sane really needs to get things done! Intel driver was clearly broken some half a year ago, judging on numerous frustration reports in mailing lists I follow; Driver "ati" (at least radeon part) broke for me with 6.7.x -- no it's not fun to get arbitrary 96dpi on 133dpi display at all. So before moaning and shooting with dirt it's really worth looking without those special glasses, who's actually doing better even in presence of specs for hardware which does require some expertise to drive. And that expertise seems to be slowly disappearing in xorg project with older developers getting silent...
+1 Posted Mar 9, 2008 16:23 UTC (Sun) by nix (subscriber, #2304) [Link] The authors of the ATI and Intel drivers are not `newbie hackers' by any definition, and breaking basic functionality in development branches while restructuring things is entirely expected.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 20:31 UTC (Mon) by briangmaddox (subscriber, #39279) [Link] See, I have to disagree about this is "rewarding" NVIDIA or hurting other projects. It's the old "scratch an itch" thing: a group of people like the NVIDIA hardware and wanted a free driver so they're working on it. Eight people out of the entire community isn't really a resource suck that I see hurting Intel and ATI video cards. People are free to start their own projects to try to get more people to work on Intel and ATI hardware. I think that what's actually helped NVIDIA to get the interest that it does in the community is that it provided binary-only drivers that actually WORKED. Yes, this is an odd situation, but for years they had the only cards with almost identical 3D acceleration as Windows, while ATI kept putting out that joking monstrosity that they called drivers. Thus more people in the community bought NVIDIA hardware and so it got a large user base. Then comes Nouveau which is doing a great job at making totally open drivers since there was a critical mass in the community. I think that a large number of users annoyed with the binary only driver is what brought this about. Linux has more open drivers than any other OS because people decided to write free drivers to scratch their own itch. If we end up with open drivers that make the NVIDIA cards work as well as the binary drivers do, so what? People are free to buy whatever hardware they want, and it's never a bad thing to have drivers out there. Besides, instead of spending time and energy being grumpy and saying it's rewarding NVIDIA and we shouldn't do it, I think we as a community should be proud that these eight developers are making an open driver in spite of the lack of documentation and corporate help. To me that says a lot about what's often criticized as a group of non-professional hackers from the Internets ;)
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 20:42 UTC (Mon) by paravoid (subscriber, #32869) [Link] One can only hope that when sufficient information about the chips gets reverse engineered and released, Nvidia will open up parts of their driver and/or devote part of their team (which, from what I'm hearing, they're doing a pretty good job) to the free driver. IIRC, something similar happened with the NForce driver.
Nouveau's impact is probably greater for users of older hardware Posted Feb 18, 2008 20:42 UTC (Mon) by stevenj (subscriber, #421) [Link] Let's suppose that, in the future, ATI really does provide high-quality high-performance free drivers. They are still going to have a significant advantage over nVidia, because Nouveau's support (even when it matures) will inevitably lag some time behind nVidia's latest products. I suspect that the greatest incentive to continue working on Nouveau has nothing to do with new hardware purchases, but rather in dealing with old hardware. There are a lot of machines out there with plenty of life left in them, but which are unfortunately saddled with nVidia cards. Getting these older machines working properly with free drivers integrated into the Linux kernel and X will benefit a lot of people, while contributing little or nothing to nVidia's bottom line. (On the other hand, to play devil's advocate, I suppose people could purchase nVidia hardware and plan to use the closed-source driver in the short term and then switch to the free driver in the long term, lessening the advantage of a free ATI driver.)
Nouveau's impact is probably greater for users of older hardware Posted Feb 18, 2008 20:53 UTC (Mon) by sbergman27 (subscriber, #10767) [Link] Any of us who have to support the random hardware thrown at us know that broad hardware coverage is an invaluable asset to us. Worrying about whether eight or nine people working towards FOSS Nvidia compatibility is more of a gift than we should give to NVidia is pointless. They could hire 8 or 9 people of the same competence level in a heartbeat, give them full access to the specs, and have a superior driver out in no time... without ever really caring about FOSS users other than as just another source of revenue.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 20:46 UTC (Mon) by smoogen (subscriber, #97) [Link] I just don't see any way of telling someone not to scratch an itch.. or even worse enforce people not to do so. I mean how? Revoke CVS, email privs, make a McCarthy blacklist from anyone who works on Nouveau? [Yes hyperbole ontop of hyperbole..] Yes it sucks that NVIDIA has basically screwed Linux over and over again.. and gets some people to fix their stuff. But in some ways you can say the same about most FLOSS. If RMS hadn't been pissed about proprietary Emacs and Linus hadn't been peeved about the state of proprietary Unix.. Would we have openssh if the OpenBSD team had not been peeved about the propietary nature of later SSH's? Would we have the amount of Free Software that we have today? So I think it is a two edged sword that we need to think of how to better reward companies that play with us versus looking at how to punish those who 'reward' those who don't.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 21:12 UTC (Mon) by sbergman27 (subscriber, #10767) [Link] """ If RMS hadn't been pissed about proprietary Emacs """ When was Emacs proprietary?
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 22:15 UTC (Mon) by Cato (subscriber, #7643) [Link] One example of a proprietary Emacs was Gosling Emacs, which started out open source (of a sort) then went proprietary as Unipress Emacs. It was nowhere near as nice as GNU Emacs once that matured, but it was around before that - early 80s at least. I once wrote a filtering newsgroup reader based on Gosling Emacs - this tool worked quite well but dealing with the fairly horrible and slow Mocklisp included in that Emacs was painful...
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:37 UTC (Mon) by madscientist (subscriber, #16861) [Link] My recollection of Gosling Emacs was that the embedded language was more C like than Lisp like... I might even still have a manual in my basement somewhere.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 22:19 UTC (Mon) by epa (subscriber, #39769) [Link]
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 21:16 UTC (Mon) by jejb (subscriber, #6654) [Link] It depends what you think the pain points for NVIDIA actually are. Having done similar sorts of things in the past, I think it's mainly: 1. Running an entire engineering team just to keep up with the latest greatest API breakage so the binary module will still work 2. Having to make sure the distribution model works on a huge variety of vanilla and vendor kernels (this becomes a huge validation and installation effort). Having a reverse engineered Nouveau driver does nothing to address either of those. Furthermore, for an evolving hardware platform (which the NVIDIA graphics cards are), reverse engineered drivers are always behind the curve because you actually have to see the hardware to test and fix things. Conversely, I don't think Intel (and eventually AMD) actually expect the community to take over their drivers. In many ways, companies like to keep control of their products, so they tend to hire the driver writers who work on them anyway. The key benefits companies gain from open sourcing are 1. Community assistance: bug fixes, end test cases (even Intel can't test all their chip configs) 2. Freedom from distribution pain ... it's just upstream and the distros ship it automatically. 3. Franchise in the development model. Imagine what would happen if Nvidia sent an email to x.org asking for changes in the X server to support their hardware ... now imagine what happens when Intel does it ... So Nvidia still has all of the costs and none of the benefits even with the Nouveau driver; it's hardly a gift to them (in fact, if they actually look at it it might end up being a trojan horse because they could get GPL contamination of their binary blob).
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 22:05 UTC (Mon) by arjan (subscriber, #36785) [Link] Intel very much wants people to work on the graphics (or wireless or .. or ..) drivers. And thankfully this is being done somewhat in the last year or so. It's not about control really; There is pain to have binary graphics drivers as you mentioned; but it goes beyond the kernel. X is (thankfully!) now going forward at a faster pace since the X.org split/modularization. The one big thing Open Source has over proprietary "parasites" [1] is to keep the pace of innovation up to a level that users pick the new innovated versions over proprietary older versions. This is what the Linux kernel has over, say solaris. And now X.org is thankfully innovating and improving rapidly. To some degree the Linux desktop could use another burst of innovation; while there's a lot of work going on there I'm at the point where I'm hoping that a next big thing will rock the boat there and innovates the Linux desktop leaps beyond the current status quo. [1] No disrespect, I mean companies that build on top of open source but themselves giving nothing or little back. Some open licenses allow that, others.. less so. Either way, the parasites exist.
Parasitism Posted Feb 19, 2008 3:05 UTC (Tue) by xoddam (subscriber, #2322) [Link] > I mean companies that build on top of open source but themselves > giving nothing or little back. Some open licenses allow that, > others.. less so. *All* Free Software copyright licences permit any product to be 'built on top'. It's part and parcel of the Four Freedoms. Copyright can only restrict what is 'built on top' in circumstances where the new product is considered to be a derivative work; to make or to disseminate distributed works requires permission from the original copyright owner, except where Fair Use provides otherwise. If something 'built on top of' a free work is not a derivative work, it is not subject to the free work's copyright licence. Many free software copyright licences are so permissive as to allow even derivative works to be distributed on non-free terms.
Parasitism Posted Feb 19, 2008 8:31 UTC (Tue) by khim (subscriber, #9252) [Link] If something 'built on top of' a free work is not a derivative work,
it is not subject to the free work's copyright licence.
Parasitism Posted Feb 19, 2008 13:45 UTC (Tue) by flewellyn (subscriber, #5047) [Link] Xoddam seems a bit confused. I think I understand the source of the confusion, though. One of the most prominent free software projects, the Linux kernel, explicitly states that the boundary between "derived work" and "mere aggregation" for the kernel is at the system call boundary (and presumably the /proc and /sys filesystem interfaces as well). Any user-space program that uses the system calls is not bound by the kernel's GPLv2 license, but kernel modules and other code which interact with internal kernel interfaces is operating inside the kernel's "license domain", if you will. The same does not necessarily hold true for other projects, though! If the license for a particular user-space library is GPL, or some equivalent copyleft license, you must abide by that license's terms if you link it to your code. This isn't the case for libraries that are LGPL, or under a non-copyleft permissive license like the BSD or X11 licenses. So you can write programs that link to GLIBC without having to make them GPL, and of course you can write X programs under any license too. But the idea that all free software allows you to build "on top" of it without license concerns is not even wrong; it's too vague to be evaluated.
/proc - may be, /sys - not in your life Posted Feb 19, 2008 14:39 UTC (Tue) by khim (subscriber, #9252) [Link] When you are poking files in /sys directory you are directly playing with kernel internals, there are no clear well-defined API. There are talks about declaring some parts of /sys as some sort of stable API, but certainly not the whole /sys. Otherwise you can say that "my program which used clearly defined API over /dev/kmem is not derived work" even if said program in fact injected huge kernel module this way...
/proc - may be, /sys - not in your life Posted Feb 19, 2008 15:47 UTC (Tue) by flewellyn (subscriber, #5047) [Link] Okay, that makes sense. Thanks for the correction. It doesn't change the rest of what I said, though. :-)
Parasitism Posted Feb 21, 2008 1:37 UTC (Thu) by jdivine (subscriber, #18042) [Link] Defining the boundary between "derivative work" and "mere aggregation" is not a matter for the kernel people to decide. It's a matter of copyright law. I have no idea how a court would actually rule on this issue, but I thought I'd point out that it's not really for the kernel people to decide. I suspect, however, that a court might think any arbitrary technical "boundary" -- whether that be system calls, dynamic linking, whatever -- is irrelevant. US Copyright law says that derivative status depends on whether the work in question is "based upon" preexisting work. Imagine the following scenario: A video card manufacturer writes a Windows driver for its product. Later, they decide that they'll port the existing Windows driver to run on Linux. (Whether that is actually feasible is not relevant to this thought experiment.) So using the "clean room" approach, one engineer documents the Linux system calls that the driver needs to hook into, and posts that information publicly. A second engineer takes that documentation and uses it to port the driver. Is this driver now "based upon" the Linux kernel? The bulk of the software existed before the kernel entered the picture, and the guy who developed it never even looked at the kernel code. Is the API documentation itself a "derived work?" That being said, I don't approve of (and try to avoid) proprietary kernel modules and proprietary software in general. I just doubt that there can be a "technical test" to determine what is and is not a derived work as a matter of copyright.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:02 UTC (Mon) by sayler (subscriber, #3164) [Link] "(in fact, if they actually look at it it might end up being a trojan horse because they could get GPL contamination of their binary blob)." Surely we can all politely stop paying service to this silly idea?
Competition among graphics chips Posted Feb 18, 2008 22:31 UTC (Mon) by kbengston (subscriber, #6153) [Link] NVIDIA's 16March'07 10k statment says (p9): "We expect substantial competition from Intel's publicized focus on moving to selling platform solutions dominated by Intel products, such as when Intel achieved success with its Centrino platform solution. ... If Intel and AMD continue to pursue these initiatives, we may not be able to successfully compete in these segments."
Competition among graphics chips Posted Feb 19, 2008 9:49 UTC (Tue) by IkeTo (subscriber, #2122) [Link] > "We expect substantial competition from Intel's publicized focus on moving > to selling platform solutions dominated by Intel products, such as when > Intel achieved success with its Centrino platform solution. ... If Intel > and AMD continue to pursue these initiatives, we may not be able to > successfully compete in these segments." I think this reveals the current situation much better than any other text in this article and its reply. What I perceive includes: (1) good 3D graphics on Linux is, up to the current moment, a near monopoly that NVIDIA is enjoying; (2) they can do 3D graphics well basically because of the 3D drivers they have produced; (3) the inability for others to do 3D graphics well is, at least in part, because NVIDIA drivers had been close-source; (4) the near monopoly is economically favorable to NVIDIA since they believe the number of sales increased by this monopoly can cover the cost of developing them; and (5) IBM and AMD are leading efforts to create free drivers, and once that matures NVIDIA expects that they will lose their monopoly. So my (rather conservative) speculation is that once IBM and AMD gets their drivers right, NVIDIA will stop developing their close-source drivers. What I expect is that they will open-source them and ask the community to take over: it is one thing move from "the only provider" to "one of the providers", it is a completely different to move from "the only provider" to "the only non-provider". Giving this light, I think it makes sense to really be focusing on improving the IBM and AMD drivers. If we will get open-source driver anyway, why we have to create them ourselves? The only question: the 8 people team might not be interested...
Competition among graphics chips Posted Feb 19, 2008 16:56 UTC (Tue) by ikm (subscriber, #493) [Link] The original text was about the highly-successful Centrino platform-marketing initiative -- nothing was said about the drivers or Linux at all.
Competition among graphics chips Posted Feb 19, 2008 17:31 UTC (Tue) by IkeTo (subscriber, #2122) [Link] Then I've understood the whole thing wrongly. Sorry for my misinterpretation.
Competition among graphics chips Posted Feb 19, 2008 21:59 UTC (Tue) by rfunk (subscriber, #4054) [Link] Your quote from nVidia talks about Intel and AMD, then you talk about IBM and AMD. Intel and IBM are completely different companies.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:15 UTC (Mon) by zblaxell (subscriber, #26385) [Link] Frankly, the lack of open-source driver development going on in the ATI and Intel camps are their problem, maybe even their own fault. I'm not sure how depriving NVidia of open-source drivers helps this situation. NVidia has put in considerable effort not only to produce good video hardware, but also good video driver software, on Linux and on other platforms. From Matrox, NVidia, ATI, Intel, and S3, NVidia is the only one I know of that has interesting performance combined with drivers that actually work on Linux and other platforms. NVidia have decoupled their video drivers from the kernel interfaces, and provided a sophisticated installer that downloads and compiles the kernel interface, the Xorg interface, and the video hardware driver for the specific circumstances of the end user. This is a big deal--just about every other out-of-tree device driver I've seen on Linux requires upgrading the hardware-specific code at the same time as the kernel interface code, which means kernel upgrades imply device-specific hardware driver upgrades at the same time, which provides an extra and often unnecessary source of regressions and bugs. NVidia has solved this problem, and even provided a mechanism for updating the kernel interface layer over the network at install time. About the only thing wrong with the NVidia drivers is the license and lack of source code--in every other respect, they are a model for how out-of-tree drivers should work on Linux. If open source developers are going to create an open-source video driver, it only makes sense to choose the most popular chipset as the target. The only thing that would change this choice is the pre-existence of high-quality open-source drivers for the target, which of course is not the case for NVidia. Intel and ATI keep alleging that they are developing or have released open-source drivers, while NVidia has consistently asserted that there will be no open-source drivers for their chipsets. Why should the community bother reinventing the wheel when there's a signficant chipset in the field with no open source drivers at all, not even on the horizon? Vaporware FUD is a double-edged sword (even if the wares are not really vapor, and the FUD isn't intentional). If you're going to go through the effort of contributing driver code for a chipset, you want the chipset to still be around when you're done. Also, you need a large pool of people to choose developers and testers from, so the biggest existing population of users is a good place to start. Certainly I hope no one is proposing that people should refrain altogether from developing open-source video drivers; however, suggesting that people develop open-source video drivers for an obscure niche market chipset, or a chipset vendor who might leave the market in the near future, is the same as suggesting they don't work on a video driver at all.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:23 UTC (Mon) by robertknight (subscriber, #42536) [Link] > About the only thing wrong with the NVidia drivers is the license > and lack of source code--in every other respect, they are a model > for how out-of-tree drivers should work on Linux. That is like giving a restaurant a great review and commenting that the only bad things were the food, the ambiance and the price.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:33 UTC (Mon) by notamisfit (subscriber, #40886) [Link] Ambiance and price I can possibly see, but food? The whole point behind 3D video drivers, proprietary or not, is to drive applications that use 3D, and NVIDIA's drivers are quite effective in that regard.
Reverse engineering: more than NVIDIA deserves? Posted Feb 18, 2008 23:33 UTC (Mon) by einstein (subscriber, #2052) [Link] > > About the only thing wrong with the NVidia drivers is the license > > and lack of source code--in every other respect, they are a model > > for how out-of-tree drivers should work on Linux. > That is like giving a restaurant a great review and commenting that the only bad things were the food, the ambiance and the price. Not really - the food and ambience would be akin to the performance and the quality of the display, which are both great. The price would be akin to, well, the price - also very competitive. Perhaps a better analogy for the less than ideal licence, and the closed source blob would be e.g. the inconvenient location of the restauraunt, and the too-short hours of operation. These are real issues, but let's give credit where credit is due - Ristorante Nvidia features excellent food, charming ambiance and competitive pricing, but with the downsides of an inconvenient location with insufficient parking and restrictive hours of operation (4 to 7 pm, Tuesday-Thursday-Sunday)
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 1:07 UTC (Tue) by drag (subscriber, #31333) [Link] If you want accuracy... How about in order to eat at the Nvidia resturant they have to pass government laws requiring you to be blindfolded, drugged, drove around the countryside until your completely disoriented. Then when you got to the resturant you are force-fed a certain amount of food of a certain type.. becuase that is what will make the resturant seem most impressive. Then to give your review you are forced to sign a EULA were you can't realy tell anybody about what sort of food is at the place, or what you ate, or what you didn't and did like... but you can happily talk about future products that they decide to allow you to and you can make graphs comparing the food you ate to other food you've eaten and how fast the stuff passes through your digestive track. This is all to protect that resturant from other competition.. they don't want anybody leaking anything about their recipes.. even though that has very little to do with the actual act of eating and enjoying the food.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 2:41 UTC (Tue) by elanthis (subscriber, #6227) [Link] How about you all stop stretching an analogy well beyond its original context? :)
Read the EULA, please Posted Feb 19, 2008 8:42 UTC (Tue) by khim (subscriber, #9252) [Link] Then come back and say it again. EULA (which you are supposedly agreed with but looks like in reality to not even read) forbids a lot of stuff and there were a lot cheating embedded in nVidia drivers (in extreme cases drivers just ignore shader code totally and are using totally different hand-crafted shaders which don't even look like original). Sorry but this analogy is closer to the reality then what you are implying...
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 0:04 UTC (Tue) by airlied (subscriber, #9104) [Link] So this article is missing some info... 1. Intel does get community development on its driver. Red Hat have done a lot of work on the Intel driver to bring up new X features. Having an open source driver means we can develop new core X features and things like kernel modesetting. Before I joined Red Hat I wrote a lot of the kernel modesetting driver for Intel hardware, I also wrote some support for driving the external chips on those machines. DRI2/modesetting/TTM is all happening on Intel hardware primarily. 2. AMD have employed Alex Deucher to work on their open drivers, I also contribute code and we also get major contributions from the community (rs690 support for 3D was a contributor we have never seen before). They are also paying SuSE to work on radeonhd. However I'm not sure how much community contribution radeonhd gets. So I don't think AMD have a major advantage over Intel in this area, they had more community contributors since they stopped helping the open source community, but they had no real support model for their cards for their enterprise distros except fglrx. So currently the AMD area is still in major flux and cannot be used as an example of a stable situation. 3. NVIDIA only care about money. The reasons for Intel/AMD to open up their drivers won't work on NVIDIA, NVIDIA don't have major money to lose in other areas due to not having open source GPU products, Intel and AMD do. The biggest problem NVIDIA will have will when the community developed driver starts being shipped in enterprise distros their enterprise customers will start to push back on them to support it instead of supporting the nv driver. This happened before with network drivers. How this will work out is unknown at present, but I think developing the nouveau driver is not in any way helping NVIDIA, their customers are not you and me, they are Dell and HP, until they put pressure on them anything the community does is irrelevant.
It's all about Ubuntu Posted Feb 19, 2008 1:44 UTC (Tue) by arjan (subscriber, #36785) [Link] very good comment; I totally agree that only HP/Dell/IBM/etc can make nvidia change their mind. However I suspect it's all about Ubuntu. 3D cards ship primarily on non-server machines (just to avoid the word "desktop":), and that's the domain ruled by Ubuntu (and Red Flag in PRC). So it's waiting until Ubuntu changes to nouveau to see any kind of traction. I hope nouveau gets to a level soon where distros can default to it. That doesn't mean it needs to have full complete super duper fast 3D; it means it needs to have everything for a good destop (xrandr, composite etc) and maybe some basic 3D to make some of the compiz fancy stuff work
Reverse engineering: more than NVIDIA deserves? Posted Feb 28, 2008 19:43 UTC (Thu) by m94mni (guest, #50822) [Link] There you have it, I agree completely that a likely scenario is that the nouveau driver gets popular, and NVIDIA is compelled into supporting it or open sourcing their own. As have been stated my many posters, people buy NVIDIA to get superior hardware. When the built-in driver (nouvaeu in the future) starts to be *almost* all what people need, I believe many customers (individuals and companies/organizations) *will* start complaining about it. To save face, NVIDIA might need to make sure the driver works better.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 2:05 UTC (Tue) by drag (subscriber, #31333) [Link] I like that people are working on free software Nvidia drivers.. those people are doing some cool stuff and are bringing in much needed improvements to the whole open source driver stack that are going to benefit ATI and Intel driver improvements. I like what they are doing, I appreciate what they have accomplished and what they continue to do.... So don't get me wrong when I say this: I'll use Nvidia hardware if I have a need for it. So they'll get my money, and that's all they care about and I know they couldn't give two craps about my opinion of them. But otherwise I will avoid them like the plague (and I do.) Still I tell people that if they need 3D performance in Linux that they should buy Nvidia. Why? Because that's the truth. And unfortunately Nouveau just isn't going to match the performance or stability of the Nvidia hardware in any sort of effective timeframe. It's just very unfortunate. Maybe I am wrong, hopefully I am wrong. I feel the efforts on creating a open source Nvidia driver is wasted on the end users. So if the developer's goal is to make open source drivers for people to use on their nvidia hardware, then that's a total bust from the beginning. They are making a mistake. Conversely, If their goal is to learn hardware, learn software, and personal satisfaction of working with very modern hardware (or other things along that line), then that's a entirely different thing and I wish them all the luck in the world. The most Nouveau will ever get used for, at this point or any other point in the future (until the supported hardware is so obsolete that Nvidia cease caring about the people still running it), is to let Ubuntu boot up with 3D support long enough so that users can click the 'yes' button to install proprietary drivers. Why? * People who care about open source drivers are going to purchase Intel or AMD hardware. (preferably Intel, IMO, since AMD has released no documentation on 3D stuff and has released no code for it.. while Intel has released full documentation and full source code) * People who do end up purchasing Nvidia hardware for Linux either do not care about open source drivers (or don't care about them that much) or require the performance Nvidia offers for their purposes, and thusly will install the nvidia drivers due over the open source driver in almost every case. By buying Nvidia hardware in the first place they are voting pro-proprietary driver (in the eyes of the Nvidia corporation) in the strongest manner available to a end user. * New users to Linux who cluelessly (through no fault of their own) use machines with Nvidia hardware will simply not have the desire to keep using the inferior performing driver and will want the same level of performance they are used to in Windows. That's all. I want it to be known that I do not have a problem with them working on it. I don't think it's going to 'reward' Nvidia in any way.. I don't think that Nvidia gives a crap, and even if they did I don't. Even if it _totally_ benefits Nvidia, I still ain't going to worry about it. Life is to short to avoid doing good things because it may benefit somebody you have a problem with. From a purely selfish standpoint I would like them to devote their time to supporting _my_ hardware (Intel GMA stuff), but I can't see how that fact would excite them or motivate them in any fashion. I mean I would _love_ to have faster graphics and be able to tell people to purchase AMD or Intel (for better compatibility and stability) without the caveats of low performance with OSS drivers. So my vote is for them to drop everything that they are doing and work totally for the best Intel driver humanly possible in the shortest time frame. ( They should be happy, and probably are, that my vote has utterly no impact or control over anything they do, nor should it. )
Do it for the users Posted Feb 19, 2008 4:10 UTC (Tue) by midg3t (subscriber, #30998) [Link] There's no evidence of nVidia becoming nice, so I think the wise thing to do is keep reverse engineering — for the users.
I bought a laptop with a broadcom wireless chip. At the time there was no driver for it, so I just used wired networking for a year. Then the
One commenter pointed out that reverse engineered drivers are usually months or years behind their competitors. Combined with a large user base, that becomes noticeable in a business sense (I think they call it "lost sales"). An example here is the There was some interesting discussion between Dirk Hohndel and Dave Airlie at the end of Dirk's talk at LCA (video). Dave's point was that nVidia misses out on big contracts such as when Dell seeks suppliers, because Dell requires that all the hardware have supported, free drivers. Again, money talks. Corrections welcome.
Thanks Nouveau; dry up nVidia Posted Feb 19, 2008 5:39 UTC (Tue) by grouch (subscriber, #27289) [Link] The stockpile of existing NVIDIA cards need free drivers. The Nouveau development team's work will deal with these.NVIDIA's attitude is the reason I haven't purchased anything with their name on it in a very long time. That includes motherboards that mention their name. NVIDIA provides a strong incentive to avoid their products. The Nouveau developers provide rescue for trapped users. Nvidia provides traps. IMO, there's nothing wrong with thanking the rescuers while warning about the trap-maker.
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 9:07 UTC (Tue) by lolando (subscriber, #7139) [Link] While I see the point of the article, I think some mitigation is missing. Nouveau people are probably great at what they do, but they can only support past Nvidia cards. From my meagre understanding of how driver development works (and from what I read about radeonhd), each new generation of hardware needs a very different driver. So future Nvidia cards won't be supported right after they reach market, while it's quite possible that ATI and Intel cards are. So even if there eventually is a working driver for new Nvidia cards, there will still be an advantage for the other brands: the other cards will be supported in-tree (and out of the box) right now, rather than a year later when the card is obsolete (from the marketing point of view — I'm quite happy with my five year old Radeon 9200).
Reverse engineering: more than NVIDIA deserves? Posted Feb 19, 2008 11:17 UTC (Tue) by Richard_J_Neill (subscriber, #23093) [Link] There is a flip side to this: if the nouveau people weren't reverse-engineering the nvidia driver, there'd be less incentive for Intel/ATI to do the right thing. Personally, I'd love to buy an AGP (or PCI-X) card from Intel, but there's none available. And I do need a dual-head card, with DVI rather than VGA. As for ATI, have had endless trouble with fglrx, and am now running my laptop with the vesa driver. Nvidia's driver is a pain to install, but at least it usually works reasonably well. Also, don't forget the Open Graphics Project.
Who Cares? (besides gamers) Posted Feb 19, 2008 16:55 UTC (Tue) by tjc (subscriber, #137) [Link] I'm wondering, is there anyone who *doesn't* play 3D games who even cares about this? I've been using Intel's open-source drivers for years without any problems. I'm in the process of buying a new notebook, and the first thing I did was eliminate from consideration anything that doesn't have Intel GMA X3100 graphics. That still leaves me with a lot of good systems to choose from. I guess if I were a gamer I would just dual boot Windows. If you're going to use proprietary software for something as critical as a graphics driver, why not go whole-hog and use a proprietary OS as well?
Who Cares? (besides gamers) Posted Feb 19, 2008 17:27 UTC (Tue) by wingo (subscriber, #26929) [Link] A working nouveau is important even to those who use nv; without it, my ppc laptop won't display to a projector. I haven't had 3d for years -- it sounds nice in theory ;)
Who Cares? (besides gamers) Posted Feb 19, 2008 21:16 UTC (Tue) by oak (subscriber, #2786) [Link] > I'm wondering, is there anyone who *doesn't* play 3D games who even cares about this? Hm. I care about things like: stability, low noise / power consumption / heat (especially in summer, integrated gfx chips are great here), good video quality & connections, full support for latest X extensions (Xv, Xrandr, ...) etc. Some 3D support is nice, but my 3D gaming is mostly retro, so about any 3D card suffices. > I guess if I were a gamer I would just dual boot Windows. If you're going to use proprietary software for something as critical as a graphics driver, why not go whole-hog and use a proprietary OS as well? Or buy a games console...
Who Cares? (besides gamers) Posted Feb 20, 2008 17:10 UTC (Wed) by mrshiny (subscriber, #4266) [Link] I bet a lot of the nVidia linux users are windows dual-booters. I, for one, dual-boot Windows to play games. But I still use the proprietary nVidia driver because it beats the pants off the nv driver. In fact my current notebook doesn't even work with the nv driver, but even on my last two PCs the nv driver was only barely adequate. Some users have certain requirements from their hardware: for me, acceptable 3D for games is one requirement, and also, I stopped buying ATI after I had numerous bad experiences with their (proprietary windows and free linux) drivers. When I buy a nVidia card I know that my 3D will work, my dual-head will work, and my TV-out will work. And because I do use Windows for gaming I can't settle for an Intel card even though I would like an open driver. Given that I am already going to buy a nVidia card for use in Windows, is it still a contradiction that I want a free driver in Linux? I'd say no. My only other choice would be to buy a game console, but that's even less free/open than a computer. As for "going whole-hog" and using Windows exclusively... let's not exaggerate. Windows is for certain tasks only, mainly games. Just because I play games doesn't mean I shouldn't be using Linux the rest of the time.
Who Cares? (besides gamers) Posted Feb 20, 2008 17:21 UTC (Wed) by ikm (subscriber, #493) [Link] > I'm wondering, is there anyone who *doesn't* play 3D games who even cares about this? Content producers (as opposed to content consumers) — 3d modeling, games/3d-enabled soft development, CAD applications (though I'm not sure there are Linux apps for the latter). 3D is used not only to draw some fantasy settings, but to visualize real-world structures (chemistry, medical, physical appliances etc). Another use for 3d hardware with Linux is to build public terminals/etc with 3D eye candy. Stuff like that. This crowd is not large, though.
Who Cares? (besides gamers) Posted Feb 21, 2008 22:20 UTC (Thu) by tjc (subscriber, #137) [Link] > This crowd is not large, though. That was my thought, that this is 99% gamers, and 1% everything else.
OT: S3 / VIA adapter drivers? Posted Feb 19, 2008 17:54 UTC (Tue) by tzafrir (subscriber, #11501) [Link] Off-topic: what's the status of S3 Unichrome and such drivers on on-board Via chipsets? How (un)cooperative is Via?
OT: S3 / VIA adapter drivers? Posted Feb 21, 2008 16:02 UTC (Thu) by tjc (subscriber, #137) [Link] http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=3DStatus
Missing perspective Posted Feb 19, 2008 23:05 UTC (Tue) by filipjoelsson (subscriber, #2622) [Link] There's an open driver for Intel, and the AMD/ATI people are slowly delivering specs - but where exactly does the contributed drivers/specs plug in? Until recently a little of it went into the kernel, and then a duplication of effort in X, with some 2D stuff completely divorced from the 3D stuff that went into an opengl implementation. And using both frame buffer driver and X.org driver for the same card was discouraged (sometimes or always? dunno). Now stuff are evolving into a coherent infrastructure, with Gallium 3D picking up the 3D interface - and kernel duplication slowly migrating out of X.org (with the vision of not having to run X as root some time in the future, yay :). If this infrastructure is built primarily around one hardware implementation, it may turn out not to be as useful as we are currently hoping. So the more, the merrier. I think Nouveau development isn't detracting from the other free implementations, since it adds in the common parts of free 3D graphics and since it raises the general level of expertise (sp?). Do we know for a fact that these developers would have been working on Intel/ATI drivers, if there had been no Nouveau project? (Well, I mean apart from David Airlie... ;)
Old hardware Posted Feb 19, 2008 23:31 UTC (Tue) by ncm (subscriber, #165) [Link] I run the nv driver on my laptop and on my desktop. I use an nvidia card in my laptop because the Intel chip would steal bus cycles. I put a spare nvidia card in my desktop machine last month because the X server driving the Intel chip had begun crashing; thus far it hasn't crashed with the nv driver. I don't see any way for the above to be forced into the notion that stopping development on Noveau would punish Nvidia or help ATI or Intel. That seems like many interesting and plausible hypotheses that turn out to fail to connect with anything in the real world.
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 1:27 UTC (Wed) by th0ma7 (subscriber, #24698) [Link] I am actually planning to buy an upgraded video card since the last 6 months... Although their drivers are open source and well supported Intel has nothing interesting at the moment. And I'm so damm tired of fighting with closed source drivers (either ATI or NVIDIA particularly with their new legacy ones) that I'm currently waiting for either a working Nouveau driver and update to a GeForce FX abc or a working Radeon driver and buy an AMD/ATI xyz. I'll probably end-up waiting until next Christmas before making a final choice since I presume one of the two projects (or even both) will have sufficient supported hardware in both 2D & 3D. I actually dream that, running Linux, I may end-up having that choice to make between the two... unless nVidia buys-up AMD :)
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 3:22 UTC (Wed) by landley (subscriber, #6789) [Link] Keep in mind that both Intel and AMD are bundling 3D accelerators onto new processors, and this has been common knowledge for something like a year now: http://hardware.slashdot.org/article.pl?sid=07/03/29/1252203 http://arstechnica.com/news.ars/post/20070211-8810.html Here's actual product names (Intel's "Nehalem" and AMD's "Fusion") and shipping schedules. It all comes out about a year from now: http://www.reghardware.co.uk/2007/11/26/intel_cpu_integra... Ars Technica has a good summary of Intel's follow-up, explicitly comparing Intel's plans to IBM/Sony's Cell processor: http://arstechnica.com/news.ars/post/20070416-intel-offic... http://arstechnica.com/news.ars/post/20070604-clearing-up... The basic driving force is that transistor budgets keep going up. Even the venerable Pentium M had 2 megabytes of L2 cache, and Core 2 duo and Core 2 Quatro put 2 or 4 entire processors on the die in an attempt to soak up the transistor budget and translate that into performance gains and profit margins. But most desktops can't soak up more than a couple of processors before it's just not noticeable. (Servers may be able to, and developer workstations can, but most home computers doing email, web browsing, watching the occasional youtube video... The third and fourth cores just sit idle, let alone cores 5-8 on an 8 way system.) Bundling a GPU on the die is something all end user desktops want these days, and it just _sucks_up_ transistors. Now instead of 4 processors sharing a pool of L2 cache, you can have 2 processors and a GPU, and your average desktop can keep them all running at full speed. It also means you can increase the L2 cache size again (because it's now used as texture memory too, so you can go to 16 megs, 32, 64...), and it means that the highest clocked hardware in the system is locally processing graphics with the fastest possible interconnects with the CPU. (There isn't even a _bus_ between the CPU and GPU anymore.) Of course if Intel's doing this, AMD is too. (Why do you think they bought ATI?) Where does that leave Nvidia? Well, nvidia is trying to stay relevant by purchasing a physics engine company and hoping all the game consoles start using that: http://www.pcper.com/article.php?aid=222 http://technologyexpert.blogspot.com/2008/02/geforce-8-gp... That's really what Nvidia cares about: game consoles. If they have to make a choice between game consoles and PC GPUs, it's pretty clear where their money comes from. They're also trying hard to grab as much volume as they can before Intel and AMD bundle GPUs on-die with the CPU, perhaps to get game developers hooked on their physics engine before the market for standalone 3D chips goes the way of the northbridge: http://www.reghardware.co.uk/2007/10/29/gpu_market_q3_07/ To which Intel replied: http://www.reghardware.co.uk/2007/09/17/intel_to_buy_havok/ *shrug* It's interesting to watch. The market is driving Intel and Nvidia into direct collision (especially as people try to use GPUs as general purpose compting devices), and Intel is pretty darn good at what it does...
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 17:37 UTC (Wed) by ikm (subscriber, #493) [Link] Interesting read, thanks.
Reverse engineering: more than NVIDIA deserves? Posted Feb 20, 2008 4:55 UTC (Wed) by Ford_Prefect (subscriber, #36934) [Link] I think this article is a surprisingly extreme critique of what a bunch of people decide to do with their own time. NVidia really isn't getting free drivers out of this. Unless they actually support this project, they're going to have to keep providing their own drivers. The Nouveau devs benefit because they're having fun, and the community benefits from open source drivers, but NVidia gets nothing unless they officially start supporting the Nouveau project. People who choose to not buy NVidia hardware for lack of openness will still not buy their hardware, and people who don't care about openness will continue to not care.
Reverse engineering: more than NVIDIA deserves? Posted Feb 28, 2008 10:43 UTC (Thu) by ketilmalde (guest, #18719) [Link] > I think this article is a surprisingly extreme critique of what a bunch of > people decide to do with their own time. Amen. And with their own computers, I might add. Nvidia has been our -- well mine, at least -- sole provider of working 3D (and other features) on Linux. Sure, I'd prefer an open source driver, but I actually, you know, *use* my computer, I don't keep it as a tribute open source religion. I used to laugh about the old-times comparison of free software to communism, but the emphatic instence from vocal elements that I should only use my computer in specific ways to fulfil their moral views, that is right there with oppressive dictatorships - and thank god these people don't have any actual way of enforcing this. (Although attempts are being made at sabotaging my user experience by legal threats against distributors) What ever happened to the idea that open source was about the freedom of the user? That I shouldn't be bound by the whims of my software supplier to decide how to use my own computer? You don't like nVidia, fine: go buy Intel or whatever floats your boat. Help ATI, the prodigal son of open source, develop drivers. Blog about configuration. Or, flame me for being morally corrupt and not part of the community (although I do develop some free software, being part of the community seems to be more about moral outrage about the free, individual choices others make. Who's our glorious leader anyway, Linus Torvalds or L. Ron Hubbard?) Corbet says: > NVIDIA, instead, is giving us nothing - and, in return, we are giving it > an eight-person development team dedicated to the production of free > drivers for its hardware. Nvidia has done nothing for the free software community, well, except making free software a viable option for more people. Without Nvidia, I'd still need to have a Windows partition. And I don't know who the "we" are here - I certainly aren't paying for anybody to work on it. It seems very strange to be doing all this "giving", and at the same time be so annoyed about it. I guess it's those poor Noveau folks, they just aren't capable of comprehending the consequences of their own choice? I bet they feel really good about Jon helping them see the error of their ways. Or maybe they, like me, aren't part of the "community"? I nominate that paragraph as the most offensive thing on LWN so far. Here's what I think: 1) In contrast to the vocal moralist faction, lots of Linux users will continue to buy nVidia as long as it remains the only working solution. 2) If and when Noveau is working well enough, people will start to switch, at the point where the driver-features/emotional-attachment-to-free-software ratio is right. 3) If and when ATI delivers a working open source driver, most Linux users who need 3D will buy ATI - unless nVidia also provides an open source driver. At least, this is what I will do. What will *not* happen, is that people will buy non-working ATI cards just to satisfy other people's sense of morality. And if Linux continues being the vehicle for moral enforcement, and stops being the right tool for the job, I predict a glorious future for FreeBSD. -k
Reverse engineering: more than NVIDIA deserves? Posted Feb 28, 2008 21:06 UTC (Thu) by nix (subscriber, #2304) [Link] Your whole post was a tissue of logical fallacies, but I'm just going to mention this one because it's rather amusing:I used to laugh about the old-times comparison of free software to communism, but the emphatic instence from vocal elements that I should only use my computer in specific ways to fulfil their moral views, that is right there with oppressive dictatorships - and thank god these people don't have any actual way of enforcing this.i.e., they're not like oppressive dictatorships? I'd say it was an essential characteristic of oppressive dictatorships that they can dictate and oppress.
Reverse engineering: more than NVIDIA deserves? Posted Feb 29, 2008 8:01 UTC (Fri) by ketilmalde (guest, #18719) [Link] > i.e., they're not like oppressive dictatorships? Yes. They share the mentality, but thankfully not the means. > Your whole post was a tissue of logical fallacies, but I'm just going to mention this one because it's rather amusing: Since it apparently wasn't clear enough what I meant, allow me to restate: Some people think that because they (are part of a "community"|contribute to the Linux kernel|believe in the right deity|are devout members of the right party), this equips them with the superior morals to decide what others should and should not do - as well as claim ownership of others' resources (confer Corbets "we", relating to the time and effort of eight people developing Nouveau drivers, or the notion that the nVidia binary driver is somehow a derived work of the Linux kernel). I find the notion offensive, and counter to the spirit of free software as I understand it. Now if you have a problem with that, I'm sure you can do better than offer patronizing and prejudicial remarks. Can't you? -k
Reverse engineering: more than NVIDIA deserves? Posted Feb 29, 2008 22:20 UTC (Fri) by nix (subscriber, #2304) [Link] I've only encountered people trying to tell volunteers what to do a few times in more than a decade of observing numerous development lists. In each case the result is... well, generally the poor sods get laughed at, whch is even worse than flaming :) It seems to me that you're complaining about a vanishingly rare problem which is easily dealt with (oh, so you're *not* paying us, but presume to instruct us? We'll ignore you. That was easy.)
rhetoric in the movement Posted Mar 2, 2008 0:31 UTC (Sun) by jabby (guest, #2648) [Link] There are a few issues going on here that need to be disentangled from each other in order to make sense of it all. One of them is particularly interesting to me (the "we" confusion) because I was accused of the same thing not too long ago and it really stung. Thus, I am motivated to engage in this exercise... I think Mr. Corbet was quite clear at the end of the piece in saying that no one can force anyone to stop developing free drivers and explicitly stating that it was an admonishment to each individual developer to consider the consequences of their free software |