【发布时间】:2023-01-08 10:52:14
【问题描述】:
我正在尝试运行使用 EGL 的 3D 人体模型生成器。当我运行以下代码时:
import OpenGL.EGL as egl
from ctypes import pointer
egl_display = egl.eglGetDisplay(egl.EGL_DEFAULT_DISPLAY)
print(egl_display)
major, minor = egl.EGLint(), egl.EGLint()
print(major, minor)
egl.eglInitialize(egl_display, pointer(major), pointer(minor))
上述代码的输出如下:
#################### the first two print info ####################
<OpenGL._opaque.EGLDisplay_pointer object at 0x7f480e971940>
c_int(0) c_int(0)
#################### error ####################
Traceback (most recent call last):
File "main.py", line 10, in <module>
egl.eglInitialize(egl_display, pointer(major), pointer(minor))
File "/data_HDD/zhuxingyu/anaconda3/envs/icon/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 415, in __call__
return self( *args, **named )
File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.raw.EGL._errors.EGLError: EGLError(
err = EGL_NOT_INITIALIZED,
baseOperation = eglInitialize,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7f480e971940>,
<OpenGL.raw.EGL._types.LP_c_int object at 0x7f480e971ac0>,
<OpenGL.raw.EGL._types.LP_c_int object at 0x7f480e971b40>,
),
result = 0
)
我不熟悉 EGL,对这个错误真的很困惑,这是我机器的信息:
- 5 NVIDIA GeForce GPU with CUDA 11.4 and Driver version 470.82.00 (get it from
nvidia-smi) - 已安装
libegl1并在/usr/lib/x86_64-linux-gnu/下有以下*.so文件
/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0
/usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0
/usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.470.82.00
/usr/lib/x86_64-linux-gnu/libEGL.so
/usr/lib/x86_64-linux-gnu/libEGL.so.1
/usr/lib/x86_64-linux-gnu/libEGL.so.1.0.0
- 我正在使用 vscode remote-ssh 运行代码,即我在机器 A 上工作,而代码实际上在机器 B 上运行。上面的所有机器信息都是关于机器 B 的。
我还需要做什么才能让eglInitialize正常运行?
【问题讨论】:
标签: egl