NVIDIA Linux Drivers, finding a solution
08/20/2008 - 20:29
Update:
This is being retracted. In the future it would be good (and highly appreciated) if anyone from NVIDIA could take a few minutes to ping the kde-devel mailing list or something similar with links to pertinent posts on the nvnews forums when fixes are in the pipeline. Again, the effort to fix things up to now is appreciated.
New driver release out 177.70
http://www.nvnews.net/vbulletin/showthread.php?t=118602
The real problem
The real problem, which is recurring again and again in the form of different symptoms, is that the driver is proprietary. Proprietary drivers mean they aren't developed in the Linux kernel resp. X.Org upstream repositories, so they always lag behind new Linux kernel or X.Org X11 releases. They also mean only the manufacturer can fix any issues in it, there was no way for a KDE developer to step in to fix the problems hitting KDE, nor to influence the release schedule to have a working driver out in time for KDE 4.1. They also mean development is done behind closed doors, so users can't use development snapshots, they have to wait for the manufacturer to make at least a beta release, and even those only happen after some internal testing, so users have to wait for several days before they can try out driver improvements, whereas for Free Software drivers, improvements can be tried the day they're committed (and pushed, something which should really happen at each commit like it automatically did with centralized systems, but that's a separate rant ;-) ). All in all, proprietary drivers, like any other proprietary software, mean the community is not in control.
To some degree
To some degree this is the case, and I think there is evidence to show that open sourcing of drivers has really paid off for some companies. That being said, I can understand why NVIDIA wouldn't want to open source their drivers and I would be satisfied with more reasonable performance and releases which more closely match their Windows counterparts.
2author: For you Open Source
2author: For you Open Source is religion.
Nvidia drivers better then Ati binary drivers. Ati OpenSource drivers don't support new cards.
You are not unbiassed at all!
nothing to do with open source
In fact this has nothing to do with open source. I could care less if NVIDIA open sources their driver and I don't care if either the RadeonHD or the other ATI open source driver (the name escapes me right now) are ever that good.
The fglrx drivers are now much better, AMD is attempting to do same day releases with Windows and Linux drivers, and has done a great service to Open Source operating systems by making documentation available for developers, allowing them to provide a decent experience out of the box on Linux.
Nvidia drivers better then Ati binary drivers
A year ago you would have been right, now the fglrx drivers are much better than the drivers which NVIDIA provides. There weren't warnings for poor performance on ATI hardware during the release of KDE 4.1 were there.
I suggest you crawl back to your pathetic little cave before you embarrass yourself more. Next time you should actually read what is posted before firing off your mouth.
I like the idea and hope they
I like the idea and hope they give it a try.
I would like to point out a small omission in you letter though: Why only target the users of geforce cards? I have a quadro fx 570m which also suffers from really crappy performance in KDE4/Gnome+Compiz.
Strange thing is that it's a lot smoother in OpenSolaris and FreeBSD.
probably not
I honestly don't think that writing a bunch of negative letters will work at all in this case.
The letter asks for a significant investment in communications from a company that needs all the hands they can get on development, and do so in a fairly aggressive manner.
NVidia isn't exactly open source friendly at the moment (there are notable exceptions within the company, but as a whole that's how it is), and I don't see a letter writing campaign from a tiny % of their sales base changing that.
There are other ways to get NVidia more on "our side", and those are currently playing out. They involve things like their competitors opening up their drivers, us working speaking more with their devs (I trade emails with them occasionally as do others) and providing financial and technical reasons for them to move closer to us (increasing our market share, Gallium being GPL'd, etc).
Those are things that are likely to speak louder to NVidia and make real change. A liaison would likely be little more than a mouth piece without actually being able to affect meaningful change anyways.
So while the current situation is frustrating, I think the only thing we can do is to continue to encourage people to use hardware from companies that are actually free software friendly while the rest of the encouragement strategies play out.
But I'd really prefer not to see something like this letter campaign come out of the KDE camp. It's likely to hurt more than help at this point, well meaning as it would be.
Significant Investment?
I honestly don't think that writing a bunch of negative letters will work at all in this case.
I have already attempted to adjust my message to have it not be negative. I merely want this to be constructive.
the letter asks for a significant investment in communications from a company that needs all the hands they can get on development
NVIDIA has nearly $1 Billion (US) in revenue each quarter and employs over 5,000 people. I'm only asking them to employ one more, which could be at whatever salary they deem to be fair. I'm not telling them to do that, and if they say no and tell me good reasons why it's a bad idea I'll drop it, I won't even revisit it. I'd be in favor of simply establishing more clear and more public channels of communication if the investment in more personnel can't be made.
I don't see a letter writing campaign from a tiny % of their sales base changing that
Maybe it won't, but if I did everything in my life based on how small and insignificant I am I wouldn't be getting anywhere. I can easily flip that around, Linux is less the 3% (generously) of the desktop market share, and of that KDE only represents a fraction of those desktops. Does that mean you should stop working on KDE? Does that mean I should just give up the project to make the Dot nicer? I imagine that you prefer to be proactive and so do I in the small way that I can.
us working speaking more with their devs
This would be great. But when you're a developer working at a company as large as NVIDIA I can't imagine that much time goes into communication (at least with those outside NVIDIA). I think it's great that you communicate with them, but I think if a growing number of open source developers just kept clamoring at them they wouldn't have the time to get things done. Having a person that communicates what you're doing effectively certainly seems like it would be beneficial. I could be wrong on this though.
providing financial and technical reasons for them to move closer to us
I imagine the financial and technical reasons exist. Development you don't have to do is generally money saved. However, if we continuously sit silent on this issue I don't think anything will actually get done on this front.
A liaison would likely be little more than a mouth piece without actually being able to affect meaningful change anyways.
This would largely be up to NVIDIA and how they handle it. It they do it right (tm) the Liaison's opinion will be heard, and things will get done. If you feel that there is something that would better address this (things we can actually do since we won't be their competition anytime soon I think) I would be happy to remove this post in favor of something else or to support another initiative provided good reasons are given.
But I'd really prefer not to see something like this letter campaign come out of the KDE camp.
I'm just a user. I know C++ and I understand Qt on an academic level but I certainly can't dig into KDE's code and get hacking. I've updated the post to make this very clear.
It's likely to hurt more than help at this point
Please let me know how I can adjust this posting to make it more clear that I simply want to establish better communication. You can reply to the post, you can use the contact form on the site, or you can also get my e-mail address on the kde-promo list or elsewhere. I am happy to adjust or change this message, but I seriously think that better ties need to be made and I don't think it will happen if we just sit around and wait for Linux to be an overwhelming market force on the desktop.
Not quite
NVIDIA has nearly $1 Billion (US) in revenue each quarter and employs over 5,000 people.
Do you know how much of this is Desktop GNU/Linux? If we're lucky it's enough to cover one day worth of development. NVIDIA's GNU/Linux market is research and rendering labs. Asking them to work on this stuff is asking them to make a donation to Free Software desktop. In case that wasn't clear to you, they're a business not a charity. That's why they need to see a business case for what they're doing.
Maybe it won't, but if I did everything in my life based on how small and insignificant I am I wouldn't be getting anywhere. I can easily flip that around, Linux is less the 3% (generously) of the desktop market share, and of that KDE only represents a fraction of those desktops. Does that mean you should stop working on KDE? Does that mean I should just give up the project to make the Dot nicer? I imagine that you prefer to be proactive and so do I in the small way that I can.
This is based on another fallacy. It's nice that you're trying to do something but you need to stay within the area of your expertise. There are people who actually understand how their business works and what are the issues they're facing. They're talking to companies like NVIDIA and every single time someone pops up with another idea on how "the community" needs to fix it, they suffer a setback, as it makes them, being part of "the community" look childish.
Also you bought a piece of hardware from a company that is very clear about it driver development model and complain that you don't like their driver development model? It's like buying Microsoft Office and then sending email to Microsoft that you don't like the way they develop it because it doesn't work all that well on my GNU/Linux machine. Use hardware from vendors who actively support the community. You can politely send them a message then saying that you'd have loved to use their hardware but unfortunately you were forced to use one of the other vendors GPU due to their support of the Free Software desktop community.
Oh, and you mentioned that you couldn't care less whether they'll make their drivers Free Software which is a really sad statement. KDE is about Free Software, if that's one of the things you don't care about then your post shouldn't really be on planetkde.org . Free Software is something that connects all the people in the KDE project.
realistically
That's why they need to see a business case for what they're doing
Enough people complaining about something can usually justify a business decision. If we never make ourselves known then companies such as NVIDIA will always pass us by even if it's a reasonable investment.
There are people who actually understand how their business works and what are the issues they're facing.
Yep, and NVIDIA has many more pressing issues. I'm aware of this. However, people at NVIDIA are people, they don't necessarily know about every market they're going to be successful in.
Also you bought a piece of hardware from a company that is very clear about it driver development model and complain that you don't like their driver development model?
Yep, I suppose I am. However a year ago the lag time was usually quite a bit less between driver releases and there weren't pretty bad 2d and 3d performance issues coming up a year after a series of cards was released. In hindsight, I made quite a bad choice. Had I known that ATI was going to get their act together I would have gotten an ATI card.
You can politely send them a message then saying that you'd have loved to use their hardware but unfortunately you were forced to use one of the other vendors GPU due to their support of the Free Software desktop community.
This would be great if I had money pouring out of my ears. But I'm a student so I'm pretty much stuck with what I bought.
Oh, and you mentioned that you couldn't care less whether they'll make their drivers Free Software which is a really sad statement.
Realistically this isn't going to be happening any time soon. I don't think or expect that everything is going to be free software, and even then free software can mean wildly different things to different people. I'm passionate about Open Source software, however I don't expect that everything will or even can be Open Source. However, when the drivers of a company such as NVIDIA impact performance of KDE and other things on the Linux desktop I think there is the need to say something.
More pertinently however, this post is by no means a request for them to Open Source anything. It's a request simply for better communication. That's all. So far no one from NVIDIA has contacted me telling me that I'm way out of line or anything really. They by all means can, in which case I'll remove this and there won't really be any harm done. But I imagine this doesn't even register as a blip on their radar.
RE: Significnt Investment
>NVIDIA has nearly $1 Billion (US) in revenue each quarter and employs over 5,000 people.
revenue does not equate to profit, and their x.org software team is rather small. the reason for the latter is due to the budget they get, reflecting nvidia's commitment to x.org vs, say, Windows. so we're actually dealing with a small % of the profit, which in turn is a % of the revenue. From the inside, they look at the ROC equation.
> Does that mean I should just give up the project to make the Dot nicer?
this is not comparing the same thing; you are comparing working from within a project of size X whose shared values are similar to your own with trying to influence an organization that is N*X in size which doesn't really give much of a hoot in the big picture about F/OSS from the outside.
> if we continuously sit silent on this issue I don't think anything will actually
> get done on this front.
I agree. There are more effective and less effective means, however. Mentioning their poor performance in a technical errata linked to from our release announcement as a service to our users is neither threatening or adversarial in nature to nVidia. They've offered a nice apology and have prioritized performance for us; this is the second time in 8 months they've done that, actually.
They are listening as best as their team can manage, and we are communicating with them.
We also walk a fine line of just pissing them off entirely and having them turn their backs on us in the future.
> more clear that I simply want to establish better communication
I think that is a valid and worthwhile goal; the question is how to achieve it.
Now, we currently have people on the nVidia Linux driver team who are open advoates for KDE. Yes, we have people "on the inside". They are doing as much as they can and we do communicate with them fairly regularly. This friendly relationship into an otherwise less-than-friendly company is exceptionally valuable, and something we ought to foster and not endanger.
I'm not going to share names and email addresses because I don't want them to be swamped with everyone jumping at them simultaneously. There are several KDE developers who are in touch with them, however. If you have a message to pass on, I can definitely hook you up.
Also note that prior to the recent beta driver release and around the time of 4.1.0 they posted to their forums about their awareness of the situation and that they were working on it. So they are communicating, if to their audience on their forums.
What might be nice is for people who follow that forum to blog about those communications more; I could have, and probably should have, done exactly that in this case.
So what I'm saying is that we're actually in a better position than might be immediately apparent at first, that this situation needs care to keep it healthy and that perhaps right when nVidia brings out a release with work in it pretty much just for us that we should be rewarding that behaviour. We can suggest further improvements another day.
Perhaps we could even invite some of their team on to a (moderated?) IRC channel for a "town meeting" style event where questions could be asked and information shared both ways. That would seem to me to be even more effective than a letter writing campaign.
retracted
My post has been retracted. I now only have a request to send a message to the kde-devel mailing list when there are pertinent fixes upcoming with NVIDIA drivers.
overreact?
Isn't that a little bit unfriendly and overreacting? I mean: Nvidia seems to fix the problems pretty fast, at least much faster then I had expected and even hoped. KDE4.1 was released not a month ago and there already is a beta fixing most of the problems people had. Nvidia actually apologiezed to the KDE4.1 users.
A batch of unfriendly emails won't fix the relationship between Nvidia and Linux/Unix. The increasing quality of fglrx-drivers plus the (upcoming) OS-drivers for ATI/Intel pushed Nvidia in a defensive position and only an open-source-driver project could get Nv out of it.
Not new
The 2D performance problems did not start with KDE 4.1, or 4.0, or even the release candidates. They started when the GeForce 8 series cards were first released early last year (2007). They got much, much worse when projects like KDE 4 last fall and Firefox 3 this year started exposing additional flaws in the driver by making use of long-standing but until then rarely utilized features of xorg. So the 2D performance issues date back to early last year, and the crippling 2D performance issues date back to last fall, but they were not officially acknowledged by Nvidia until a couple of months ago. Until then Nvidia strenuously denied that any problem existed at all. This is not a new problem, it is simply getting more publicized as more and more people use software that suffers from them.
This is a Much Older Problem than KDE 4.1
This problem has been around much, much longer than KDE 4.1. I bought an 8600GT when they very first came out and was wondering for the longest time why it seemed to inconsistently run much slower than an older, cheaper ATI card I had. In fact many of the very old "Firefox runs low on (K)ubuntu" threads on Ubuntuforums.org can be traced back to this problem more than a year ago as Firefox seemed to trigger Nvidia's bugs the most.
Unfriendly?
I don't see how a suggestion to improve NVIDIA's communication with the Open Source community is unfriendly. It's great that NVIDIA is implementing fixes and listening to users, however this happened after KDE 4.1 was released. Wouldn't it be even better if a driver with the fixes had been released before 4.1 was complete or shortly thereafter? I think it would have been much better if NVIDIA didn't even have to apologize.
Is there something specific about this you see as being too extreme? If for some reason there is I'd be happy to revise this. As it stands right now I think NVIDIA would benefit from having an Open Source Liaison.
Unfriendly like spamming their mail account
I think it is a bit unfriendly to let everyone forward the same mail to them again and again. There is no advantage in this, i'd prefer some kind of petition. We don't want to crash their mail server, it would be enough to have a "working" driver (today and in future). At least for my card the last "fix" was like a joke. KDE3 got faster, some parts of KDE4 faster and others much slower. 2 steps forward and 1.9 backward, great "improvement". (sorry, i'm a bit irritated of the nvidia driver situation at the moment :-D)
Modified
I modified my post to make it so that it hopefully doesn't give the impression that I want people to spam NVIDIA with the same message. However, I think something needs to be said. I think there are plenty of somewhat unsatisfied customers of NVIDIA on Linux and rightly so.
You actually start the letter
You actually start the letter with 4 sentences of heavy critics. If you don't want to be unfriendly, first start with something friendly, like: It's nice to see you made good progress with fixing the drivers for KDE4.
Also I don't know if your suggestion would be of actual benefit to the open source community. Many people still think an open-source initiative from Nvidia might be announced this fall. Your suggestion on the other side shows them a cheap workaround that might not have any actual benefit to the open source community at all.
When did kde-devs actually contact Nvidia about the driver-problem the first time? I don't know Nvidias release policy, but it might be, it was just bad timing. Perhaps they had just tagged a beta release and did have to bring it's release to an end befor they could start working on the KDE problems. Who knows how complicated it was to fix the drivers, perhaps they even started working on it some days after being informed? It's not like they didn't communicate. They wrote they wanted to fix the problems in their forums and within the release-notes of their last drivers.
If you don't want to be
If you don't want to be unfriendly, first start with something friendly, like:
I have modified the open letter, I don't want this to sound overly accusatory. I certainly do appreciate NVIDIA's efforts up to now. But I think the situation can be made better in the future.
Your suggestion on the other side shows them a cheap workaround that might not have any actual benefit to the open source community at all.
If NVIDIA truly wants to commit to working with people in the open source world I don't think they will simply try cheap workarounds. I hope that this serves simply to reinforce that people care about NVIDIA performance on Linux and are willing to try and get reasonable communication channels set up regarding this.
When did kde-devs actually contact Nvidia about the driver-problem the first time?
I'm honestly not sure, but there certainly was some confusion on where performance issues should be reported. Again, I think NVIDIA having a Liaison would help solve these problems. It might be just of good an idea for KDE to have a Liaison to NVIDIA (and to other graphics card makers as well).
They wrote they wanted to fix the problems in their forums and within the release-notes of their last drivers.
While release notes are important, they probably shouldn't be a place for major communications. It's important to send clear messages through a number of channels to be sure that everyone gets the message. It wouldn't be a significant amount more of work to ping the KDE mailing lists to make sure people know things are at least being investigated.