opengl - 使用 EGL 有什么要求?
问题描述
我想尝试在没有真正的窗口系统的情况下将图像红化到服务器端的文件中。按照这篇文章,EGL 应该能够做到这一点。
我可以访问安装了以下软件包的 Ubuntu 服务器:freeglu3、freeglut3-dev、libegl1-mesa-dev 和 libglew-dev。这允许编译、链接和运行示例应用程序。运行nvidia-smi
说驱动是460以上版本,高于文章中提到的3xx。
当我尝试执行简单的示例程序时,eglInitialize
返回 false,并eglGetError()
设置为EGL_NOT_INITIALIZED
.
EGLDisplay eglDpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
EGLint major, minor;
eglInitialize(eglDpy, &major, &minor);
博客文章和其他 SO 答案说我应该链接 libOpenGL.so。但我不是手动链接,我使用的是该文章中提供的 cmake 代码:
find_package(OpenGL REQUIRED COMPONENTS OpenGL EGL)
add_executable(your_binary_name main.c)
target_link_libraries(your_binary_name PRIVATE OpenGL::OpenGL OpenGL::EGL)
并且需要,查看使用 .so 文件生成的 cmake 文件:
your_binary_name: /usr/lib/x86_64-linux-gnu/libOpenGL.so
your_binary_name: /usr/lib/x86_64-linux-gnu/libEGL.so
your_binary_name: /usr/lib/x86_64-linux-gnu/libGLU.so
your_binary_name: /usr/lib/x86_64-linux-gnu/libGLEW.so
your_binary_name: /usr/lib/x86_64-linux-gnu/libGLX.so
我错过了什么?我找不到任何其他必需的依赖项来设置 EGL 和无头渲染。
解决方案
推荐阅读
- python - 为什么变量可以添加到'.json'和'.text'
- asp.net-web-api - 如何限制 kubernetes pod 中 .net 核心应用程序的内存大小?
- css - Bootstrap:调整页面大小时,标题中的第二个 col-2 超过第一个 col-2
- sleep - 如何为服务器创建睡眠模式
- php - 根据用户 id 从表中更新 Mysql 列字段
- android - Android:浓缩咖啡:我找不到检查键盘是否隐藏的方法
- python - 使用python递归解析api复杂的json数据
- intellij-idea - 如何抑制有关命名约定的警告?
- amibroker - 在 Amibroker 中将此函数转换为返回数组而不是单个值的更优雅的方法
- c# - 如何从同一个 datagridview 填充多个 2D 图表?