Cannot enable Wayland (Nvidia)

:construction: Mod note: split from another topic here: Unable to switch to Wayland on GNOME :construction:

I did all of that (ticked “Enable GDM Wayland” in GA), hit Apply, rebooted. When I get to the GDM login screen and click my name to log in, no gear shows up in the lower right-hand corner. I’m running the Garuda Gnome edition.

In the /etc/gdm/custom.conf, the Wayland=false setting is commented out.

Are there any other packages I need to install? This worked for me in the Dragonized KDE where I had apparently had to just install the wayland plasma package. Not sure about the Gnome image after a fresh install?

When you get to the login screen change to a TTY (press Ctrl+Alt+F2, or Ctrl+Alt+F3). Log in and run:

sudo systemctl restart gdm.service

Then switch back to the login screen and see if the cogwheel is still missing.

1 Like

Yup. Already tried that. Didn't fix it. Still no cog-wheel like I've seen in Nobara Gnome and also when I was running the Dragonized version of Garuda. I just prefer Gnome because KDE seems very flaky for me.

I do see this in the System Specs window:

Display: x11 server: X.Org v: 21.1.7 with: Xwayland v: 22.1.7 compositor: gnome-shell driver:
    X: loaded: nvidia gpu: nvidia,nvidia-nvswitch display-ID: :1 screens: 1

it's saying Xorg with Xwayland. But I know with Wayland, I don't get screen tearing with games. I'm still seeing that right now, so I assume I'm still on Xorg.

The XDG_SESSION_TYPE value is x11 as well instead of wayland. Under KDE Dragonized and Nobara, I can fully switch to Wayland and XDG_SESSION_TYPE would say Wayland.

So not sure what's going on here?

I've moved your issue to a new topic so it has better visibility. Please post the output of garuda-inxi, as well as the output of journalctl -b -u gdm.service.

1 Like

garuda-inxi output:

System:
  Kernel: 6.1.11-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/vmlinuz-linux-zen
    root=UUID=4599f4e5-1516-4de0-857c-527928893586 rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off nvidia-drm.modeset=1 video=DP-0:1920x1080@75
    video=HDMI-0:1920x1080@75
  Desktop: GNOME v: 43.2 tk: GTK v: 3.24.36 wm: gnome-shell dm: GDM v: 43.0
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: B450M DS3H v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: B450M DS3H-CF serial: <superuser required>
    UEFI: American Megatrends LLC. v: F63b date: 05/11/2022
