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