Wayland only system using Nvidia drivers

My recent experience with Nvidia proprietary drivers and Wayland has been great. With the latest updates of EGL Wayland (1.1.16+), the performance of the Wayland session it’s on par with the X session and it’s free from visual artifacts and strange behaviours. Games running on Proton on Xwayland run smoothly and I can’t tell the difference between running them this way or under an X session.

As part of the Fedora 41 features, the workstation media will not install the X components by default, resorting to Wayland only. Of course the X components will still be available for install for corner cases (accessibility?), but they will not be installed by default.

To accomodate this, with the latest update of the Nvidia driver from the Nvidia/Multimedia repository it’s now possible to remove the X components and just leave the Wayland part without the need to remove the Nvidia driver as a whole.

There is a new subpackage called xorg-x11-nvidia which contains the X11 DDX driver, the GLX extension and the default X.org configuration file. This package can be removed along all X.org components and Gnome X session:

$ sudo dnf remove xorg-x11-server-Xorg
Dependencies resolved.
===================================================================================================================
 Package                            Architecture   Version                              Repository            Size
===================================================================================================================
Removing:
 xorg-x11-server-Xorg               x86_64         1.20.14-35.fc40                      @updates             3.6 M
Removing dependent packages:
 gnome-session-xsession             x86_64         46.0-1.fc40                          @fedora               16 k
 xorg-x11-drv-amdgpu                x86_64         23.0.0-3.fc40                        @fedora              186 k
 xorg-x11-drv-ati                   x86_64         19.1.0-11.fc40                       @fedora              477 k
 xorg-x11-drv-evdev                 x86_64         2.10.6-15.fc40                       @fedora               74 k
 xorg-x11-drv-fbdev                 x86_64         0.5.0-15.fc40                        @fedora               34 k
 xorg-x11-drv-intel                 x86_64         2.99.917-57.20210115.fc40            @fedora              2.0 M
 xorg-x11-drv-libinput              x86_64         1.4.0-2.fc40                         @fedora               98 k
 xorg-x11-drv-nouveau               x86_64         1:1.0.17-7.fc40                      @fedora              210 k
 xorg-x11-drv-openchrome            x86_64         0.6.400-7.20210215git5dbad06.fc40    @fedora              290 k
 xorg-x11-drv-qxl                   x86_64         0.1.6-3.fc40                         @fedora              166 k
 xorg-x11-drv-vesa                  x86_64         2.5.0-7.fc40                         @fedora               34 k
 xorg-x11-drv-vmware                x86_64         13.4.0-4.fc40                        @fedora              173 k
 xorg-x11-drv-wacom                 x86_64         1.2.2-1.fc40                         @updates             1.2 M
Removing unused dependencies:
 libXvMC                            x86_64         1.0.13-5.fc40                        @fedora               45 k
 mesa-libxatracker                  x86_64         1:24.1.6-1.fc40                      @fedora-multimedia    11 M
 nvidia-xconfig                     x86_64         3:560.35.03-2.fc40                   @fedora-multimedia    92 k
 xorg-x11-drv-wacom-serial-support  x86_64         1.2.2-1.fc40                         @updates              40 k
 xorg-x11-nvidia                    x86_64         3:560.35.03-2.fc40                   @fedora-multimedia    19 M
 xorg-x11-server-common             x86_64         1.20.14-35.fc40                      @updates             127 k

Transaction Summary
===================================================================================================================
Remove  20 Packages

Freed space: 38 M
Is this ok [y/N]:

The package xorg-x11-nvidia itself has reverse dependencies (Supplements) on the main Nvidia driver and X.org server packages, so in case of an install/reinstall of X.org with the Nvidia driver installed, the package gets added to the DNF transaction, making sure you have a working X session at the next login:

$ sudo dnf install xorg-x11-server-Xorg gnome-session-xsession
Last metadata expiration check: 0:36:46 ago on Sun 01 Sep 2024 09:11:59 PM CEST.
Dependencies resolved.
========================================================================================
 Package                   Arch      Version                 Repository            Size
========================================================================================
Installing:
 gnome-session-xsession    x86_64    46.0-1.fc40             fedora                13 k
 xorg-x11-server-Xorg      x86_64    1.20.14-35.fc40         updates              1.5 M
Installing dependencies:
 xorg-x11-drv-libinput     x86_64    1.4.0-2.fc40            fedora                50 k
 xorg-x11-server-common    x86_64    1.20.14-35.fc40         updates               36 k
Installing weak dependencies:
 xorg-x11-nvidia           x86_64    3:560.35.03-2.fc40      fedora-multimedia    2.3 M

Transaction Summary
========================================================================================
Install  5 Packages

Total download size: 3.9 M
Installed size: 23 M
Is this ok [y/N]:

All of this can be already performed on a Fedora 40 system. Just login using the standard “GNOME Session” (Wayland) and then remove the xorg-x11-server-Xorg package.

One thought to “Wayland only system using Nvidia drivers”

  1. Did you try Firefox without X? For me it keeps crashing in Wayland. I had to do this: # cat /etc/environment
    MOZ_ENABLE_WAYLAND=0
    NVD_BACKEND=direct

Leave a Reply