Gnome — no Wayland on new install

Recently when I installed Garuda (gnome) on an external SSD, it used Wayland by default, which means touchpad gestures worked by default. This is also how it works in the live environment.

Today I installed it to an internal SSD, and there's no option for Wayland (only gnome (which is supposed to use Wayland I thought) and gnome classic (which uses X)).

One difference is that this time I accepted the offer to install the Nvidia drivers. Is that what's causing this? I don't want to use the graphics card ever except when I'm running specific apps, as this is a laptop, so if there's a switch I can toggle somewhere that would put me back on Wayland that would be great, even if it disables the dgpu (which would frankly also be preferable 90%) of the time.

The "switch" to toggle is a checkbox in Garuda Assistant (Settings -> enable GDM Wayland). Then switch to a Wayland session using the cog wheel on the login screen (after entering your username).

1 Like

Thanks, is there a way to check if the dgpu is currently being used? I thought prime only uses it as needed, but I set the powermizer to performance and the fans just stay on even when I'm doing nothing at all.

Sorry, Enable GDM Wayland is already checked.

A lot of relevant information is missing because you did not post your garuda-inxi as requested by the issue template. This output will also clarify if you are running a Wayland session or not (it sounds like you are not sure).

Use this guidance for switching between your integrated and dedicated GPUs:

1 Like


I know I'm running X because:

  • echo $XDG_SESSION_TYPE returns X11
  • there's no native touchpad gesture support

The checkbox you mentioned was already checked, and I've logged out (still no wayland option) and rebooted (still nothing) just in case.

About that link, I had read it but I didn't see how it pertains to the issue at hand. It covers how the default mode of garuda is to use the igpu exclusively, except when the dgpu is invoked by a special command.

But if that's the case, and if I haven't initiated any apps using PRIME, then why is my laptop warm and the dgpu fan constantly running? Why does it get even hotter and the fans kick up even higher if I set "prefer maximum performance" in nvidia settings > powermizer?

