On board GPUs

Hi All,

A long time ago we started this thread: The code is fine: except for wintel hardware. The discussions was about the visual artifacts that can happen on these hardwares without detecting them.

We found the solution of detecting the word “Intel” on the OpenGL vendor string and switching to Software OpenGL to avoid issues.

Today we have customer complaining because other OpenGL apps have better graphics performance on the same machine and other reporting crashes on another family of on-board GPUs: VIA-S3G.

Is there a better approach to switch to Software OpenGL on Windows than the one to check for manufacturer name in the vendor string?

Thanks so much for your thoughts,


Well, a reasonably basic Opengl code should work better with hardware acceleration than without, even on intel/S3. Forcing software looks like a last resort only.

It may be a tad extreme, but what about running GLintercept on DOOM3 with an intel video adapter, and base your “simple path for buggy cards” only on the GL calls you see in the log ?

He was right then, he’s still right now. Unfortunately OpenGL is very poorly supported except by NVidia, and you’ll keep getting problems like this unless you switch.

Mmm… sound interesting but we are not so skilled I think.

Believe it or not a very basic textured cube can look very bad on these hardwares.


Don’t Disturb,

Please read my post in reply to him…

might be an idea to keep a small database of known unstable driver versions which can be checked before starting and if below an approved driver switch to software. this way a verified driver will still be hardware accelerated and if not then at least a user warning can be displayed that you about to switch to software rendering. problem is to collect the database but usually you need one tested version and all below is ignored.


Yes but this is incompatible with Trial Version of you OpenGL based program. If somebody evaluates it and notice poor performaces is not as bad as visual artifacts :frowning:

Big software vendors know how to do this and we need definitely to discover how.


i think big vendors use two rendering APIs for there applications anyways. OpenGL has been neglected many times whereas Direct3D was the one always supported best in Windows. running on Windows and switching to Direct3D is probably the best way to avoid driver problems. OpenGL in this case is left for say Linux where drivers can be open and far more stable. have thought about the solution on this myself many times but still thinking. :wink:

Big software vendors know something we don’t, believe me.


heck, might be even true but i would be more interested on what facts your’re basing this on and what “big software vendors” you suspect.

Take Rhino3D for example, install it on a Wintel machine and magically they disable the HW Acc OpenGL. Same for SolidWorks.