Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
我试图使用egl打开一个opengl上下文,它直接绘制在连接到linux上nvidia gpu的显示器上。
当使用eglGetDisplay(EGL_DEFAULT_DISPLAY)
打开egl显示时,它似乎创建了一个屏幕外的呈现上下文。
使用eglGetPlatformDisplayEXT
,它找不到任何显示。
是否可以将其设置为当程序在没有x11/wayland(或另一个访问gpu的进程)的情况下启动时,它会创建一个直接在屏幕上呈现的opengl上下文。
另外,如果x11设置为只访问主gpu,则可以将egl渲染到连接到辅助gpu的屏幕上。
它应该提供一个加速的opengl上下文,然后可以与cuda上下文共享。目标是尽可能高效地显示由cuda内核生成的图像,而不必经过窗口服务器。
最佳答案
是否可以将其设置为在没有x11/wayland的情况下启动程序
nvidia的linux驱动程序与x.org的基础设施紧密相连;它仍然不能正确地支持wayland。相反,英伟达用自己的“方法”直接访问显示器,他们称之为“egl流”;与Wayland的集成可以在https://github.com/NVIDIA/egl-wayland
从技术上讲,您可以使用egl流直接访问显示器,而无需x服务器。
另外,如果x11设置为只访问主gpu,则可以将egl渲染到连接到辅助gpu的屏幕上。
理论上,这在egl流中也是可能的,假设您将x服务器配置为只使用您希望它使用的一个设备;这可以通过在Device
的xorg.conf
部分指定busid来完成。
关于linux - 使用NVidia GPU的屏幕上EGL显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55028490/