Wednesday, November 29, 2006

Using GLSL does not mean changing the system requirements!

X-Plane 860 uses GLSL pixel shaders. But this doesn't mean you need any new hardware. It does mean you might need to update your drivers. Let's break this down a little bit.

X-Plane never talks directly to your video card. It always talks to the video driver, a piece of software that acts as a translator between X-Plane and your video card. (That's a gross simplification - video drivers do a lot of amazing things these days.)

Your video card has certain capabilities - different cards can do different tricks. The video driver tells X-Plane what tricks the video card can do.

So there are really four possibilities for any given trick:
  1. Your video card cannot do that trick. The video driver will tell X-Plane "I can't do it."
  2. Your video card can do that trick. The video driver will tell X-plane "I can do it".
  3. Your video card can do the trick, but the driver is old and will tell X-Plane "I can't do it" because the driver doesn't realize what the card can do. (This can happen because the video driver you use might come with your operating system, before you bought the new video card.)
  4. Your video card cando the trick, but the driver has a bug. The driver will tell X-Plane "I can do it", but when X-Plane says "go and do it", the video driver will crash your whole computer. This happens when drivers are buggy and can usually be fixed by getting newer drivers.
Something to note about this last case - we only crash if X-Plane actually says "go and do it". So when we release a new version of X-Plane that utilizes new video driver tricks...
  • Some users have cards that can't do it and will see no change.
  • Some users have cards that can do it, so they see the new feature.
  • Some users have cards that can do it but old drivers and see no change.
  • Some users have buggy drivers and see a crash for the first time.
GLSL shaders is a certain way to use the pixel shaders built into some cards. (GLSL is an interface and language to talk to those shaders.)

GLSL shaders are definitely not required for X-Plane 860. If you don't have them, X-Plane will run the way it always did.

But if your drivers are buggy and crash when GLSL shaders are used, you will need a software update to get good drivers. (There is a way out of this...if you really can't get a driver fix, there are command-line options that will tell X-Plane "don't use this feature even if the card has it".)

6 comments:

Christer Hellholm said...

Which video cards support GLSL?

Benjamin Supnik said...

GLSL is a video driver feature that depends on pixel shaders.

The following ATI and nVidia cards have pixel shaders:
- Any GeForce with a number 5000 or higher.
- Any Radeon with a number 9500 or higher.
- Any Radeon with an "X" in the name (e.g. X850)

But not only do you need one of these cards, but you need new enough drivers to have GLSL. This means 10.4 for Mac users and probably a driver update on Windows.

But if you don't have GLSL - no problem - X-Plane will just run without it.

Nicola Altafini said...

Hi Ben, just a question. can i use Omega drivers instead of official catalyst?

thanks for your attention

Benjamin Supnik said...

Hi Nicola,

I don't know. But generally:
- If those drivers work with X-Plane 840 and do not support GLSL, they wil work with 860.
- If those drivers do not work with 840, they surely won't work with 860.
- If those drivers work with 840 and do support GLSL, they will work only if the GLSL implementation is bug-free.

It appears the latest catalyst drivers have a working GLSL - I don't know about any other drivers.

Nicola Altafini said...

ok i want to try omegadriver anyway and see what happen
there is a way to check if the GLSL sistem is working on the driver?

Benjamin Supnik said...

Hi Nicola,

Once you install the OMEGA driver, run X-Plane....if it says in the log file GLSL_avail=1 then you have GLSL. If it doesn't crash or go haywire, then you know GLSL works, more or less. :-)