CPU:
  Info: model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 gen: 3
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 3585 high: 3600 min/max: 2200/4208 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3596 2: 3589
    3: 3600 4: 3600 5: 3600 6: 3600 7: 3600 8: 3591 9: 3600 10: 3600 11: 3452
    12: 3600 bogomips: 86229
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1660] vendor: ASUSTeK driver: nvidia
    v: 525.89.02 alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2023-02) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 3 speed: 8 GT/s ports: active: none
    off: DP-1,DVI-D-1,HDMI-A-1 empty: none bus-ID: 06:00.0 chip-ID: 10de:2184
    class-ID: 0300
  Display: x11 server: X.Org v: 21.1.7 with: Xwayland v: 22.1.7
    compositor: gnome-shell driver: X: loaded: nvidia
    gpu: nvidia,nvidia-nvswitch display-ID: :1 screens: 1
  Screen-1: 0 s-res: 5760x1080 s-dpi: 96 s-size: 1524x286mm (60.00x11.26")
    s-diag: 1551mm (61.05")
  Monitor-1: DP-1 mapped: DP-0 note: disabled pos: primary,center
    model: HP E223 serial: <filter> built: 2018 res: 1920x1080 dpi: 102
    gamma: 1.2 size: 480x270mm (18.9x10.63") diag: 546mm (21.5") ratio: 16:9
    modes: max: 1920x1080 min: 640x480
  Monitor-2: DVI-D-1 mapped: DVI-D-0 note: disabled pos: left model: HP E223
    serial: <filter> built: 2018 res: 1920x1080 hz: 60 dpi: 102 gamma: 1.2
    size: 476x268mm (18.74x10.55") diag: 546mm (21.5") ratio: 16:9 modes:
    max: 1920x1080 min: 640x480
  Monitor-3: HDMI-A-1 mapped: HDMI-0 note: disabled pos: right
    model: HP E223 serial: <filter> built: 2018 res: 1920x1080 dpi: 102
    gamma: 1.2 size: 476x268mm (18.74x10.55") diag: 546mm (21.5") ratio: 16:9
    modes: max: 1920x1080 min: 640x480
  API: OpenGL v: 4.6.0 NVIDIA 525.89.02 renderer: NVIDIA GeForce GTX
    1660/PCIe/SSE2 direct-render: Yes
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel bus-ID: 1-1:2 v: kernel chip-ID: 0d8c:0012 pcie:
    gen: 3 class-ID: 0300 speed: 8 GT/s lanes: 16 bus-ID: 06:00.1
    chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 08:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: C-Media USB Audio Device type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Sound API: ALSA v: k6.1.11-zen1-1-zen running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.65 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 04:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Microsoft Xbox 360 Wireless Adapter type: USB driver: usbfs
    bus-ID: 1-5:4 chip-ID: 045e:0719 class-ID: ff00 serial: <filter>
Drives:
  Local Storage: total: 7.06 TiB used: 4.99 TiB (70.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: Silicon Power
    model: SPCC Solid State Disk size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 91.3
    scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Hitachi model: HDS5C3030ALA630
    size: 2.73 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: HDD rpm: 5700 serial: <filter> rev: A580 scheme: GPT
  ID-3: /dev/sdc maj-min: 8:32 vendor: Hitachi model: HDS723020BLA642
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: HDD rpm: 7200 serial: <filter> rev: A5C0 scheme: MBR
  ID-4: /dev/sdd maj-min: 8:48 vendor: Samsung model: HD103SI
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s
    type: N/A serial: <filter> rev: 1118 scheme: GPT
  ID-5: /dev/sde maj-min: 8:64 type: USB vendor: JMicron Tech model: N/A
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B type: N/A
    serial: <filter> rev: 0509 scheme: MBR
  ID-6: /dev/sdf maj-min: 8:80 type: USB vendor: Toshiba model: MQ01ABF050
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B type: HDD
    rpm: 5400 serial: <filter> scheme: GPT
Partition:
  ID-1: / raw-size: 48.83 GiB size: 48.83 GiB (100.00%)
    used: 21.79 GiB (44.6%) fs: btrfs dev: /dev/sdb4 maj-min: 8:20
  ID-2: /boot raw-size: 1000 MiB size: 1000 MiB (100.00%)
    used: 262.3 MiB (26.2%) fs: btrfs dev: /dev/sdb2 maj-min: 8:18
  ID-3: /boot/efi raw-size: 1001 MiB size: 999 MiB (99.80%)
    used: 608 KiB (0.1%) fs: vfat dev: /dev/sdb6 maj-min: 8:22
  ID-4: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 768.67 GiB (41.3%) fs: btrfs dev: /dev/sdc1 maj-min: 8:33
  ID-5: /var/log raw-size: 48.83 GiB size: 48.83 GiB (100.00%)
    used: 21.79 GiB (44.6%) fs: btrfs dev: /dev/sdb4 maj-min: 8:20
  ID-6: /var/tmp raw-size: 48.83 GiB size: 48.83 GiB (100.00%)
    used: 21.79 GiB (44.6%) fs: btrfs dev: /dev/sdb4 maj-min: 8:20
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.54 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 15.62 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sdb3 maj-min: 8:19
Sensors:
  System Temperatures: cpu: 47.2 C mobo: 30.0 C gpu: nvidia temp: 37 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 28%
Info:
  Processes: 369 Uptime: 1h 13m wakeups: 0 Memory: 15.54 GiB
  used: 2.99 GiB (19.3%) Init: systemd v: 252 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman
  pkgs: 1645 libs: 513 tools: pamac,paru Shell: fish v: 3.6.0 default: Bash
  v: 5.1.16 running-in: gnome-terminal inxi: 3.3.25
Garuda (2.6.14-1):
  System install date:     2023-02-09
  Last full system update: 2023-02-11
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            

journalctl -b -u gdm.service output:

Feb 11 08:43:19 blaviken systemd[1]: Starting GNOME Display Manager...
Feb 11 08:43:19 blaviken systemd[1]: Started GNOME Display Manager.
Feb 11 08:43:47 blaviken gdm-password][2512]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 08:43:51 blaviken gdm-password][2512]: gkr-pam: unable to locate daemon control file
Feb 11 08:43:51 blaviken gdm-password][2512]: gkr-pam: stashed password to try later in open session
Feb 11 08:43:51 blaviken gdm-password][2512]: pam_unix(gdm-password:session): session opened for user bolski(uid=1000) by (uid=0)
Feb 11 08:43:51 blaviken gdm-password][2512]: gkr-pam: unlocked login keyring
Feb 11 08:44:00 blaviken gdm[824]: Gdm: Child process -909 was already dead.
Feb 11 09:00:45 blaviken gdm-password][60688]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 09:02:44 blaviken systemd[1]: Stopping GNOME Display Manager...
Feb 11 09:02:44 blaviken gdm[824]: Gdm: Child process -59921 was already dead.
Feb 11 09:02:44 blaviken systemd[1]: gdm.service: Deactivated successfully.
Feb 11 09:02:44 blaviken systemd[1]: Stopped GNOME Display Manager.
Feb 11 09:02:48 blaviken systemd[1]: Starting GNOME Display Manager...
Feb 11 09:02:48 blaviken systemd[1]: Started GNOME Display Manager.
Feb 11 09:02:53 blaviken gdm-password][70305]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 09:03:16 blaviken gdm-password][71867]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 09:03:18 blaviken gdm-password][71867]: gkr-pam: unable to locate daemon control file
Feb 11 09:03:18 blaviken gdm-password][71867]: gkr-pam: stashed password to try later in open session
Feb 11 09:03:18 blaviken gdm-password][71867]: pam_unix(gdm-password:session): session opened for user bolski(uid=1000) by (uid=0)
Feb 11 09:03:18 blaviken gdm-password][71867]: gkr-pam: unlocked login keyring
Feb 11 09:03:22 blaviken gdm[70016]: Gdm: Child process -70023 was already dead.
Feb 11 09:20:40 blaviken gdm[70016]: Gdm: Child process -130388 was already dead.
Feb 11 09:38:22 blaviken gdm-password][183368]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 09:38:25 blaviken gdm-password][183368]: gkr-pam: unable to locate daemon control file
Feb 11 09:38:25 blaviken gdm-password][183368]: gkr-pam: stashed password to try later in open session
Feb 11 09:38:25 blaviken gdm-password][183368]: pam_unix(gdm-password:session): session opened for user bolski(uid=1000) by (uid=0)
Feb 11 09:38:25 blaviken gdm-password][183368]: gkr-pam: unlocked login keyring
Feb 11 09:38:30 blaviken gdm[70016]: Gdm: Child process -182616 was already dead.
Feb 11 09:39:14 blaviken systemd[1]: Stopping GNOME Display Manager...
Feb 11 09:39:14 blaviken gdm[70016]: GLib: Source ID 159 was not found when attempting to remove it
Feb 11 09:39:14 blaviken gdm[70016]: Gdm: Child process -185621 was already dead.
Feb 11 09:39:14 blaviken systemd[1]: gdm.service: Deactivated successfully.
Feb 11 09:39:14 blaviken systemd[1]: Stopped GNOME Display Manager.
Feb 11 09:39:17 blaviken systemd[1]: Starting GNOME Display Manager...
Feb 11 09:39:17 blaviken systemd[1]: Started GNOME Display Manager.
Feb 11 09:39:23 blaviken gdm-password][189780]: pam_systemd_home(gdm-password:auth): systemd-homed is not available: Unit dbus-org.freedesktop.home1.service not found.
Feb 11 09:39:25 blaviken gdm-password][189780]: gkr-pam: unable to locate daemon control file
Feb 11 09:39:25 blaviken gdm-password][189780]: gkr-pam: stashed password to try later in open session
Feb 11 09:39:25 blaviken gdm-password][189780]: pam_unix(gdm-password:session): session opened for user bolski(uid=1000) by (uid=0)
Feb 11 09:39:25 blaviken gdm-password][189780]: gkr-pam: unlocked login keyring
Feb 11 09:39:29 blaviken gdm[189506]: Gdm: Child process -189513 was already dead.

