Zugriff auf eine OpenGL-Benutzeroberfläche über X11-Weiterleitung

704
wheatley

Ich möchte die Pybullet-Python-Bibliothek von Bullet Physics verwenden, um ein GUI-Fenster zu erstellen und damit zu arbeiten. Ich führe einen Python-Interpreter über SSH von einem Remote-Server aus.

Jetzt kann ich auf die meisten GUI-Fenster durch X11-Weiterleitung zugreifen (alle Matplotlib-Plots leiten ihren grafischen Inhalt erfolgreich an meinen lokalen Computer weiter). Aus irgendeinem Grund kann das OpenGL-basierte Fenster, das sich öffnen sollte, wenn ich es benutze, import pybullet as p; p.connect(p.GUI)nicht ausgeführt werden und ich bekomme den folgenden Fehlerbericht, bevor der Kernel stirbt:

pybullet build time: Aug 14 2017 11:46:39 startThreads creating 1 threads. starting thread 0 started thread 0  argc=4 argv[0] = unused argv[1] =  argv[2] = --logtostderr argv[3] = --start_demo_name=Physics Server ExampleBrowserThreadFunc started X11 functions dynamically loaded using dlopen/dlsym OK! glewXInit dynamically loaded using dlopen/dlsym OK glewXInit OK Failed to retrieve a framebuffer config 

Die GUI erscheint einwandfrei, wenn ich sie lokal von meinem Remote-Rechner aus ausführe. Das Problem liegt also nicht bei pybullet.

Hat jemand dieses Problem schon mal gesehen?

1

1 Antwort auf die Frage

0
Erwin Coumans

PyBullet verwendet standardmäßig OpenGL 3.x

Versuchen Sie es mit

pybullet als p p.connect importieren (p.GUI, options = "- opengl2")

Es ist nicht voll ausgestattet, gibt Ihnen aber vielleicht einen Einblick.