Wait, you are copying the NVIDIA GL replacement libraries to machines that do not have NVIDIA cards and the proprietary nvidia driver installed? ANd it works? I would think no GL app would run in that case.

Maybe the NVIDIA GL libs are smart enough to handle the case they find
no NVIDIA card/driver.  Anyway, that points to some kind of bug in
the default CentOS GL libs from Mesa.

One thing you can also try is getting the GL libs from some older version
of the default Mesa ones, such as these from the original release of 5.0

mesa-libGL-6.5.1-7.2.el5.i386.rpm
mesa-libGL-devel-6.5.1-7.2.el5.i386.rpm

Looks like the current ones are 7.5.  SO if the 7.2 ones work, then
something was introduced since then.

On Thu, 24 Apr 2008, Brian Hanna wrote:

Yes, that makes sense. But what libraries can I use to run tksurfer -without- installing the Nvidia libraries?

Paul Raines wrote:

The problem with the NVIDIA driver installation is that it overwrites
the GL shared lib links and removes the default CentOS GL libs.  If
you then do an update via up2date, yum, or whatever you use to keep
CentOS up to date and one of the packages updated is the GL one, then
the NVIDIA ones get overwritten with the defaults ones again.  The only
fix is to reinstall the NVIDIA driver.

So you have to monitor your upgrades closely and anytime you see an 'xorg'
package upgrage check the GL libs and reinstall NVIDIA if needed.


On Thu, 24 Apr 2008, Brian Hanna wrote:

Hi all,

We are having a problem running tksurfer on several Centos 5 machines. We are getting the dreaded GLXBadLargeRequest and just the front sliver of the brain displayed. By installing the Nvidia driver manually, we made it work.

We have one Centos 5 machine where it is working (machine01). That one machine has an Nvidia card and the Nvidia driver installed.

We find that machine01 runs tksurfer correctly locally, and other machines can connect to machine01 with VNC and run tksurfer remotely on machine01. None of the other machines work correctly.