Nvidia may require additional work. I haven't looked into it myself yet, but see if this Reddit thread has any clues: How to get Nvidia Wayland session under Gnome with the new 470 drivers - r/archlinux

Thanks for the tips, but I have already tried everything it said in there and unfortunately, it's still not working.

I know in Nobara, it defaults to Nobara with Gnome in the official version. I also got it working under Garuda in the Dragonized KDE version so I know it works. I just can't see to get it to work with the Garuda Gnome image. KDE image had some weird issues for me. Gnome is just more stable for me.

I'm just wondering if there are some other packages I need to install? Again, I'm using the Garuda Gnome image.

After you reach the X11 desktop, if you sign out is the cog wheel still missing?

Is KMS enabled? What do you have on the MODULES= line of etc/mkinitcpio.conf?

MODULES=(crc32c nvidia nvidia_modeset nvidia_uvm nvidia_drm)

Also, /etc/defualt/grub sets the cmdline for the kernel as such:

GRUB_CMDLINE_LINUX_DEFAULT="quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off nvidia-drm.modeset=1"

Logging out I've already tried. The COG wheel never shows up like it has in other distros.

I've even CTRL-ALT-F2 to a tty, logged in and stopped and restarted gdm and that doesn't work either.

I've never had this issue with the Garuda KDE Dragonized version nor Nobara. Just for some reason the Garuda Gnome image. So I'm wondering if it's something is missing that I need to install? Does Garuda Gnome come with all the correct packages installed to switch to Wayland?

