Architectural differences between X11 and Wayland impact the feature set the NVIDIA driver is able to provide. This post documents the affected features, why they are impacted, and whether they can be supported going forward. Features may be affected by pending improvements in the driver, 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.
Notable updates since 575:
- nvidia-drm’s modeset=1 parameter is now set by default
- Initial VDPAU support for Wayland is available
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
- 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 (VK_KHR_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
The following features that are in progress or that we plan to implement in the future as the ecosystem evolves to support them:
- Dynamic 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). Wayland compositors do not currently support dynamic display mux switching.
- Advanced display pipeline features including pixel shift and dynamic DRM plane assignment.
- nvidia-drm Presentation Timing information.
- vGPU support on Wayland