Following up on the Nvidia driver difference, I notice that the Nvidia driver package includes a number of GL libraries. On the other machines, standard Centos 5 installs, I see:
$ ls -l /usr/lib*/libGL*
lrwxrwxrwx 1 root root 10 Jan 7 14:57 /usr/lib64/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 12 Jan 7 14:57 /usr/lib64/libGL.so.1 -> libGL.so.1.2
-rwxr-xr-x 1 root root 492720 Nov 10 11:23 /usr/lib64/libGL.so.1.2
lrwxrwxrwx 1 root root 11 Jan 7 14:57 /usr/lib64/libGLU.so -> libGLU.so.1 lrwxrwxrwx 1 root root 20 Jan 7 14:57 /usr/lib64/libGLU.so.1 -> libGLU.so.1.3.060501 -rwxr-xr-x 1 root root 526048 Nov 10 11:23 /usr/lib64/libGLU.so.1.3.060501 lrwxrwxrwx 1 root root 12 Apr 23 14:49 /usr/lib/libGL.so.1 -> libGL.so.1.2
-rwxr-xr-x 1 root root 432016 Nov 10 11:24 /usr/lib/libGL.so.1.2
lrwxrwxrwx 1 root root 20 Feb 3 16:07 /usr/lib/libGLU.so.1 -> libGLU.so.1.3.060501
-rwxr-xr-x 1 root root 524000 Nov 10 11:24 /usr/lib/libGLU.so.1.3.060501
I see (based on the modification time of the install) that there are several new libraries installed from Nvidia. That's a new libGL and 10mb libGLcore, and my standard libGL.so.1.2 has been zapped.
$ ls -l /usr/lib*/lib* | grep 09:21
lrwxrwxrwx 1 root root 22 Apr 16 09:21 /usr/lib64/libGLcore.so.1 -> libGLcore.so.100.14.11 -rwxr-xr-x 1 root root 9777704 Apr 16 09:21 /usr/lib64/libGLcore.so.100.14.11
-rw-r--r-- 1 root root      661 Apr 16 09:21 /usr/lib64/libGL.la
lrwxrwxrwx 1 root root 10 Apr 16 09:21 /usr/lib64/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 18 Apr 16 09:21 /usr/lib64/libGL.so.1 -> libGL.so.100.14.11 -rwxr-xr-x 1 root root 822960 Apr 16 09:21 /usr/lib64/libGL.so.100.14.11 lrwxrwxrwx 1 root root 18 Apr 16 09:21 /usr/lib64/libnvidia-cfg.so -> libnvidia-cfg.so.1 lrwxrwxrwx 1 root root 26 Apr 16 09:21 /usr/lib64/libnvidia-cfg.so.1 -> libnvidia-cfg.so.100.14.11 -rwxr-xr-x 1 root root 127096 Apr 16 09:21 /usr/lib64/libnvidia-cfg.so.100.14.11 lrwxrwxrwx 1 root root 26 Apr 16 09:21 /usr/lib64/libnvidia-tls.so.1 -> libnvidia-tls.so.100.14.11 -rwxr-xr-x 1 root root 3016 Apr 16 09:21 /usr/lib64/libnvidia-tls.so.100.14.11
-r--r--r-- 1 root root   185148 Apr 16 09:21 /usr/lib64/libXvMCNVIDIA.a
lrwxrwxrwx 1 root root 26 Apr 16 09:21 /usr/lib64/libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.100.14.11 -rwxr-xr-x 1 root root 137944 Apr 16 09:21 /usr/lib64/libXvMCNVIDIA.so.100.14.11 lrwxrwxrwx 1 root root 22 Apr 16 09:21 /usr/lib/libGLcore.so.1 -> libGLcore.so.100.14.11 -rwxr-xr-x 1 root root 10080488 Apr 16 09:21 /usr/lib/libGLcore.so.100.14.11
-rw-r--r-- 1 root root      659 Apr 16 09:21 /usr/lib/libGL.la
lrwxrwxrwx 1 root root 10 Apr 16 09:21 /usr/lib/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 18 Apr 16 09:21 /usr/lib/libGL.so.1 -> libGL.so.100.14.11
-rwxr-xr-x 1 root root   608400 Apr 16 09:21 /usr/lib/libGL.so.100.14.11
lrwxrwxrwx 1 root root 26 Apr 16 09:21 /usr/lib/libnvidia-tls.so.1 -> libnvidia-tls.so.100.14.11 -rwxr-xr-x 1 root root 2352 Apr 16 09:21 /usr/lib/libnvidia-tls.so.100.14.11
For a test, I temporarily copied the libraries and make the appropriate links on another machine - basically installing the driver manually. I find that now the entire brain displays and I don't get the GLXBadLargeRequest.

I suppose I could have installed an Nvidia card and installed the driver to accomplish the same thing. You can use the -x option to the NVidia driver package to just extract it without running the installer. Be sure to check the LICENSE file, sections 2.1.2 and 2.1.3, before deciding how to proceed with this information.

So the problem lies in functionality available in the Nvidia libGL (etc) libraries that is not available in the standard Centos 5 libGL. What GL/GLX libraries do I install on a non-Nvidia machine in order to run tksurfer? Does tksurfer depend specifically on having Nvidia cards or other proprietary drivers installed? The wiki states:
A 2GHz or faster processor, at least 2GB of RAM, and a 3D graphics card (with a GPU and its own graphics memory) with accelerated OpenGL drivers, is recommended. Freesurfer is highly CPU and memory intensive (and moderately disk intensive), so concentrate on boosting those performance aspects (more memory is better). Most modern video graphics card will perform fine, but be aware that graphics cards that use CPU memory as video memory will have a noticeably slow redraw rate.
Thanks,

Brian Hanna
CMRR
University of Minnesota
_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer








--
---------------------------------------------------------------
Paul Raines                email: raines at nmr.mgh.harvard.edu
MGH/MIT/HMS Athinoula A. Martinos Center for Biomedical Imaging
149 (2301) 13th Street     Charlestown, MA 02129            USA


_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer

Reply via email to