Wayland support for the 565 release series

There are several areas in which the NVIDIA driver lacks feature parity between X11 and Wayland. These may be due to limitations of the driver itself, the Wayland protocol, or the specific Wayland compositor in use. Over time this list is expected to shorten as missing functionality is implemented both in the driver and in upstream components, but the following captures the situation as of the release of this driver version. Note that this assumes a compositor with reasonably complete support for graphics-related Wayland protocol extensions.

Wayland Protocol or Compositor Limitations

The following workstation features are not supported by Wayland compositors or the Wayland protocol. Because of this, we currently have no plans to support these on Wayland.

Some of these features do not mix well with Wayland’s compositor architecture. Due to the number of different Wayland compositors in the ecosystem, it is not feasible to implement these features on every compositor while delivering a cohesive experience. Instead these features will be available through Vulkan Direct to Display (VK_KHR_display), where the application acquires and directly drives a physical display. This gives the app explicit control over the display, using API and device features to control the behavior as they wish. Applications may need to be modified to make use of these features.

The following features will not be supported on Wayland or Xwayland:

  • Stereo rendering using GLX/EGL/Vulkan
  • Implicit SLI Mosaic
    • This feature refers to when an application presents to a virtual display which is tiled across multiple physical displays.
    • Please see below for how “Explicit SLI” will be supported.
  • nvidia-settings will not offer same level of configuration.
    • There is no cross-compositor method for configuration that would allow nvidia-settings to manage displays on Wayland as it does on X11. nvidia-settings will still provide details about the system and power usage.

The following features will instead be available through Vulkan Direct to Display:

  • Stereo rendering
    • VK_KHR_multiview provides optimization for drawing multiple viewports.
  • Vulkan Explicit SLI
    • Will be supported through VK_KHR_device_group
  • Swap Groups
    • Supported by VK_NV_present_barrier
  • Frame Lock and Genlock

Features planned for future release

These are features that are in progress or that we plan to implement in the future as the ecosystem evolves to support them.

  • Multi-monitor VRR on Wayland will be in an upcoming release.
  • nvidia-drm fbdev=1 parameter set by default
    • This helps fix invalid output with compositors when nvidia-drm and simpledrm have device nodes driving the same display
  • nvidia-drm modeset=1 parameter set by default
  • Display multiplexers (muxes) are typically used in laptops with both integrated and discrete GPUs to provide a direct connection between the discrete GPU and the built-in display (internal mux) or an external display (external mux). On X11, the display mux can be automatically switched when a full-screen application is running on the discrete GPU, enabling enhanced display features and improved performance, but no Wayland compositors currently support this functionality.
  • Advanced display pipeline features including warp and blend, pixel shift, and the COLOR_ENCODING/COLOR_RANGE plane properties.
    • These features may be exposed through DRM properties to allow compositors to use them.
  • Front-buffer rendering in GLX with Xwayland.
  • nvidia-drm Presentation Timing information.
  • VDPAU support on Wayland.
  • vGPU support on Wayland.

The following functionality has recently been released upstream

18 Likes