Kasper, not sure if this will help you, but I think the GLEW stuff was added recently in V1.4.x and it seems to be still somewhat experimental. May be to get you started you could switch to v1.3r1 from the repository and try to embedd that version. V1.3.x should not contain the new GL stuff.

 

Good luck

 

                Carsten

 

 

 

From: Kasper Thofte [mailto:kasper.thofte@gmail.com]
Sent: Tuesday, April 26, 2011 10:34 AM
To: pymol-users@lists.sourceforge.net
Subject: [PyMOL] openGL/GLEW problems when embedding a PyMOL instance in aPyQt4 widget

 

Dear pymol user and developer community

I am trying to embed a pymol2.PyMOL instance in a PyQt4 widget.

I am using the latest beta v1.4.1 (although it still says v1.4.0 in layer0/Version.h, I assume you just forgot to update?). I use ubuntu on a macbook.

I got it to display a black window inside a PyQt4 app, and I was even able to produce som ugly little white square H atoms one time, plus som menus only half visible. Yes, kind of strange.

The problem is openGL related. When typing pymol -v at the command line, it tells me that my openGL version is pre 2.0, which is not true.

(Well, actually I wasn't entirely sure what precisely to look for in the synaptic package manager, but libqt4-opengl is v4:4.7.0, python-opengl is v3.0.1, python-qt4-gl is v4.7.4, freeglut3-dev is v2.6.0, libglew1.5-dev is, well v1.5.2 glutg3-dev is 3.7-25)

Anyway, when I runt the following code (which may also contain the source of the problem, I don't know):

class PymolQWidget(QGLWidget):

        def __init__(self, parent=None):
                QGLWidget.__init__(self, parent=parent)

                self.pymolInstance = pymol2.PyMOL()
                self.pymolInstance.start()
                self.pymolInstance.cmd.load('<home-directory>/GUI/H2.pdb')'

                self.pymolInstance.cmd.draw()
                self.pymolInstance.cmd.show_as("sticks")

app = QtGui.QApplication(sys.argv)
pymolWidget = PymolQWidget()
pymolWidget.show()
sys.exit(app.exec_())

I get the following error message:

ShaderMgrInit-Error: Could not initialize GLEW:Missing GL version

which means that GLEW_OK!=err at line 145 in layer0/ShaderMgr.c, which means the glew hasn't been initialized, which is as far as I was able to get.

Needless to say, help would be greatly appreaciated.

Best,
Kasper Thofte
University of Copenhagent