Making OpenGL Run Fast


    To run OpenGL Shader Language (GLSL) programs on your card, you need hardware capable of at least DirectX Pixel Shaders 2.0, and preferably Pixel Shaders 3.0, which support looping and branching in hardware.  If the hardware supports DirectX pixel shaders, it'll say so right on the box.  If it doesn't mention DirectX, or just says "DirectX 9 compatible" (what card isn't?), then it probably doesn't support pixel shaders.

Pixel Shaders 2.0 hardware includes:
A low-end but fully programmable card, like the GeForce 5200, or ATI x300, will cost about $50.  Be sure to get the AGP version if your motherboard has an AGP port, and a PCI-express version if you've got PCI-express.  Plain PCI is tough to find, and not recommended.

There's a nice little online registry of which cards support each OpenGL extension.  In particular, check out the list for ARB_shading_language_100, which is GLSL.


Download the latest driver direct from nVidia or ATI.  Install it.  You should be good to go!

A good driver is quite important--GLSL generally isn't supported on drivers more than a year or two old, and so even if your hardware supports it, your GLSL programs won't run.


Download the latest "proprietary" driver direct from nVidia or ATI.   Install it:
You can't upgrade your graphics driver while X is running, so you'll have either boot into single-user mode ('a' and " single" in GRUB) or switch to single-user mode (ctrl-alt-F1, log in as root, "/sbin/init 1").

This usually just works, but there are a bunch of pieces to the linux OpenGL driver, and they can all go wrong:

Back to CS 381, Dr. Lawlor, CS, UAF.