The SLI Godfather
CaptCanuk writes "Phoronix has an insightful article about the motivation behind Nvidia's alternative operating system support. From the article: 'When it comes time for a user to upgrade their computer hardware, and decide to go with a choice from a leading manufacturer of graphics solutions, software support is a given, correct? Wrong.' Read on to find out what truly funds their development and why some think they treat Linux as a second hand citizen."
This sort of thing should be common knowledge to every single person interested in computers. This is how everything works in the "real world" or software development. It boils down to following the money and who needs something the most.
If Microsoft didn't have such a significant segment of the PC market, they would also have to make deals with hardware manufacturers to get drivers written. NVIDIA needs to support Microsoft, so NVIDIA foots the bill with tons of help from MS. HP needed NVIDIA support, so HP was the one who ended up paying for the development.
It's not about conspiracies, it's about money and the need to have a hand in a market segment. If Linux owned a significant percentage of PCs, you'd see NVIDIA tripping over themselves to get a driver written (if it weren't a trade secret risk).
You just ripped that paragraph directly from TFA.
Most people I know choose hardware based on the fact that they MIGHT at some point run Linux on them.
:(
Even if they are never going to use Linux, they still get an NVIDIA instead of an ATI card, just because NVIDIA provides the better drivers.
None of them provider good OS drivers tho
-- ubersonic Kfz Versicherung
.... Is 'cuz of folks doing workstation graphics (like CGI, visualization, modeling, etc). The more folks move to Linux from SGI, Solaris, etc, the more attention Linux drivers will get. The fact that the chipsets are similar enough for consumer-grade graphics boards to be supported is a nice plus, but I very much doubt the Linux gaming community plays much more of a role than that of testers and bugreporters.
I ask you, it's a complete opinion piece, there is no fact in there whatsoever from what I have seen. The only thing that is based in fact is that HP have a certain workstation line, and that they install RHEL on them and that HP is short for Hewlett Packard. I think the people that have these workstations would probably be reformatting them with a standard build anyway.
I don't doubt that some of it might be true, but at the same time, I don't see anything in here that really makes me turn around and go "Wow, HP paid xxxxxxxx for NVidia to write Linux drivers"
From what I have seen previously, the reason that NVidia make the driver available is because it's an easy port. That's why their IP is worth so much. Admittedly this isn't backed up with fact (Or at least a link to a website) either, but a quick google should see you good, right?
*sigh*
Curiosity was framed; ignorance killed the cat. -- Author unknown
We need a something that allows Linux to run windows drivers,like wine runs a layer of binary compatibility.
Before you critique this approach,look
and count the windows drivers.
The article itself isn't very insightful, and FWIW, it's pretty badly written. "abecedarian"? How about learning to walk before trying to fly?
Anyway, I disagree. While the authors do not prove any of the points they are making, it is very much standard industry practice for one company to pay another to develop software. If HP needs Linux drivers for their latest CGI-oriented workstations, then they will need to pay NVidia to develop them. If NVidia really needed those Linux drivers, it would have been their first priority to develop and ship them with the release of the HW.
There really isn't a conspiracy to keep drivers out of FreeBSD or Linux or whatever niche OS you're running. The only question is who is going to pay for those drivers. If you need it the most, you will pay for it. NVidia *needs* Windows drivers, so they pay for it themselves. Try getting NVidia to release drivers for Symbian. It's never going to happen without a wad of cash.
Here you see what happens when only binary blobs are available. At some stage even your old hardware will stop working because the manufacturer will not provide updated binary blobs drivers.
NVIDIA is anti-open source. They will happily peddle some binary blobs for some archs (i386) and some OS, but refuse to give any hardware documentation or even tell the name of their various chipsets.
As long as the Linux/FreeBSD crowd accepts binary blobs in order to get their hardware to work, then NVIDIA will happily continue to only handout binary blobs.
Have a look at the FreeBSD nve (NVIDIA nForce MCP Networking Adapter device driver) driver:
And this is just a NIC? What's so secret about that? And this is acceptable?
Have a look at what OpenBSD does: Reverse engineer and offer the first open source driver nfe (NVIDIA nForce MCP Ethernet driver)
[/rant]
It should be modded "troll", then, as he was trolling for mods who don't read TFA.
Procrastination -- because good things come to those who wait.
Um... Linux has sported a "forcedeth" [sp] network driver for a long time. It may be based on the BSD driver, I dunno the back story.
I'm personally using it right now on a Tyan 2P motherboard [nForce4 Pro chipset] and it works fine.
Tom
Someday, I'll have a real sig.
The forcedeth driver has been problematic for me. The transfer hangs and only a cold power cycle brings the interface back up.
I recently purchased a new laptop from Acer, an Aspire 5672. It's a Core Duo running @ 1.67Ghz, 2GB RAM and an ATi X1400 w/ 128MB dedicated. I'll admit right from the start, I didn't do my research very well. I knew the wireless would be touchy but the ipw3945 project may support it. I didn't think I would have a problem with the video. Nor did I think I would have a problem with the Broadcom BCM5789 gigabit lan, but that's another story.
Was I ever wrong.
The binary ATi drivers do not support any of the X1000 series cards. Hell, even the latest & greatest windows drivers do not support my X1400 chipset officially.
The beta ATi drivers apparently support my chipset, but ATi supports 24bit graphics and nothing else. Alas, the display panel in the laptop is 16 or 32 bit. Running at 24 bit yields a display that looks like something one would expect to see after dropping a couple hits of acid.
Even worse, when trying to use the vesa xorg drivers, I am not able to use the native 1280x800 resolution as when the vesa drivers poll the graphics chipset for the available modes, 1280x800 isn't listed! No amount of fussing with the xorg.conf file has yielded a working solution. The final straw is that I am unable to tell the laptop not to scale lower resolutions up to 1280x800, so 1024x768 (4:3 ratio) is scaled to fit the panel, which is 16:10, which just makes things ugly.
So, until I can get native resolution, Linux is useless on this laptop. The display is too fuzzy and stretched to be usefull. Thankfully I still have my old laptop, as it has an nvidia chipset in it. Sure, the laptop is slow compared to the Core Duo, but atleast the display works properly.
tinfoilmedia
One thing worth pointing out is NVidia has been pretty good producing Linux drivers for most of the stuff they put out. It started with the video cards, but as they moved to chipsets they kept it up for all the bits on the chipset/mainboard as well. The place that people find fault is they release the drivers as binary rather than source form, and make it exceptionally difficult to roll your own as they don't release any under the cover info. They say it is partly due to licensing on their side, partly to keep the competition in the dark.
Now for me, I use the OS as a development platform. I don't expect source for any Win32 driver I use nor do I care if I have source for Linux or Solaris for that matter. As long as it works and does the job, I'm happy. I suspect I'm a pretty typical Linux user. The Linux developers would have problems with this - having to poke around a black box is a pain in the ass. My pain point comes with having to deal with them at install/update time. I also keep a small stack of Matrox Millennium (4M PCI) cards around because they do 'just work' without binary drivers. If they made them source based it would be more convenient for me, but NVidia has been pretty good keeping up with the multiple kernels and major distros. I'd call them pro Linux, but not open source.
+++ UGUCAUCGUAUUUCU
For the Linux drivers, the engineers simply say "what do we need more urgently, these bug fixes, or these features?" If they need the features, they borrow the code from Windows and put it in, with possibly some minor glue code. With other platforms, some poor engineer has to learn enough about that one particular OS to get a driver working. Again, how does diverting this portion of time equate to revenue for ATI without a guaranteed contract from the hardware vendor? It doesn't.
nVidia has a steady stream of revenue from Windows users (gamers and casual users) and Linux users (research and education), but the same is not always true of other manufacturers like HP, Sun, etc. And again, why would a business invest their time and money if they don't have a reasonable assurance of profit?
Here you see what happens when only binary blobs are available. At some stage even your old hardware will stop working because the manufacturer will not provide updated binary blobs drivers.
This is what happens when your kernel developers refuse to provide a stable driver API.
Yes, it would be better if drivers were open, but it wouldn't be nearly as much of an issue if Linux provided a stable driver API. It'd make everyone's lives easier if the APIs were more stable. People who won't release an open driver for whatever reason would at least be more likely to develop closed drivers, users already using closed drivers would have less issues going forward, and people writing drivers would no longer have to worry about hitting a constantly moving target.
Exactly! The argument against a stable binary driver interface makes me want to start killing open source hippies left and right.
Look I'm an OpenBSD fan but even I'm a little unsure on this one... The Linux folks reverse engineered the Nvidia ethernet driver in forcedeth and in fact forcedeth was helpful in the creation of nfe.
Are you sure that you want to claim that OpenBSD had "the first [nforce ethernet] open source driver" (emphasis is mine)? Can you give some links to back this claim up? I haven't found any yet but then again I don't hang out on the OpenBSD lists all that much...
They're in it for the money, and their real customer base consists of Windows gamers. Now, these customers are rather picky about stable and optimized drivers. They read articles about benchmarks, and a driver that squeezes out an extra 5pfs will in many cases make the difference between $300 of revenue or similar money in the pockets of the competitor. That's why NVidia work hard on Windows. It's their lifeline.
We're living in an age when Microsoft doesn't fear Linux on the desktop. They just don't; they think it's a joke. Suppose something happens to change their mind, and they really start competing in their ham-fisted, machiavellian way. They really only need to do one thing to destroy desktop Linux: Make a phone call to NVidia. Ballmer: "Hey, you know all that work you do on Linux drivers that makes you almost no revenue? Well, stop it. Stop it or you will find some rather unfriendly code in Vista sp1. End communication."
That's all it would take. Remember that starting next year, if you don't have a 3D-accelerated desktop, your machine will look like a dinosaur. So never mind Linux games. Just the regular desktop will look and work like crap without the proper GPU acceleration. And proper GPU acceleration on Linux is impossible without the mercy of GPU manufacturers. This is really the greatest Achilles' heel of OSS. Just one phone call by Ballmer (maybe involving a thrown chair) is enough to cut off the air supply of OSS on the desktop. There is no remedy. Linus was writing code for a chip (386) with documented internals. He did a great job. GPU manufacturers won't document the internals, they keep changing anyway, and trying to reverse-engineer something is probably banned by the DMCA.
This is the grim lesson I leaned from TFA.
I was wrong about OpenBSD beeing first out.
It can be argued that fixed APIs will hurt the kernel itself as the amount of glue code to keep old things poking at the internals rises along with the need to never change things causes unintended side effects.
I was chatting to Linux kernel developer about a year ago and he described how in the early 90s he found a remote security hole in a closed source operating system. He let the vendor know but the vendor did not patch the hole for over a year. To fix the hole the vendor had to change the API (which of course was set in stone) which would break all sorts of other things so the problem sat around unfixed until the next major release of the operating system.
The number one reason for running an out of tree driver on Linux is because it is a binary driver. And there are Linux developers who don't want to help binary driver developers. The prerogative is with the Linux devs - it's their kernel and perhaps it is those very open drivers that are keep said developers working on it. Secretly, I think you need the resources of Microsoft to produce APIs that don't change for years on end and support a large range of software but I'm told the NetBSD folks do this too. Why don't people simply use NetBSD rather than complaining?
People who won't release an open driver for whatever reason would at least be more likely to develop closed drivers, users already using closed drivers would have less issues going forward, and people writing drivers would no longer have to worry about hitting a constantly moving target.
So fork Linux and create a version with an API that promises to be stable, backporting improvements from Linus' version.
I'm actually not suggesting that you, personally, do this, just pointing out that someone could and if it were that valuable, someone probably would. Red Hat, IBM, Novell and others have the resources to provide Linux kernels with a stable driver API, but they obviously don't feel it's worth the effort, and buy into Linus' position that it would cost Linux more than it would gain Linux.
It's a tradeoff, and the concensus decision is that flexibility, ease of debugging and the ability to keep the APIs clean are more important than enabling closed-source drivers. Keep in mind that the core team of Linux developers, headed by Linus, aren't really open source fanatics. Their motivation for not helping closed-source drivers isn't because they have an RMS-like abhorrence of closed source, but because it makes their jobs much harder in real, pragmatic ways. It's not that they discourage closed drivers in order to force companies to provide open drivers, but that they don't want closed drivers to hobble and destabilize Linux.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Good drivers are NOT portable. Portability makes a driver unreadable and slow. Each OS will have its own set of abstractions and coding style.
I worked for a hardware manufacturer that made a portable driver. This driver ran in Windows NT 4, Windows 2000, SunOS (pre-Solaris), Solaris, IRIX, VxWorks, and a few other things. The driver was well over a megabyte and had to include a C library. That's disgusting. At the time, a whole kernel was a few megabytes at most.
Just the regular desktop will look like crap without the proper GPU acceleration.
A non-accelerated desktop may not have the flash of these flashy new 3D setups, but I am dubious as to the functional improvement gained with 3D acceleration.
"Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
I'd say that mostly depends on the implementation. The Apple/Microsoft approach with flashy desktops isn't necessarily the best approach, but it is an easy way to make it look new. It's also important to note, that GPU acceleration doesn't have to be used on displaying the desktop, other uses could include encoding/decoding video for example.
IMHO, the concept of making the useful working of a GPU only obtainable through NDA is about as sensible as having the same restriction on the instruction set of a CPU: not at all. The fact that Microsoft is willing to pay -- to my mind -- is a clear indication of their collusion with both NVidia and ATI to keep useful technology out of the hands of those who would benefit the most: we, the users. People, please vote with your wallets, and make it known *why* you refuse to use these products.
RHCE; are you certified? Karma: ambiguous.
There is no remedy.
It's called heavy handed regulation.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
I don't understand why the folks who have the money don't pay to get better drivers for linux. It is pretty sad that things like the ndis wrapper have to exist. I am pretty sure Apple pays to get its drivers.
The problem isn't nvidia here. I don't have an issue with them not releasing open source drivers. In my opinion, they spent a lot of time and money to just get a few frames ahead of the competition and I don't have problem with them not giving it out. I am not anti-open source, I just don't think it should be forced down someone's gut.
Driver development is difficult and linux driver development requires constant effort since there isn't a stable ABI in the kernel. You have to stay on top of things because they can change at any time. While other operating systems change as well, they make a nice attempt to maintain backward compatibility. This constant churn makes it very expensive to support Linux kernel devices. If you become an expert kernel person in the 2.4 series and then work on another project and then come back to 2.6 land, you are in for fun. There are so many upgrading from 2.4 to 2.6 horror stories I have heard and personally experienced. On the other hand, I experienced smooth sailing with windows driver changes because I could choose when I added the support for new features. Driver architecture changes in windows always built on what you knew before. It is amazing but I have always felt I knew what the Windows kernel was doing more than I could the linux one even though I had soure only for linux. Over time you get a feel for how things work in an operating system. This can't happen when you have significant architectural changes to the kernel.
So if Linux wants good drivers, the Linux vendors should make it happen. Heck, if they expect me to pay for a distro, I want more than support; I want drivers that work!
-Ack
-- soldack
And it takes just one nVidia employee to spill the beans, and Microsoft finds itself in some rather hot water. I'm not saying that MS wouldn't do such a thing, but they would want to think very long and hard about the approach they take; something that ham fisted would be prima facie evidence of monopoly abuse.
All we would need then is somebody in the US government with the backbone to take such a charge and make it stick. Oh. Never mind.
Me too. I am running a brand-new ABIT KN8 board and the NIC would just blink on and off after about 12 hours' use with the forcedeth driver. Shutting down the computer did not stop it from blinking- only switching off the pSU did. The nvnet driver is rock-solid, though.
Just "gittin-r-done," day after day.
TFA only really talks about SLi drivers, something which most linux desktop users don't need and dont want since they are not hard-core gaming nerds who need the extra 5 fps. Since there are about 25 million linux users out there it is well worth it for them to write a linux driver for their ordinary graphics cards. I remember tons of people bitching in forums about the lack of ATI drivers for linux, i'm sure the amount of people who bought a nVidia card over a ATI because they are known to work on linux will pay for the "poor" engineer who had to write them.
Phase 1: Write Linux drivers
Phase 2: ???
Phase 3: Profit!
Unexpect the expected!
most likely it's a chipset problem. A few K8N4 boards I've seen choke on gigabit. It should work fine for 100mbit though [which is what I use mine for]. My Tyan board has been working fine at 100mbit ever since I turned it on a week and a bit ago.
If you really need gigabit use the DLINK 530-T PCI card. It's supported by the skge/sk98lin set of drivers [can't recall which] and works smoothly at gigabit speeds. The card retails for all of $30 Canadian.
Tom
Someday, I'll have a real sig.
This is what happens when your kernel developers refuse to provide a stable driver API.
Wait, what is what happens? Mod parent -1 offtopic if this isn't about Nvidia's drivers.
Nvidia keeps pace with x86 Linux, often better than I do. I haven't had a problem with video drivers since one computer and two video cards ago, when I had an ATI card. I just have to remember to recompile/install the nvidia drivers whenever I compile/install a new kernel, and I'm set.
This was not true once, and after fighting with it for a day, I updated my system and found new nvidia drivers. Less than a day and they'd fixed the problem. Now, they're typically ahead by a bit -- release candidates will work fine. Either the 2.6 kernel has been relatively stable, or nvidia's been doing an excellent job supporting it.
And I run a 64-bit Linux. On a Reiser4 filesystem, not that it matters much. Nvidia's drivers worked out of the box, tested with quake3, doom3, and quake4.
So the problem is not the driver API or the lack of source code / specs, but the unwillingness of the driver maintainers (in this case nvidia) to keep the driver up to date with the capabilities of the hardware.
Don't thank God, thank a doctor!
It's called heavy handed regulation.
I have another one: it's called an educated consumer base. If we don't educate consumers, then they (being the majority) won't give a rip about whether or not MS is screwing Linux over. In which case, such regulation could not be acheived through popular consensus.
A lot of people out there get sold on the "corporations are evil, hence we need lots of regulation" mantra, and to me it's just silly. Consumers can fight evil just as effectively as the government which represents those consumers. And if the people all decided that MS screwing over Linux was wrong, they'd sure as hell wouldn't need the government to put an end to it. They could simply stop buying MS products to begin with.
Liberal economic policy tends to divide the populace into the 5% of people smart enough to decide what's best for the other 95%. Which is exactly what I hate about neocons as well, only for them it's richeousness, not intelligence. Arrogance hiding inside a shroud of "do-gooderness."
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
That's actually a violation of antitrust laws here in America. If Microsoft really did that and nVidia had proof of it, nVidia could submit that proof to the Attorney General's office and Microsoft would be facing one fat lawsuit. There would be no escaping this one either, as recording a threat like that is proof that Microsoft is engaging in anti-competitive business practices. So I'm thinking that nVidia has little to worry about. Just forward a threatening email to some powerful people and Microsoft is stuck fighting a court battle. If Microsoft tried to weasel out of the lawsuit by secretly implementing code that made it harder to develop video card drivers, and it was determined that they were specifically targeting nVidia, they'd get raped a bit harder. Too bad anti-trust trials are only civil proceedings.
SRSLY.
There will still be solutions with OSS drivers...yeah, not many of them (out of currently sold: only Intel AFAIK, and somehow Matrox if you count, still sold, G550...but lets be serious), but still something...
One that hath name thou can not otter
I mean, come on, use your immagination: I was being blunt for the sake of humor. The real email from Ballmer would look like "MS and NV would both profit from a closer software collaboration to optimize Windows driver performance." Sounds a lot more innocent, means the very same thing. NVidia aren't stupid, they understand subtext like anyone else.
You really think NVidia would take MS to court over a threat about a market segment which makes them little, no, or perhaps even negative profit?
I've no idea what that is unless you mean a pre-owned watch?
"The White House is not an intelligence-gathering agency," -- Scott McClellan, Whitehouse spokesman.
This was done somewhat in FreeBSD in Project Evil.
See link here.Quote from the linked page:
The announcement is the previous article in the thread.