一些丑陋的代码可以让NVIDIA的Linux驱动程序与加速的XWayland一起工作

2020-08-24 12:25:19

RedHat的亚当·杰克逊(Adam Jackson)一直在研究GLX Delay,作为一种在使用NVIDIA专有驱动程序时为XWayland提供OpenGL加速GLX的方法。建议的代码正在通过MESA,尽管它是为了获得专有的NVIDIA驱动程序利益,并且还需要更改OpenGL供应商中立调度库(Libglvnd)。这段正在进行中的代码确实允许glxgears和glxinfo等工具现在使用NVIDIA专有驱动程序在XWayland上成功运行。亚当特别指出,由于这种方法的设计,实际的GL渲染部分的速度应该与Xorg或裸机上的EGL一样快,因此原则上这最终可能与Xorg的性能一样好。因此,虽然对于希望加速XWayland支持的NVIDIA二进制Linux游戏玩家来说,这是件好事,但此代码相当繁琐,而且会进行一些争执,因此无需更改NVIDIA专有驱动程序即可工作。未实现的功能包括对XWayland窗口大小的支持、各种GLX功能、SwapBuffers额外功能(如vsync未连接)等等。代码是通过MESA发送的,因为它重用了MESA的GLX代码,至于杰克逊为什么要致力于NVIDIA XWayland加速支持,他评论说,我希望xfre86代码从我的生活中消失,这种方法似乎可以消除你可能需要使用Xorg和NVIDIA的驱动程序的一大类原因。当然,它比您目前在该场景中为GLX客户端获得的(即llvmPipeTM)要好得多。另一方面,我可以看到这样的说法,即这巩固了NVIDIA的libEGL的地位,因为我们只是让它更有用。但总的来说,我认为这减少了二进制驱动程序占用的空间,而且我认为这是一个很好的发展方向。";正在进行的代码可以通过这个MESA合并请求找到。在接下来的几天里,我们将看看其他上游Linux图形驱动程序开发人员对这种方法的看法。