mkocabas / VIBE

Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"
https://arxiv.org/abs/1912.05656
Other
2.88k stars 548 forks source link

pyrender and opengl issue on VMs #196

Open alighofrani95 opened 3 years ago

alighofrani95 commented 3 years ago

I have to try loading the project on VM machine and this issue occurs, my machine is UBUNTU 18.04, and 3D is enabled in VMware. Indeed I tried with multiple pyrender and OpenGL Versions but doesn't solve it.

INFO - 2021-05-02 18:43:37,442 - base - finished build model. Traceback (most recent call last): File "/root/Desktop/final/m3d/src/core/test.py", line 230, in main() File "/root/Desktop/final/m3d/src/core/test.py", line 210, in main demo = Demo() File "/root/Desktop/final/m3d/src/core/test.py", line 7, in init self._preparemodules() File "/root/Desktop/final/m3d/src/core/test.py", line 15, in _preparemodules self.visualizer = Visualizer(resolution=self.vis_size, input_size=self.input_size,with_renderer=True) File "/root/Desktop/final/m3d/src/core/../lib/models/../utils/../maps_utils/../dataset/../dataset/../dataset/../visualization/visualization.py", line 23, in init self.renderer = get_renderer(resolution=resolution) File "/root/Desktop/final/m3d/src/core/../lib/models/../utils/../maps_utils/../dataset/../dataset/../dataset/../visualization/../visualization/renderer.py", line 142, in get_renderer renderer = Renderer(faces,resolution=resolution[:2]) File "/root/Desktop/final/m3d/src/core/../lib/models/../utils/../maps_utils/../dataset/../dataset/../dataset/../visualization/../visualization/renderer.py", line 72, in init point_size=1.0) File "/usr/local/lib/python3.6/dist-packages/pyrender/offscreen.py", line 31, in init self._create() File "/usr/local/lib/python3.6/dist-packages/pyrender/offscreen.py", line 149, in _create self._platform.init_context() File "/usr/local/lib/python3.6/dist-packages/pyrender/platforms/egl.py", line 188, in init_context EGL_NO_CONTEXT, context_attributes File "/usr/local/lib/python3.6/dist-packages/OpenGL/platform/baseplatform.py", line 409, in call return self( *args, **named ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.error.GLError: GLError( err = 12297, baseOperation = eglCreateContext, cArguments = ( <OpenGL._opaque.EGLDisplay_pointer object at 0x7f3dba91e2f0>, <OpenGL._opaque.EGLConfig_pointer object at 0x7f3dba91e378>, <OpenGL._opaque.EGLContext_pointer object at 0x7f3dbcaabe18>, <OpenGL.arrays.lists.c_int_Array_7 object at 0x7f3dbcaab1e0>, ), result = <OpenGL._opaque.EGLContext_pointer object at 0x7f3dba940268> )

silvercondor commented 2 years ago

Hi,

short version:

try export EGL_DEVICE_ID=1


long version:

I was facing the same issue and realize its because the cloud instance i was on had multiple devices and gpu0 was a vnc service which had no cuda, causing egl to fail

i check the device by running lshw -C display

I fixed this issue by running

export EGL_DEVICE_ID=1

Hope this helps someone out there