NVIDIA 驱动程序中 Wayland 支持的状态

NVIDIA 专有驱动程序的主要开发人员之一 Aaron Plattner 发布了 R515 驱动程序测试分支中 Wayland 协议支持的状态,NVIDIA 已为此提供了在内核级别运行的所有组件的源代码。值得注意的是,在许多方面,NVIDIA 驱动程序中对 Wayland 协议的支持尚未达到与 X11 支持相同的水平。同时,延迟是由于 NVIDIA 驱动程序的问题以及 Wayland 协议和基于它的复合服务器的一般限制造成的。

驱动程序限制:

  • libvdpau 库允许您使用硬件加速机制进行后处理、合成、显示和视频解码,但没有对 Wayland 的内置支持。该库也不能与 Xwayland 一起使用。
  • 用于屏幕捕获的 NvFBC (NVIDIA FrameBuffer Capture) 库不支持 Wayland 和 Xwayland。
  • nvidia-drm 模块不提供有关 G-Sync 等可变刷新率功能的信息,导致它们无法在基于 Wayland 的环境中使用。
  • 在基于 Wayland 的环境中,由于 DRM Lease 机制无法操作,无法输出到虚拟现实屏幕(例如 SteamVR 平台支持的虚拟现实屏幕),该机制提供了生成具有不同缓冲区的立体图像所需的 DRM 资源。输出到虚拟现实耳机时的左眼和右眼。
  • Xwayland 不支持 EGL_EXT_platform_x11 扩展。
  • nvidia-drm 模块不支持在复合管理器中完全支持颜色校正所需的 GAMMA_LUT、DEGAMMA_LUT、CTM、COLOR_ENCODING 和 COLOR_RANGE 属性。
  • 使用 Wayland 时,nvidia-settings 实用程序的功能受到限制。
  • 使用 GLX 中的 Xwayland,将输出缓冲区绘制到屏幕(前缓冲区)不适用于双缓冲。

Wayland 协议和复合服务器的局限性:

  • Wayland 协议或复合服务器不支持立体声输出、SLI、多 GPU 马赛克、帧锁定、同步锁相、交换组和高级显示模式(扭曲、混合、像素移位和 YUV420 模拟)等功能。显然,实现此类功能需要创建新的 EGL 扩展。
  • 没有普遍接受的 API 允许 Wayland 复合服务器通过 PCI-Express Runtime D3 (RTD3) 关闭视频内存。
  • Xwayland 缺乏一种可在 NVIDIA 驱动程序中使用的机制来同步应用程序渲染和屏幕输出。如果没有这种同步,在某些情况下,就不能排除视觉失真。
  • Wayland 复合服务器不支持屏幕多路复用器 (mux),该多路复用器在具有两个 GPU(集成和独立)的笔记本电脑上使用,用于将独立 GPU 直接连接到集成或外部屏幕。在X11中,当全屏应用程序通过独立GPU输出时,“mux”屏幕可以自动切换。
  • 通过 GLX 进行的间接渲染在 Xwayland 中不起作用,因为 GLAMOR 2D 加速架构的实现与 NVIDIA 的 EGL 实现不兼容。
  • 在基于 Xwayland 的环境中运行的 GLX 应用程序不支持硬件覆盖。

来源: opennet.ru

添加评论