web-dev-qa-db-ja.com

X11転送を介したOpenGLGUIへのアクセス

BulletPhysicsのpybullet pythonライブラリを使用してGUIウィンドウを作成し、操作したい。つまり、SSHを介してpythonインタープリターを実行しているリモートサーバー。

これで、X11転送を介してほとんどのGUIウィンドウにアクセスできます(すべてのmatplotlibプロットは、グラフィカルコンテンツをローカルマシンに正常に転送します)。ただし、何らかの理由で、import pybullet as p; p.connect(p.GUI)を使用すると開くはずのOpenGLベースのウィンドウが実行に失敗し、カーネルが停止する前に次のエラーレポートが表示されます。

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

リモートマシンからローカルで実行するとGUIが完全に正常にポップアップするため、問題はpybulletではありません。

誰かが以前にこの問題に遭遇したことがありますか?

1
wheatley

デフォルトでは、PyBulletはOpenGL3.xを使用します

使ってみてください

pybulletをpp.connect(p.GUI、options = "-opengl2")としてインポートします

それは完全に機能していませんが、あなたにある種の見方を与えるかもしれません。

0
Erwin Coumans