From Fedora Project Wiki
Line 125: Line 125:
3. What are the expected results of those actions?
3. What are the expected results of those actions?
-->
-->
 
# Requires an NVIDIA GPU supported by recent NVIDIA proprietary driver versions and "nvidia-drm.modeset=1" set in the kernel command line (rpmfusion packages for the NVIDIA driver do that automatically)
0. Requires an NVIDIA GPU supported by recent NVIDIA proprietary driver versions and "nvidia-drm.modeset=1" set in the kernel command line (rpmfusion packages for the NVIDIA driver do that automatically)
# Install the NVIDIA proprietary driver
1. Install the NVIDIA proprietary driver
# Reboot the machine
2. Reboot the machine
# Ensure graphical login screen comes up
3. Ensure graphical login screen comes up
# Try to log into a "GNOME" session
4. Try to log into a "GNOME" session
# Check whether this is a "GNOME on Wayland" session (both `$DISPLAY` and `$WAYLAND_DISPLAY` are set)
5. Check whether this is a "GNOME on Wayland" session (both $DISPLAY and $WAYLAND_DISPLAY are set)
# Log out
6. Log out
# Try to log into a "GNOME on Xorg" session
7. Try to log into a "GNOME on Xorg" session
# Check whether this is a "GNOME on Xorg" session (`$DISPLAY` is set, `$WAYLAND_DISPLAY` is not set)
8. Check whether this is a "GNOME on Xorg" session ($DISPLAY is set, $WAYLAND_DISPLAY is not set)
9. Log out
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== User Experience ==
== User Experience ==

Revision as of 10:18, 6 December 2021

Wayland By Default with NVIDIA proprietary Driver

Summary

Enable Wayland sessions by default in GDM even with the NVIDIA proprietary driver.

Owner


Current status

  • Targeted release: Fedora Linux 36
  • Last updated: 2021-12-06
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Recent updates in NVIDIA proprietary driver allow Xwayland to benefit from hardware acceleration and X11 applications can have their rendering hardware accelerated.

That allowed to enable Wayland sessions even when the NVIDIA proprietary driver is used, but keeping Xorg the default in that case.

This proposal is to make Wayland by default with newer versions of the NVIDIA proprietary driver.

GDM already has a udev rule that checks for the driver and the version, so this would only require a tweak in the udev rule to make Wayland session the default with the next version of the NVIDIA driver.

Note that currently Xorg is also preferred in the case of multiple GPU, this would remain the case with this proposal.

Feedback

Benefit to Fedora

Fedora has changed to Wayland by default since Fedora 22, but the NVIDIA proprietary driver has been an exception ever since then (either because would disable Wayland entirely with NVIDIA drivers, or still use Xorg by default).

Therefore when first installing Fedora on NVIDIA hardware, users get Wayland by default with the Open Source "nouveau" driver, with Xorg being an option in the login screen. If they later decide to enable rpmfusion and install the NVIDIA proprietary driver, they will get Xorg by default and Wayland as an option.

This change would make the default consistent regardless of the driver, for single GPU systems.

Scope

  • Proposal owners: Tweak the gdm udev rule to enable Wayland with NVIDIA driver version > 5xx [1]
  • Other developers: This change doesn't affect other developers
  • Release engineering: This change doesn't affect release workflow
  • Policies and guidelines: This change doesn't affect packaging guidelines
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: No

Upgrade/compatibility impact

How To Test

  1. Requires an NVIDIA GPU supported by recent NVIDIA proprietary driver versions and "nvidia-drm.modeset=1" set in the kernel command line (rpmfusion packages for the NVIDIA driver do that automatically)
  2. Install the NVIDIA proprietary driver
  3. Reboot the machine
  4. Ensure graphical login screen comes up
  5. Try to log into a "GNOME" session
  6. Check whether this is a "GNOME on Wayland" session (both $DISPLAY and $WAYLAND_DISPLAY are set)
  7. Log out
  8. Try to log into a "GNOME on Xorg" session
  9. Check whether this is a "GNOME on Xorg" session ($DISPLAY is set, $WAYLAND_DISPLAY is not set)

User Experience

Users with NVIDIA hardware and NVIDIA proprietary driver installed will get a Wayland session by default when selecting the "GNOME" session in the login screen.

Dependencies

This depends on the NVIDIA proprietary driver and its support for Wayland.


Contingency Plan

  • Contingency mechanism: Revert the default to Xorg for NVIDIA driver by reverting the changes in the udev rule shipping with GDM
  • Contingency deadline: Beta Freeze
  • Blocks release? No


Documentation

NVIDIA's own documentation [2]:

* http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/xwayland.html
* http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/gbm.html


Release Notes