PDA

View Full Version : Is there an application to install the OpenGL drivers?



Ehsan Kamrani
01-01-2006, 07:03 AM
Hi
Is there an application to install the OpenGL drivers?
Unfortunately, In my country, people don't know anything about the OpenGL implementation and they think that windows has installed their graphics card. As you know, windows is anti-OpenGL ! and doesn't install most of the OpenGL extensions and functions.
Regards
-Ehsan-

shelll
01-01-2006, 08:46 AM
ATi (http://www.ati.com) nVidia (http://www.nvidia.com) ...

Ehsan Kamrani
01-01-2006, 11:12 PM
I mean the application that detect the graphics card and then installs its OpenGL driver.Nvidia drivers can't detect the ATI cards and ATI drivers can't detect the NVIDIA cards.
I know that it's a funny question. But it is actually a big problem for the people of my country.
-Ehsan-

joshua_falken
01-03-2006, 03:35 AM
The only piece of software which I can think of is the following: http://www.drivershq.com/Default.asp

However, I believe their service is not free, and you need to have an online Internet connection for downloading the driver software. Apart from that, I do not think that an integrated package consisting of NVidia+ATI drivers+detection software exists anywhere.

Most probably, people will simply have to identify their graphics cards themselves (in the control panel) and install the appropriate driver. However, this is not only the case for OpenGL applications. Modern DirectX applications as well require an up-to-date graphics driver, which has to be installed by the user.

Joshua

dorbie
01-03-2006, 10:29 AM
Not that I know of. Carmack started something around the QuakeIII era but abandoned it.

jide
01-04-2006, 07:09 AM
Something strange, you might not like it, but can't see any better way:

make your own program, using Mesa, then detect the card, then try to download the drivers from the matching hardware vendor (ATI or nvidia).
I guess on Windows, if you put the Mesa libraries in the same directory than your program, that program will run Mesa instead of the default GL libs that reside in windows\system or so. If that program can't detect the hardware then simply install Mesa.

I know it's an extra-level-of-work but still hope that could help a bit :)

Ehsan Kamrani
01-05-2006, 11:32 AM
So can i use from both the mesa and GL libraries in my code? as an example:
if there's a hardware support for OpenGL
use from the OpenGL
else
use from the Mesa

Also i have heared about the SGI implementation of OpenGL in windows. I don't remember the name of the dlls, but it was something like opengl.dll and glu.dll :confused: So what are these dlls?

-Ehsan-

dorbie
01-05-2006, 03:07 PM
Yes you can, although you may have to load the dlls explicitly and build a function table. The simplest way might be to look for OpenGL32.dll in the system directory and if you don't find it loaddll the mesa version and just call functions otherwise call teh standard libs.

SGI did a fast version of OpenGL32.dll they called it CosmoGL at the time. It was just a software OpenGL implementation that was highly optimized for NEARETS_MIPMAP_NEAREST texturing and had a few interesting culling extensions for trivial rejection in software. It was written to counter Mircosoft's marketing lies & FUD about OpenGL. Everyone knows now that MS was wrong but back then it was a difficult argument to make that OpenGL was suitable for games and CosmoGL was part of that argument (low end optimized SW part of it).

AFIK the CosmoGL optimizations got rolled into OpenGL32.dll that Microsoft used to ship. You DO NOT want to try to use SGI's old dll. The basic software renderer in OpenGL32.dll is a better choice than CosmoGL would be.

Hmm... I wonder if you could build an installer to install that if it doesn't exist to give you a software fallback on XP. It would be a nobrainer for your application then, you just want to make sure that you're allowed to ship that as a redistributable and that you don't overwrite an existing OpenGL32.dll file already on the system.

Hmm.... to that end you CAN put a working OpenGL32.dll in your application's directory. If you're worried about clobbering it you could rename it to avoid (for example) some system management utilities clobbering system files through tidying.

Wrappers/interceptors often do this with their own lib but you could put a legitimate OpenGL lib in there and it should work. It will also call through to driver libs for hardware acceleration when they exist so it's not a bad plan.

If you want to test this just take OpenGL32.dll ian throw it into your executable directory in your game. Then try to install & run on a platform that hasn't been working for you. You should get OpenGL working. Then you want to crank down the resolution and change the texture filter to NEAREST_MIPMAP_NEAREST when you see that vendor string after you create your context and you should be good to go with a software fallback.

01-07-2006, 10:04 PM
Originally posted by dorbie:
Not that I know of. Carmack started something around the QuakeIII era but abandoned it.I think you're referring to glSetup...a GREAT idea for its time and it's a shame that none of the vendors picked up where it was left off...even just for the Windows world.

AFAIC, this is one of the biggest support problems with OpenGL.

IMHO I would just create a really really n00b friendly page on how to update the clients video drivers. Detail instructions on hitting the ATI or NVidia sites...

btw. the (icky) IBM Graphics Adapter also forms a large component out there. I do not know how to update that one though. Is there a link in the IBM homepage?? *shrug*

hth,