"Nvidia needs to fix their code. If this is a burden, perhaps they should publish their code under a GPLv2-compatible license so we can show them how to do it."
Because people working for a (gasp) closed-source company clearly have no idea what they are doing. They can't possibly have 15 years experience writing drivers for a far buggier OS - no, it is a self-evident truth that a community of hobbyist developers knows how to do drivers better.
I truly would be ashamed to be a Linux kernel developer. The sheer arrogance so many of them display on a regular basis ... not all are bad, many are quite good. But at least a public company has the decency to restrain the rude and arrogant from offending everyone.
It's actually quite common for companies to open source their drivers, and then learn a lot from how the community cleans up the code. When I merged the Atheros L1 driver, Atheros pulled many of those changes into the L2 driver that was in development. Atheros knows a lot more than we do about the NIC, but we know more than they do about developing software for the Linux kernel. We have much to teach each other.
The same principle could apply to Nvidia, if they would like to participate.
For what it's worth, I *do* work for a public company, as do the majority of Linux kernel developers. I do not speak for them, but they do not censor how I speak for myself.
The kernel devs maintain a minty fresh internal ABI / API, and they update all the drivers in mainline to match, and they evaluate all the drivers in mainline to decide what to do.
If a company chooses to keep their driver a black box in that environment, they lose those benefits. If they open it up, the kernel maintainers can show them how to keep up with a moving target and do a good job.
Program Intellivision and play Space Patrol!
linux kernel devs are gods! they have the license to kill...so they do...users be damned! linux kernel is the greatest kernel ever...nothing like it has ever been written. nobody is as smart as linux devs...microsoft devs are idiots. solaris devs don't know nothing. don't get me started on the crappy bsd folks. nvidia devs are of course criminals because its anti-social to have closed source drivers...
that snook guy, really believes in all the above statements. He needs to look up dictionary for "idiot", get out of his rathole and start appreciating the world outside!
You're just trolling...
It's very simple to understand: Linux kernel keeps evolving and it cannot be stopped because some closed-source driver is not being updated accordingly.
I mean, Nvidia is multi-billionaire company! Can't they hire some 3 guys to keep their drivers updated with open-source kernels?
This is ridiculous!
I agree, instead of the kernel devs doing their jobs, they should do nothing.
That'll show that non-hobbyist OS who's boss!
The job of a kernel developer is to develop the kernel. Many are quite good at it - some (but not most!) are as good as, or better than, closed-source kernel developers.
But some Linux kernel developers think their job is to make noise about how much better they are than other programmers who work at less politically correct companies. Instead of fixing problems, these developers whine about anyone who disagrees with their political beliefs. This politics-driven development produces bad code (like Vista), and the bad PR would get somebody fired from most employers. Linux prospers because Linus, as an excellent manager, puts technical reasons ahead of political ones most of the time.
To everyone suggesting nVidia just open up their codebase ... well, how about Linux developers open up their codebase by interoperating with existing drivers? And meet nVidia halfway? The biggest barrier to accepting Linux on the desktop is the holier-than-thou attitude that comes with it - that the only good code is written by one of their own.
>The job of a kernel developer is to develop the kernel.
The job of a lot of kernel developers is actually just maintaining the kernel. nvidia artificially makes maintenance harder, yet the developers get to deal with the fallout.
If someone rerouted their helpdesk to me as a third-party bystander, I'd be pretty fed up too.
>Instead of fixing problems, these developers whine
Since they *can't* fix the problems, what should they do ? nvidia is giving linux a bad name, they might as well complain and distance themselves from it.
Running proprietary drivers is anti-social behaviour. Basically you're telling the kernel devs they need to shut up and just make it work for you.
>nvidia artificially makes maintenance harder,
for nvidia, perhaps
>If someone rerouted their helpdesk to me as a third-party bystander, I'd be pretty fed up too.
I don't think you seriously believe nvidia reroutes their support to the lkml, or that they expect people to post their problems with nvidia to lkml. Do you?
>Since they *can't* fix the problems, what should they do
Ask them to go to nvidia. That's it. Talking about their licensing terms is rather beside the point.
>nvidia is giving linux a bad name,
That doesn't make sense. nvidia's software doesn't even come with any Linux distro that I know. Who can confuse Linux with nvidia? Please try to stay on topic.
>Running proprietary drivers is anti-social behaviour.
I suppose you don't even know how much proprietary software you use on a daily basis. Think about it the next time you turn the key in your car or ride the elevator to your office.
>Basically you're telling the kernel devs they need to shut up and just make it work for you.
nvidia didn't ask the kernel devs to do anything. They will update their drivers and the world will continue turning just like it always has.
>I don't think you seriously believe nvidia reroutes their support to the lkml, or that they expect people to post their problems with nvidia to lkml.
No, they actually mostly ofload it onto the distributions.
>Talking about their licensing terms is rather beside the point.
I dont' think mentioning *why* the problem exists in the first place is beside the point. Otherwise people might start to fault the kernel-people for the way their kernel development process works instead of the actual culprit.
>>nvidia is giving linux a bad name,
>That doesn't make sense. nvidia's software doesn't even come with any Linux distro that I know. Who can confuse Linux with nvidia? Please try to stay on topic.
The same people who equate their wireless or any hardware on their computer with 'linux' ?
'linux' doesn't always work out of the box as it should partly because of proprietary hardware vendors, the ones who release some sort of binary blob to sort of work with linux being the worst. Those hardware vendors give 'linux' a bad name.
>>Running proprietary drivers is anti-social behaviour.
>I suppose you don't even know how much proprietary software you use on a daily basis. Think about it the next time you turn the key in your car or ride the elevator to your office.
I suppose, but let's try and keep it relevant.
>>Basically you're telling the kernel devs they need to shut up and just make it work for you.
>nvidia didn't ask the kernel devs to do anything. They will update their drivers and the world will continue turning just like it always has.
Some just don't like their freeloader attitude and will call them out on it, framerate be damned.
>The same people who equate their wireless or any hardware on their computer with 'linux' ?
What about them? I thought we were talking about giving Linux a bad name, not talking about people who can't tell the difference between their hardware and software.
>'linux' doesn't always work out of the box as it should partly because of proprietary hardware vendors,
Linux doesn't always work out of the box because users don't pay attention and buy hardware that has an acceptable level of support for Linux.
>Those hardware vendors give 'linux' a bad name.
Or you bought a new engine for your Ford car and it didn't fit. I suppose that gives Ford a bad name, too. You buy a win-widget, you get a win-widget. Still, completely off topic.
>Some just don't like their freeloader attitude and will call them out on it,
I think you like going off on tangents when you run out of on-topic arguments.
>What about them? I thought we were talking about giving Linux a bad name, not talking about people who can't tell the difference between their hardware and software.
Yes, drivers that break the normal development/upgrade process are detrimental to the brand, especially to people who are not intimately involved in the process. I don't see why that is such a difficult concept to grasp.
>Linux doesn't always work out of the box because users don't pay attention and buy hardware that has an acceptable level of support for Linux.
So is nvidia 3d acceleration supported ?
It's not in mainline, so no. But there are drivers, so yes.
So it's kinda supported, if you're lucky, which is a far worse answer than "yes" or "no".
The problem is nvidia wanting to have its cake and eat it too.
>Or you bought a new engine for your Ford car and it didn't fit. I suppose that gives Ford a bad name, too. You buy a win-widget, you get a win-widget.
Cute as car analogies may be, they're usually not very helpful.
>Still, completely off topic.
Just reasserting that doesn't make it true.
The problem has absolutely nothing to do with politics, but with kernel maintainance. If the driver is closed-source, and/or out-of-kernel, it wont get the needed updates along with the kernel update.
Then why no frozen ABI, so it's not needed? Because that would slow kernel development down, or force suboptimal solutions to problem, for the sake of the ABI.
Actualy, the argument about keeping stable ABI slowing down development is BS. Changing the kernel ABI all the time wastes everyone's time.
Sometimes, of course, the change _is_ substantiated. Sometimes. Then the API should change - but only then, not in every release, when some Linux developer decides that, for example, the last argument of some function is unneeded and it's possible to remove it and break ABI without gaining anything, as is the case with most ABI changes in Linux.
Good example on how to do this can be FreeBSD, btw. ABI is stable in a given branch - driver compiled for 6.0 will work in 6.4. It changes, however, between branches - that driver won't work on 7.0 without at least recompilation.
Sheezus, what is the big deal about all this. Is there some unseen force that forces everyone running one of these cards to update the kernel right away?
I've had a look at the code for mm_init, and I can't see any reason why a graphics driver would need to be calling it. It's part of the code for setting up memory management structures for a new process. So what use are Nvidia making of it, exactly?
Good response: We've changed the interface because ____. Wait paitently for Nvidia to provide a 2.6.25 compatible driver (give them some time, 2.6.25 isn't even finished yet!)
Bad response: Well too bad for you. Nvidia isn't GPLv2 so we can't fix their problems for them.
If you read the thread on lkml, you'll see plenty of discussion of why we changed the interface. There are no in-tree modules that need init_mm(), so the only thing that export does to the kernel community is open up a gaping hole for closed source code to mess around with our data structures in a way that is impossible for us to debug. The less closed source modules mess around with deep kernel internals, the more the kernel community will be able to help people who have problems while running these modules.
I suspect this comment was considered quote-worthy because it reflects the frustration so many of us feel after years of users complaining about these API changes. When the module API changes, we fix all in-tree modules that use the interface, so we actually do a favor to the companies who cooperate with us. If Nvidia wants to cooperate, we'll extend them the same courtesy. We're tired of users blaming us for not fixing code we don't have.
WTF? Because you're an idiot that buy closed hardware, development has to cease until your crap is working again? *bwaahahahaa* now THAT would be user unfriendly.
"I'm sorry, the new kernel is ready with extra power saving support and increased speed, unfortunately we have an idiot that bought crappy hardware, and we're going to have to wait for that crappy hardware to have updated crappy drivers. The companyy might take a year, since we can't really put presure on them. But hey, we're friendly..."
A search on google will find posts from Nvidia saying they are aware of the problem and are already working on it. Nobody would seriously expect to wait a year for compatible drivers to be released.
There are even patches you can find (for both the kernel and the Nvidia installer) that correct the problem. The patches are trivial, really, so it isn't like it would stop a serious developer for more than 5 minutes, let alone a year.
Of course it is exaggerations...
But, first of all, we've all been waiting for months for nVidia and ATi before (When the new X.org was released half a year or so ago), secondly, they're faster exactly because the kernel never waits... (Unfortunately some distros has to, which is probably why those X.org updates took so long)
Oh well, luckily it seems that we only have to avoid nVidia soon, with ATi (slowly) opening up specs.
Oh yes, there are sooo many developers just dying to jump on kernel increment bugs. Yep, you betcha nVidia! Just go GPL and Linuxboys will do a 180 from insults to helping out...
Microsoft doesn't treat hardware vendors like enemies, it works with them, so users don't have the problems that Linux gives them.
Reading Chris makes me want to go BSD in a bad way. The only reason I use Linux is drivers. The past year or two was hell with nVidia because Linux gearheads change specs with every twiddle release. Every 0.0.0.0.0.0.x+1 kernel breaks hardware drivers over ridiculous trivia like this.
Now I'm asking myself, why be self-delusional about Linux drivers? Maybe BSD has a better story, just not the PR. Jeeps, I'm even ready to consider Windows again.
It wasn't many months ago that 2.6.20 started working properly because nVidia had to deal with kernel twiddles.
It would be just *sooo* hard to keep an API symbol lying around.
Someone needs to chart the average lifespan of Linux kernel API calls. I bet it's 9 months.
Microsoft doesn't treat hardware vendors like enemies...
Reading Chris makes me want to go BSD in a bad way.
The past year or two was hell with nVidia because Linux gearheads change specs with every twiddle release. Every 0.0.0.0.0.0.x+1 kernel breaks hardware drivers over ridiculous trivia like this.
The only reason I use Linux is drivers.
In other words, in spite of all your moans, Linux still has the best driver support of any open-source OS. Could it be the kernel developers are not complete fuckheads after all?
Both NVIDIA, and the Linux kernel developers, are doing what they think is best. The kernel devs support a 'never stale' API philosophy that prevents the build up of API cruft and the waste of precious development time dealing with the complexities of backwards compatibility. As for NVIDIA, well, they have a fairly good source visible layer that sits in front of their OS independent 'unified' blob. This surely makes their lives easier and allows them to push out better and more frequent drivers.
The API changes in 2.6.25-rc's that break the NVIDIA driver _are fairly trivial_. Patches are already floating about, and from my own investigations, you may not even _need_ to patch the kernel tree to get the driver to work again.
And as for your last jab, there are plenty of core Linux kernel APIs that have remained unchanged for a very long time. I know for a fact that there are Linux 2.6 driver programming guides/books that are very much still relevant and recommended today.
MS threats customers like shit...
So I prefere the BSD/LINUX way....
you don't even make sense dude, damn funny
And every week, more and more users and developers alike are driven away from Linux.
Nope. Chris is right.