nvidia thoughts

Mike A. Harris mharris at redhat.com
Fri Oct 24 13:20:14 UTC 2003

On Fri, 24 Oct 2003, [iso-8859-1] Duncan Morison wrote:

>At the end of the day ATi stuff breaks GLUT whilst
>Nvidia stuff doesn't.

You're very wrong there.  GLUT itself is what is broken.  GLUT is 
not open source software with an OSI approved OSS compatible 
license.  The GLUT source code license does not permit 
modification and redistribution, and as such, nobody can 
"legally" modify GLUT even to fix bugs in it, and then ship the 
resulting binaries.  This causes a major problem, because the 
GLUT source code contains a large number of problems including 
security holes, and we are not able to fix them due to the 

The other problem this causes, is that GLUT configures some 
things at compile time based on the features of the currently 
installed libGL.  So, the GLUT that we shipped, has features 
built into it that are conditionaly enabled based on what OpenGL 
features Mesa libGL supports.  If you replace your libGL with 
either ATI *or* Nvidia's libGL (or any other 3rd party libGL), if 
that libGL does not contain 100% of the functionality of Mesa 
libGL, then GLUT breaks.  Nvidia's libGL does not implement some 
of the SGI extensions since they're rather obsolete nowadays, 
however Mesa libGL does.  That causes GLUT to be unuseable.  Most 
likely ATI's libGL is in the same boat, however I've never 
received bug reports about this problem from ATI users - only 
tonnes of reports from rather upset Nvidia users.  It's possible 
that Nvidia's latest drivers may have added support for these 
older SGI extensions, or put dummy stub functions or some other 
workaround in place to get past the GLUT braindamage.

Taking the GLUT src.rpm and recompiling it after you install ATI 
or Nvidia's libGL is reported to make this problem go away, as 
the new GLUT reconfigures itself at compile time to the currently 
installed libGL.  Since we have no way of dealing with GLUT in 
any sane fashion and can not legally modify it, we didn't have a 
heck of a lot of choice with what to do with GLUT.

The author of GLUT (under a huge coincidence, he works at Nvidia
now) wont relicense GLUT under a sane OSS license, and he 
specifically does not want people modifying and redistributing it 
as he fears that people will add new features and other stuff to 
the code and he considers GLUT to be officially feature complete.

As such, glut was removed from Fedora Core, and Red Hat
Enterprise Linux, and is no longer supported by Red Hat.  I have 
added freeglut to Fedora Core, however the freeglut present is 
ancient and kindof klunky.  A new version, freeglut-2.0.0 is out 
now which is supposed to be 100% glut replacement and totally 
true open source written from scratch, and licensed under the MIT 
(XFree86) license.  This is not in rawhide/Fedora yet, but it 
will be in the future once I have time to properly package it and 
test it with a lot of GLUT software and work the kinks out.  I 
might provide a freeglut 2.0.0 update for Fedora Core 1 later on, 
but if not, it'll be in Fedora Core 2.

So just to summarize:  Any GLUT problems you experience with 
applications refusing to run or refusing to compile, are neither 
Nvidia nor ATI bugs/problems - they are really broken bugs in 
GLUT itself, and we are not able to legally fix them.  This 
problem will go away in the near future when we replace glut with 

Hope this helps.

Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat

More information about the users mailing list