Zorba the Hutt (zorbathut) wrote,
Zorba the Hutt

So there's this operating system named Linux. (Heard of it?) And there's a graphics card company called NVidia. NVidia has drivers for Linux, but the only problem is that they're closed source.

Here's something I've heard really often: "Drivers should all be open-source, because all they do is just talk to the hardware. They're just tiny pieces of code, it's not like they contain trade secrets!"

Unfortunately, when it comes down to video card drivers, this is dead wrong.

NVidia drivers are amazingly complex. For one thing, they include compiler and real-time optimization technology for the shader system. For another thing, they include a whole set of optimizations because PC game writers are too dumb to do it themselves. (No, I'm not joking here.) They handle a truly enormous range of hardware, and I don't even know what sort of hardware hacks they do.

But basically, NVidia drivers *aren't* just drivers. This should be obvious to anyone who's downloaded them - I mean, they're 10mb+, it's clear that there's more going on than a few memory accesses.

So that's why NVidia's drivers aren't open-source. If they were, they'd give away an enormous advantage to ATI, and NVidia just can't afford that.

I *do* kinda think that they should make an open-source stripped-down driver without any optimizations or good compiler technology, and then say "if anyone wants to improve it, here's the source". They might even get some nice algorithms out of it, though I don't know what license they might want it under. (BSD, probably, so they could take the algorithms out of it verbatim . . . though they might want GPL, so ATI can't.) But they might not.

Anyway. Now you know why there aren't good universal NVidia or ATI drivers for Linux.
  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.