Open source and unencumbered drivers for 3D acceleration on Linux are lagging behind their proprietary counterparts. When 2D hardware goes away and everything requires 3D hardware, what options are there for people who use free software? Old hardware… unless something changes. Yes, I’m being deliberately provocative. No, I’m not really kidding.

It’s okay if you’re the pragmatic type, but it’s important to be aware of the limitations of mixing low-level proprietary software required for the proper operation of your computer with free operating systems. You don’t have to agree with me. That’s fine.

For Linux to succeed on the desktop, I think its supporters need a new driver strategy. Proprietary binary blobs from video card manufacturers aren’t working, and — forgive me for being Cassandra — the situation doesn’t look like it will improve.

Right now, most of the transistors on a video card are for 3D functions. The 2D parts of cards are shrinking with every new generation. They’ll go away soon; with good texture mapping and ever-better acceleration, you can do everything 2D with 3D hardware, and you can do even more impressive things with transparency, shadows, depth buffers, and more.

Right now, free and unencumbered and open source drivers exist for some 3D functions and most 2D functions of many video cards. Most of them aren’t the latest and greatest. For now, they work, and some of them work very well.

For full feature support of newer cards from ATI and NVidia, you have the option of running proprietary binary blobs with several caveats:

  • They require frequent updates to run with specific kernels.
  • They are only available for certain architectures.
  • They are only available for certain operating systems.
  • They make other programs on your system impossible to debug.
  • There is a support window for hardware, outside of which you cannot get even proprietary binary blobs anymore.

When 2D goes away, the situation will be even worse. Get used to the command line.

The so-called “argument” that there is a real competitive advantage in not releasing even specifications is, at best, a meaningless fabrication. The big two video card manufacturers often match feature parity within a generation of a leap by either one — and they both track the defacto specifications of Direct3D (and OpenGL, to some extent) anyway.

It’s as if an Nvidia employee somehow cannot buy an ATI card (or vice versa) and put it under an Xray or an electron microscope or on a lab bench and test inputs and outputs. Are the only people reverse engineering hardware hobbyists writing drivers? Are video card manufacturers too stupid to realize that they could do the same?

(If they’re not stupid, these manufacturers could make a good side business selling old cards that actually work on Linux and other free operating systems after the new, unusable cards come out. Then again, any business that clever is clearly not stupid enough to realize that it could perform clean room reverse engineering anyway.)

It’s my opinion that putting up with proprietary drivers is starting to hold back the progress of desktop Linux. Appeasement isn’t working, and the situation may indeed get much worse very soon.

What’s the solution?

To my knowledge, there is currently one company providing video hardware and open drivers: Intel, with integrated video.

If you buy or build a new desktop computer, consider purchasing this hardware.

Don’t stop there.

Write to Intel (paper letters are likely better) and tell them why you bought this hardware.

Write to NVidia and tell them why you did not buy their hardware. Write to ATI and tell them why you did not buy their hardware either.

Finally, write to AMD and tell them why you did not buy their hardware.

Maybe it will work. Maybe it won’t work. I don’t know.

I do know that relying on the so-called “goodwill” breadcrumb appeasement offerings of video card companies will eventually backfire. That eventually is looking sooner and sooner.