Thanks!

Yes, it is actually the default for Gnome and extra configuration is needed to get the “Gnome on Xorg” session type. My understanding is not much else should be needed except commenting out the Wayland=false line in /etc/gdm/custom.conf.

What happens if you run XDG_SESSION_TYPE=wayland dbus-run-session gnome-session from the TTY before logging in?

1 Like

Yup, that causes my session to use Wayland. I guess that's a work around. Now I would like to make it so when I'm at the gdm login, I can click on the gear icon in the lower right-hand corner to choose between X11 and Wayland.

Okay, that’s good–at least we know it works.

I found this:

Note: If the Wayland option is not displayed in GDM, even after enabling KMS and configuring Wayland, then you most likely have NVreg_PreserveVideoMemoryAllocations and NVIDIA systemd services disabled. Before trying the method below to force Wayland, follow NVIDIA/Tips and tricks#Preserve video memory after suspend first.

It links to a page in the wiki here which describes how to set up the NVreg_PreserveVideoMemoryAllocations=1 option, and a couple power management services that need to be enabled (nvidia-suspend.service and nvidia-hibernate.service). I will admit it is not entirely clear to me why this is related to logging in with Wayland, but from the sounds of it getting that set up may be all you need to do.

If that doesn’t do the trick, there is a note about overriding a udev rule that GDM sets up:

As of GDM 42 and NVIDIA driver 510, GDM defaults to Wayland. For older NVIDIA drivers (in between version 470 and 510), GDM has chipset-dependent udev rules to use Xorg rather than Wayland. To force-enable Wayland, override these rules by creating the following symlink:

# ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

Note: This command works because rules in /etc/udev/rules.d/ override those in /usr/lib/udev/rules.d/ (see udev#About udev rules). It is also advised to modify files in /etc/ rather than in /usr/ as those are managed by pacman.

If, instead of GDM, a black screen appears, try disabling integrated graphics in your computer’s BIOS settings.

1 Like

I saw that as well and tried it and it didn't appear to work. Since my drivers are the latest nVidia drivers (version 525.89.02) didn't create the link. I'll try again later to see if that works.

I download the Garuda Gnome image on 2/9/2023 as an FYI.

At this point, I've switched the KDE Dragonized version. I once got Wayland to work before under Dragonized, so if I have the need to try again, I'll do it there.

But at least with Xorg now, I have been able to keep my multi-monitor setup enabled without having to turn off all but one monitor to reduce screen tearing when playing games. So at this point, Wayland is not a priority for me.

Thanks!