Running an earlier version of Open GL

I’m trying to use a program that is maybe 15 to 20 years old, and it only supports older versions of Open GL. Is there a way to have two different Open GL drivers on your system and make that program access the older driver so that frame rendering is at its best?

Thank you in advance for your kind assistance! :slight_smile:

No.

Let’s be more specific.

The driver is only part of what determines the OpenGL version. The most important factor is your graphics hardware. Your hardware provides features, your driver exposes those features to a program, and your program then uses the features.

Specific hardware needs specific drivers. This is vendor-specific, model-specific and OS-specific. So you can’t use an AMD driver with an NVIDIA card, you can’t use an old TNT2 driver with the latest GeForce, and you can’t use a Linux driver on Windows.

Newer OpenGL versions build on older ones, so each GL version is a superset of all previous versions. So if you have OpenGL 4.5, then you also have versions 4.4, 4.3, 4.2, 4.1, 4.0, 3.3, 3.3, 3.1, 3.0, 2.1, 2.0, 1.5, 1.4, 1.3, 1.2, 1.1 and 1.0 (phew!) so in theory there is no need whatsoever for what you’re asking: you already have access to the required older version.

However, the way hardware works changes. Two examples of such changes in the “older hardware” timeline were the move from software transform & lighting (T&L) to hardware, and the move from a fixed function pipeline to a programmable pipeline. Code written for older hardware may run suboptimally on newer hardware. This is worth emphasising: it’s nothing to do with the driver, it’s the hardware.

So you basically have two options here. you can either accept that the older program may be less than perfect. Or you can build an old PC with old hardware and an older Os, then use that.