From Fedora Project Wiki
Line 96: Line 96:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
* Proposal owners: Tweak the gdm udev rule to enable Wayland with NVIDIA driver version > 5xx [https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in#L7-17]
* Proposal owners: Tweak the gdm udev rule to enable Wayland with NVIDIA driver version > 5xx [https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in#L7-17]
* Other developers: This change doesn't affect other developers<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: This change doesn't affect other developers<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
* Release engineering: This change doesn't affect release workflow <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: This change doesn't affect release workflow <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
* Policies and guidelines: This change doesn't affect packaging guidelines <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: This change doesn't affect packaging guidelines <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. -->
* Trademark approval: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://pagure.io/Fedora-Council/tickets/issues ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->


* Alignment with Objectives: No
* Alignment with Objectives: No

Revision as of 10:13, 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

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) 1. Install the NVIDIA proprietary driver 2. Reboot the machine 3. Ensure graphical login screen comes up 4. Try to log into a "GNOME" session 5. Check whether this is a "GNOME on Wayland" session (both $DISPLAY and $WAYLAND_DISPLAY are set) 6. Log out 7. Try to log into a "GNOME on Xorg" session 8. Check whether this is a "GNOME on Xorg" session ($DISPLAY is set, $WAYLAND_DISPLAY is not set) 9. Log out


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