Я пытаюсь использовать PyBullet
на удаленном компьютере. Удаленный компьютер имеет графическую карту NVIDIA RTX 2070 с 410 драйверами. xlogo
отлично работает.
Быстрый тест дает мне ошибку:
>>> import pybullet as p; p.connect(p.GUI);
pybullet build time: May 13 2019 09:52:59
startThreads creating 1 threads.
starting thread 0
started thread 0
argc=2
argv[0] = --unused
argv[1] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
X11 functions dynamically loaded using dlopen/dlsym OK!
X11 functions dynamically loaded using dlopen/dlsym OK!
Creating context
Failed to create GL 3.3 context ... using old-style GLX context
Failed to create an OpenGL context
Я могу получить такую ошибку, используя glxgears
:
$ glxgears
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 31
Current serial number in output stream: 32
Для отладки я попытался сделать:
$ ldd `which glxgears`
linux-vdso.so.1 (0x00007ffce6fad000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fc9a9ecc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc9a9b2e000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fc9a97f6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc9a9405000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fc9a91d4000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fc9a8f1e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc9a8cff000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc9aa35e000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fc9a8ad7000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc9a88d3000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fc9a86cf000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fc9a84c9000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fc9a82b4000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc9a80ac000)
Очевидно, nvidia
здесь не используется:
$ ll /usr/lib/x86_64-linux-gnu/libGL*
lrwxrwxrwx 1 root root 22 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLdispatch.so -> libGLdispatch.so.0.0.0
lrwxrwxrwx 1 root root 22 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 -> libGLdispatch.so.0.0.0
-rw-r--r-- 1 root root 599K mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
lrwxrwxrwx 1 root root 29 juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.410.48
-rwxr-xr-x 1 root root 59K juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.410.48
lrwxrwxrwx 1 root root 21 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so -> libGLESv1_CM.so.1.0.0
lrwxrwxrwx 1 root root 21 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.0.0
-rw-r--r-- 1 root root 43K mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.0.0
lrwxrwxrwx 1 root root 26 juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.410.48
-rwxr-xr-x 1 root root 109K juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.410.48
lrwxrwxrwx 1 root root 18 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv2.so -> libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root 18 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 -> libGLESv2.so.2.0.0
-rw-r--r-- 1 root root 71K mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root 16 août 24 2017 /usr/lib/x86_64-linux-gnu/libGLEW.so -> libGLEW.so.2.0.0
lrwxrwxrwx 1 root root 16 août 24 2017 /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0 -> libGLEW.so.2.0.0
-rw-r--r-- 1 root root 575K août 24 2017 /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0.0
-rw-r--r-- 1 root root 671 juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGL.la
lrwxrwxrwx 1 root root 14 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGL.so -> libGL.so.1.0.0
lrwxrwxrwx 1 root root 14 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.0.0
-rw-r--r-- 1 root root 555K mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
-rw-r--r-- 1 root root 905K mai 22 2016 /usr/lib/x86_64-linux-gnu/libGLU.a
lrwxrwxrwx 1 root root 15 mai 22 2016 /usr/lib/x86_64-linux-gnu/libGLU.so -> libGLU.so.1.3.1
lrwxrwxrwx 1 root root 15 juin 14 2018 /usr/lib/x86_64-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.1
-rw-r--r-- 1 root root 443K mai 22 2016 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
lrwxrwxrwx 1 root root 44 juin 18 12:42 /usr/lib/x86_64-linux-gnu/libGLX.0.so -> /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
lrwxrwxrwx 1 root root 23 juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0 -> libGLX_nvidia.so.410.48
lrwxrwxrwx 1 root root 20 févr. 8 23:02 /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0 -> libGLX_mesa.so.0.0.0
-rw-r--r-- 1 root root 469K févr. 8 23:02 /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
lrwxrwxrwx 1 root root 23 juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 -> libGLX_nvidia.so.410.48
-rwxr-xr-x 1 root root 1,3M juin 18 12:27 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.410.48
lrwxrwxrwx 1 root root 15 juin 18 12:48 /usr/lib/x86_64-linux-gnu/libGLX.so.0 -> libGLX.so.0.0.0
-rw-r--r-- 1 root root 67K mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
lrwxrwxrwx 1 root root 15 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLX.so.0.bak -> libGLX.so.0.0.0
lrwxrwxrwx 1 root root 15 mai 10 14:17 /usr/lib/x86_64-linux-gnu/libGLX.so.bak -> libGLX.so.0.0.0
Я пытался установить libglvnd
, переустановить nvidia, но это ничего не изменило.
Я как бы потерялся здесь. Я действительно не знаю, что мне следует расследовать, чтобы идти дальше.