pygame.error: Couldn't find matching GLX visual?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
heiliga horsd

Hallo,

ich habe mir das Buch "Coding4Fun mit Python" gekauft. Darin wird sehr viel mit PyGame und OpenGL gearbeitet. Nun wollte ich Programmcode aus dem Buch ausprobieren, aber leider funtkioniert es nicht, ich bekomme folgenden Traceback:
python2.6 openGLClock.py
Traceback (most recent call last):
File "openGLClock.py", line 201, in <module>
if __name__ == '__main__': main()
File "openGLClock.py", line 183, in main
pygame.display.set_mode(screenSize, video_flags)
pygame.error: Couldn't find matching GLX visual
Ich habe Pygame und OpenGL per easy_install installiert.

Pygame-Version: 1.9.1
PyOpenGL-Version: 3.0.1b2
Python-Version: 2.6 (2.7 und 3.1 sind auch installiert)
Ubuntu 10.10 Maverick

Ich hoffe ihr könnt mir helfen. Leider weiß ich nicht ob ich Code aus dem Buch veröffentlichen darf, immerhin will ich auch keinen Ärger mit dem Verlag und/oder dem Autor haben.

Nachtrag: Ich konnte den Fehler weiter eingrenzen, ich habe den Programmcode zum Game of Life ausprobiert. Ergebnis: Die 2D-Darstellung mittels Pygame/OpenGL funktioniert, sobald es 3D wird bekomme ich exakt die gleiche Fehlermeldung.
Das gute ist, dass ihr euch hier den Code anschauen könnt, da es die Leseprobe im Internet gibt: http://www.galileocomputing.de/download ... python.pdf

Lg HH
BlackJack

@heiliga horsd: Wie unterscheidet sich der Aufruf denn von dem in der 2D-Version? Ist das angeforderte Display-Surface grösser oder kleiner und wie unterscheiden sich die `video_flags`? Da wird ja offensichtlich ein OpenGL-Modus angefordert, den Dein Rechner, sprich Kombination aus Grafikkarte und Treiber, nicht bietet.
heiliga horsd

2D-Version:

Code: Alles auswählen

livingSpaceWidth = 100

livingSpaceHeight = 60

creatureSize = 10
[...]
video_flags = OPENGL | HWSURFACE | DOUBLEBUF

screenSize = (livingSpaceWidth * creatureSize, livingSpaceHeight * creatureSize)
3D-Version:

Code: Alles auswählen

livingSpaceWidth = 12

livingSpaceHeight = 12

livingSpaceDepth = 12

creatureSize = 80
[...]
video_flags = OPENGL | HWSURFACE | DOUBLEBUF

screenSize = (livingSpaceWidth * creatureSize, livingSpaceHeight * creatureSize)
Die 'video_flags unterschieden sich komischerweise gar nicht...
Antworten