Also, the dgpu gets hot and the fans kick up again when I launch some apps (e.g. emote). For my use case, I really do prefer the ability to have the dgpu completely disabled except when its called manually, but that doesn't seem to be what's happening on my system...


  Kernel: 6.2.12-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=efb4d1ce-f4f1-4ff5-b9c6-18a2e4d02ae3 rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off
  Desktop: GNOME v: 43.4 tk: GTK v: 3.24.37 wm: gnome-shell dm: GDM v: 44.0
    Distro: Garuda Linux base: Arch Linux
  Type: Laptop System: Dell product: XPS 17 9720 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 0KNF8J v: A00 serial: <superuser required> UEFI: Dell
    v: 1.15.0 date: 02/07/2023
  ID-1: BAT0 charge: 87.4 Wh (100.0%) condition: 87.4/95.1 Wh (91.9%)
    volts: 13.1 min: 11.4 model: SMP DELL 01RR3YM type: Li-poly serial: <filter>
    status: full
  Info: model: 12th Gen Intel Core i7-12700H bits: 64 type: MST AMCP
    arch: Alder Lake gen: core 12 level: v3 note: check built: 2021+
    process: Intel 7 (10nm ESF) family: 6 model-id: 0x9A (154) stepping: 3
    microcode: 0x429
  Topology: cpus: 1x cores: 14 mt: 6 tpc: 2 st: 8 threads: 20 smt: enabled
    cache: L1: 1.2 MiB desc: d-8x32 KiB, 6x48 KiB; i-6x32 KiB, 8x64 KiB
    L2: 11.5 MiB desc: 6x1.2 MiB, 2x2 MiB L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 2175 high: 2700 min/max: 400/4600:4700:3500 scaling:
    driver: intel_pstate governor: powersave cores: 1: 400 2: 400 3: 2700 4: 900
    5: 2700 6: 2700 7: 2700 8: 2700 9: 481 10: 2700 11: 2700 12: 2700 13: 2700
    14: 2700 15: 823 16: 2700 17: 2700 18: 2700 19: 2700 20: 2700
    bogomips: 107520
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
  Device-1: Intel Alder Lake-P Integrated Graphics vendor: Dell driver: i915
    v: kernel arch: Gen-12.2 process: Intel 10nm built: 2021-22+ ports:
    active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4, DP-5, HDMI-A-1
    bus-ID: 00:02.0 chip-ID: 8086:46a6 class-ID: 0300
  Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Dell
    driver: nvidia v: 530.41.03 alternate: nouveau,nvidia_drm non-free: 530.xx+
    status: current (as of 2023-03) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 8
    link-max: lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:2520 class-ID: 0300
  Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo
    bus-ID: 1-6:3 chip-ID: 0c45:6732 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    unloaded: nouveau alternate: fbdev,intel,nv,vesa dri: iris gpu: i915
    display-ID: :1 screens: 1
  Screen-1: 0 s-res: 3840x2400 s-dpi: 96 s-size: 1016x635mm (40.00x25.00")
    s-diag: 1198mm (47.17")
  Monitor-1: eDP-1 model: Sharp 0x1517 built: 2021 res: 3840x2400 hz: 60
    dpi: 266 gamma: 1.2 size: 366x229mm (14.41x9.02") diag: 432mm (17")
    ratio: 16:10 modes: 3840x2400
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
  Device-1: Intel Alder Lake PCH-P High Definition Audio vendor: Dell
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:51c8 class-ID: 0401
  Device-2: NVIDIA GA106 High Definition Audio vendor: Dell
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 8
    link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:228e class-ID: 0403
  API: ALSA v: k6.2.12-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: alsamixer,amixer
  Server-1: PipeWire v: 0.3.69 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:51f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
  Device-1: Intel type: USB driver: btusb v: 0.8 bus-ID: 1-10:5
    chip-ID: 8087:0033 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
  Local Storage: total: 2.75 TiB used: 12.86 GiB (0.5%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: PM9A1 NVMe 1024GB
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 type: SSD serial: <filter> rev: 36309229 temp: 37.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:1 vendor: Samsung
    model: SSD 970 EVO Plus 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 4B2QEXM7 temp: 35.9 C scheme: GPT
  ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 12.86 GiB (0.7%)
    fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:9
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:8
  ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 12.86 GiB (0.7%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:9
  ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 12.86 GiB (0.7%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:9
  ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 12.86 GiB (0.7%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:9
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 62.49 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  System Temperatures: cpu: 43.0 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 409 Uptime: 38m wakeups: 5071 Memory: 62.49 GiB
  used: 4.74 GiB (7.6%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 Packages: pm: pacman pkgs: 1309
  libs: 383 tools: pamac,paru Shell: fish v: 3.6.1 default: Bash v: 5.1.16
  running-in: gnome-terminal inxi: 3.3.26
Garuda (2.6.16-1):
  System install date:     2023-04-23
  Last full system update: 2023-04-23 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:

Maybe you could try this sleep time?

1 Like

More funky visual stuff:

  • app drawer is like 5 frames per second (no latency issues though)
  • super + right arrow to pop nautilus to the right side leaves a graphical glitch in the corner that doesn't go away (some of it goes away if you click something in the top bar like time or the top right dropdown)
  • big 1sec stutter when opening terminal—it sticks during the zoom out animation from when you launch it using the super > search functionality.

Thanks will check it out shortly.

That did not work :confused:

### Editing /etc/systemd/system/gdm.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

### Edits below this comment will be discarded

### /usr/lib/systemd/system/gdm.service
# [Unit]
# Description=GNOME Display Manager
# # replaces the getty
# [email protected]
# [email protected]
# # replaces plymouth-quit since it quits plymouth on its own
# Conflicts=plymouth-quit.service
# After=plymouth-quit.service
# # Needs all the dependencies of the services it's replacing
# # pulled from [email protected] and plymouth-quit.service
# # (except for plymouth-quit-wait.service since it waits until
# # plymouth is quit, which we do)
# After=rc-local.service plymouth-start.service systemd-user-sessions.service
# # GDM takes responsibility for stopping plymouth, so if it fails
# # for any reason, make sure plymouth still stops
# OnFailure=plymouth-quit.service
# [Service]
# ExecStart=/usr/bin/gdm
# KillMode=mixed
# Restart=always
# IgnoreSIGPIPE=no
# BusName=org.gnome.DisplayManager
# EnvironmentFile=-/etc/locale.conf
# ExecReload=/bin/kill -SIGHUP $MAINPID
# KeyringMode=shared
# [Install]
# Alias=display-manager.service

EDIT: sec I don't know what it's not changed...

OK so every time I go to edit it, it appears as though it's never been modified.

Before adding a drop-in file to delay the GDM service, first you should confirm that is the issue in the first place.

Try booting to the initial GDM (where the cogwheel to change session type is missing), then instead of logging in change to a TTY (press Ctrl+Alt+F2, or Ctrl+Alt+F3). Log in and run:

sudo systemctl restart gdm.service

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

You'll have to more explicitly describe what you are doing so we can try to help identify the issue.

1 Like

The cogwheel is never absent. It's present, and the options are GNOME and GNOME Classic.

Both options load an X11 session.

Evern after reinstalling with no proprietary drivers and no Nvidia or dgpu features, it's still forcing X11.

When I say the file appears unedited, I mean I can edit it unambiguously, save and exit, and then run the command to edit it again and its contents are the same as if I'd never edited it.

Why does the live environment work flawlessly with Wayland, and an install I made to an external SSD a few weeks ago works flawlessly with Wayland, but anything I install today to the internal SSD is giving me trouble?

The graphical bug with nautilus:

Ok so restarting it does give the expected options in the cog, and thr GNOME option does start a Wayland session.

What is the fix then?

Is the fix something that will be broken by a future update?

EDIT: none of the glitchy janky problems mentioned above when running the Wayland session.

Running systemctl edit [name of service] doesn't actually edit the service file. Instead, it is a shortcut for creating a drop-in file for the service. If you are not specifying a name for the drop-in file, my guess is you are overwriting override.conf over and over when you re-run it, and that is why it appears there are no changes being made.

To edit the drop-in file itself, just open it in a text editor (micro /etc/systemd/system/gdm.d/override.conf, or whatever the path to the drop-in is). Then reload the systemd daemon and restart the service.

I'm not sure how to fix it aside from adding the sleep 3 drop-in. It may be a somewhat hacky solution, but it is simple and seems to work fine enough for myself and others.

1 Like

So weird....

After the restart, I can't replicate the issue.

I guess I'll close out the issue but I feel like I'm left with more questions than answers.

Thanks for all the help!!

1 Like

That's not weird--that's exactly the point of the drop-in! :smile:

If you want to reproduce the issue on purpose (for testing or whatever), delete the drop-in file from /etc/systemd/system/gdm.d/ and you should be back where you started.

Glad to hear it is working for you though. :slightly_smiling_face:

Well I'm not sure that's what worked, because I tried that before reinstalling (I reinstalled because it didn't work).

What I tried after reinstalling was simply logging out > restart gdm > check if regular options are there and confirm the GNOME option loads Wayland.


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.