From Fedora Project Wiki
m (Add trackers)
 
(22 intermediate revisions by 2 users not shown)
Line 12: Line 12:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:ofourdan| Olivier Fourdan]]  [[User:Rstrode| Ray Strode]]  
* Name: [[User:ofourdan| Olivier Fourdan]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <ofourdan@redhat.com>
* Email: <ofourdan@redhat.com>
Line 18: Line 18:
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
-->


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF36]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 38: Line 37:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* FESCo issue: <will be assigned by the Wrangler>
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/OTGKP27GD7BWWCSBDSJAFUAHFTN7NWNB/ devel thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2714 #2714]
* Release notes tracker: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/2037387 #2037387]
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/783 #783]


== Detailed Description ==
== Detailed Description ==
Line 49: Line 49:
That allowed to enable Wayland sessions even when the NVIDIA proprietary driver is used, but keeping Xorg the default in that case.
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.
This proposal is to make Wayland by default with newer versions of the NVIDIA proprietary driver to remain consistent with other drivers.


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.
GDM already has a set of udev rules which check for the driver and its version, so this would only require a tweak in the udev rules to make Wayland session the default with the next version of the NVIDIA driver [https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in].


Note that currently Xorg is also preferred in the case of multiple GPU, this would remain the case with this proposal.
Note that currently Xorg is also preferred in the case of multiple GPU, this would remain the case with this proposal.
This change is just about changing the default with NVIDIA proprietary driver on supported configurations, “GNOME on Xorg” still remains an option, just like with other drivers.


== Feedback ==
== Feedback ==
Line 87: Line 89:
-->
-->


Fedora has changed to Wayland by default since [[Changes/Login Screen Over Wayland|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).
Fedora has changed to Wayland by default since [[Changes/Login Screen Over Wayland|Fedora 22]], but the NVIDIA proprietary driver has been an exception ever since (either because originally Wayland would be disabled with NVIDIA drivers, or more recently Xorg would be used 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.
Currently, 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 the rpmfusion repository and install the NVIDIA proprietary driver, they get Xorg by default and Wayland as an option.


This change would make the default consistent regardless of the driver, for single GPU systems.
This change would make the default consistent regardless of the driver, for single GPU systems.
Line 95: Line 97:
== Scope ==
== Scope ==
<!-- 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 the NVIDIA proprietary driver above a given version [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: [[User:Rstrode| Ray Strode]] for reviewing the changes in the udev rules from GDM<!-- 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 -->
Line 125: Line 127:
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)
# Requires an NVIDIA GPU supported by the recent NVIDIA proprietary driver and `nvidia-drm.modeset=1` set in the kernel command line to enable KMS [http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/kms.html] (rpmfusion packages for the NVIDIA driver do that automatically)
# Install the NVIDIA proprietary driver
# Enable the rpmfusion “nonfree” repository to install the NVIDIA graphics drivers [https://docs.fedoraproject.org/en-US/quick-docs/setup_rpmfusion/]
# Install the NVIDIA proprietary driver (and the `xorg-x11-drv-nvidia-power` package for suspend/resume support - see [https://rpmfusion.org/Howto/NVIDIA?highlight=%28%5CbCategoryHowto%5Cb%29#Suspend] and [http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/powermanagement.html] for more details) from the rpmfusion repository
# Reboot the machine
# Reboot the machine
# Ensure graphical login screen comes up
# Ensure graphical login screen comes up
Line 152: Line 155:


This depends on the NVIDIA proprietary driver and its support for Wayland.
This depends on the NVIDIA proprietary driver and its support for Wayland.
Typically, this proposal would change the default in a future version of the NVIDIA driver which is not released yet.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== Contingency Plan ==
== Contingency Plan ==
Line 170: Line 174:
NVIDIA's own documentation [http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/]:
NVIDIA's own documentation [http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/]:


* http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/kms.html
  * 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/xwayland.html
  * http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/gbm.html
  * http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/gbm.html

Latest revision as of 14:25, 5 January 2022

Wayland By Default with NVIDIA proprietary Driver

Summary

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

Owner

Current status

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 to remain consistent with other drivers.

GDM already has a set of udev rules which check for the driver and its version, so this would only require a tweak in the udev rules to make Wayland session the default with the next version of the NVIDIA driver [1].

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

This change is just about changing the default with NVIDIA proprietary driver on supported configurations, “GNOME on Xorg” still remains an option, just like with other drivers.

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 (either because originally Wayland would be disabled with NVIDIA drivers, or more recently Xorg would be used by default).

Currently, 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 the rpmfusion repository and install the NVIDIA proprietary driver, they 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 the NVIDIA proprietary driver above a given version [2]
  • Other developers: Ray Strode for reviewing the changes in the udev rules from GDM
  • 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 the recent NVIDIA proprietary driver and nvidia-drm.modeset=1 set in the kernel command line to enable KMS [3] (rpmfusion packages for the NVIDIA driver do that automatically)
  2. Enable the rpmfusion “nonfree” repository to install the NVIDIA graphics drivers [4]
  3. Install the NVIDIA proprietary driver (and the xorg-x11-drv-nvidia-power package for suspend/resume support - see [5] and [6] for more details) from the rpmfusion repository
  4. Reboot the machine
  5. Ensure graphical login screen comes up
  6. Try to log into a "GNOME" session
  7. Check whether this is a "GNOME on Wayland" session (both $DISPLAY and $WAYLAND_DISPLAY are set)
  8. Log out
  9. Try to log into a "GNOME on Xorg" session
  10. 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.

Typically, this proposal would change the default in a future version of the NVIDIA driver which is not released yet.

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 [7]:

* http://us.download.nvidia.com/XFree86/Linux-x86_64/495.44/README/kms.html
* 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