strange ati-fglrx render problem with fc4 built pymol

Jack Howarth howarth at bromo.msbb.uc.edu
Sun Jul 17 17:27:39 UTC 2005


   Can anyone else reproduce this problem? I have a Fedora Core 4
machine with a Radeon 9600XT graphics card installed using the
ati-fglrx-8.14.13.1-0.lvn.5.4 rpm for the graphics drivers and the
kernel-smp-2.6.12-1.1390_FC4 rpm for the kernel. The /var/log/Xorg.0.log
indicates that direct rendering is enabled through the fglrx kernel
module. The gxlears program confirms this with the fps increased from
~160 fps without the fglrx module loaded to ~3000 fps with it being
loaded.
   All the opengl programs I have tried so far seem okay except for
a copy of pymol 0.98 which I built with the srpm from...

http://apt.bioxray.dk/rhel/el4/i386/SRPMS.xray/pymol-0.98-1.2.el4.mok.src.rpm

using the following patches...

--- pymol.spec.rhel4    2005-07-17 13:04:21.000000000 -0400
+++ pymol.spec  2005-07-17 13:05:40.000000000 -0400
@@ -7,13 +7,13 @@
 Summary: PyMOL Molecular Graphics System
 Name: pymol
 Version: 0.98
-Release: 1%{?reltag}%{?repotag}
-Copyright: Python
+Release: 1fc4
+License: Python
 Group: Development/Tools
 URL: http://www.pymol.org
 Source0: /usr/src/redhat/SOURCES/pymol-0_98-src.tgz
-Source1: Rules.linux-redhat-py23
-Source2: pymol.com.linux-rpm-redhat-py23
+Source1: Rules.linux-redhat-py24
+Source2: pymol.com.linux-rpm-redhat-py24
 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot/
 BuildRequires: libpng-devel freeglut-devel python-devel
 Requires: python2 >= 2.2

--- pymol.com.linux-rpm-redhat-py23     2005-05-12 11:14:03.000000000 -0400
+++ pymol.com.linux-rpm-redhat-py24     2005-07-17 13:04:05.000000000 -0400
@@ -5,7 +5,7 @@
 # ==============================================================
 # Set PYMOL_PATH to point at the correct location on your system
 #
-setenv PYMOL_PATH /usr/lib/python2.3/site-packages/pymol
+setenv PYMOL_PATH /usr/lib/python2.4/site-packages/pymol
 #
 # ==============================================================
 # (no changes usually required below here)

--- pymol.com.linux-rpm-redhat-py23     2005-05-12 11:14:03.000000000 -0400
+++ pymol.com.linux-rpm-redhat-py24     2005-07-17 13:04:05.000000000 -0400
@@ -5,7 +5,7 @@
 # ==============================================================
 # Set PYMOL_PATH to point at the correct location on your system
 #
-setenv PYMOL_PATH /usr/lib/python2.3/site-packages/pymol
+setenv PYMOL_PATH /usr/lib/python2.4/site-packages/pymol
 #
 # ==============================================================
 # (no changes usually required below here)
[howarth at graphics SOURCES]$ diff -uNr Rules.linux-redhat-py23 Rules.linux-redhat-py24
--- Rules.linux-redhat-py23     2005-07-17 13:03:18.000000000 -0400
+++ Rules.linux-redhat-py24     2005-07-17 13:03:43.000000000 -0400
@@ -6,7 +6,7 @@
 #
 #- Building ----------------------------------------------------------
 #--- Tell "make" how to get to PyMOL during build
-PYMOL_PATH = /var/tmp/pymol-root/usr/lib/python2.3/site-packages/pymol
+PYMOL_PATH = /var/tmp/pymol-root/usr/lib/python2.4/site-packages/pymol
 #---------------------------------------------------------------------
 #
 #- Dependencies ------------------------------------------------------
@@ -14,10 +14,10 @@
 XLIB_DIR = -L/usr/X11R6/lib
 XINC_DIR = -I/usr/X11R6/include
 #--- Python
-PYTHON_EXE = /usr/bin/python2.3
-PYTHON_LIB = -lpython2.3
-PYTHON_LIB_DIR = -L/usr/lib/python2.3/config
-PYTHON_INC_DIR = -I/usr/include/python2.3 
+PYTHON_EXE = /usr/bin/python2.4
+PYTHON_LIB = -lpython2.4
+PYTHON_LIB_DIR = -L/usr/lib/python2.4/config
+PYTHON_INC_DIR = -I/usr/include/python2.4 
 #--- Other external dependencies
 EXT_INC_DIR = 
 EXT_LIB_DIR = 

The resulting pymol rpm does run but doesn't use the direct rendering.
Instead it will report in the terminal window...

>  OpenGL graphics engine:
>   GL_VENDOR: Mesa project: www.mesa3d.org
>   GL_RENDERER: Mesa GLX Indirect
>   GL_VERSION: 1.2 (1.5 Mesa 6.2.1)
>  Detected 4 CPUs.  Enabled multithreaded rendering.

If I download the prebuilt version of pymol from

http://delsci.com/rel/0_98/pymol-0_98rc3-bin-linux-x86-glibc23.tgz

and run that one instead, the direct rendering is correctly detected...

>   GL_VENDOR: ATI Technologies Inc.
>   GL_RENDERER: RADEON 9600 XT Generic
>   GL_VERSION: 1.3.5140 (X4.3.0-8.14.13)
>  Detected 4 CPUs.  Enabled multithreaded rendering.

I have also checked with ldd and the binaries of both copies are
properly accessing the correct libraries...

ldd /usr/lib/python2.4/site-packages/pymol/modules/pymol/_cmd.so | grep libGL
        libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x006f4000)
        libGL.so.1 => /usr/lib/ati-fglrx/libGL.so.1 (0x00892000)

ldd /usr/local/pymol/pymol.exe | grep libGL
        libGL.so.1 => /usr/lib/ati-fglrx/libGL.so.1 (0x00b00000)
        libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x00ced000)

(the prebuilt one has cmd.so statically linked into pymol.exe). The author
of pymol is baffled at this point as to why the fc4 built pymol isn't
accessing the same renderer since they are both using the same OpenGL
libs. It would be most helpful if we could get some other folks testing
this in case we are seeing some bug in either gcc4 code generation or
in the xorg of FC4. Thanks in advance.
                    Jack
ps To build the pymol rpms...

http://apt.bioxray.dk/rhel/el4/i386/SRPMS.xray/pymol-0.98-1.2.el4.mok.src.rpm
rpm -i pymol-0.98-1.2.el4.mok.src.rpm
cd rhdev/SOURCES
cp pymol.com.linux-rpm-redhat-py23 pymol.com.linux-rpm-redhat-py24
cp Rules.linux-redhat-py23 Rules.linux-redhat-py24
...now apply the patches to pymol.com.linux-rpm-redhat-py24 and
Rules.linux-redhat-py24 from above and in rhdev/SPECS apply the 
patch above to pymol.spec. The resulting pymol.spec should cleanly
build a package.




More information about the fedora-list mailing list