The gnome(wayland) doesn't show in gdm

Hi guys, I used both garuda-gnome-linux-zen-221019.iso and garuda-gnome-linux-zen-230201.iso with a clean install.

After I use Garuda Assistant to apply "Enable GDM Wayland", I reboot, but where's no "setting icon" shows to let me select wayland. Then I logout, oh my god, the wayland shows up, I can select it now. But then I reboot, sad, the "setting icon" is missing in GDM.

So, how can I hold wayland after every reboot, and if I just want to use wayland, how can I delete xorg.

If Garuda makes wayland in GDM by default and only, it would be great!

  Kernel: 6.1.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=8b13e080-4c88-43c0-a56e-9c9d137d23d1 rw [email protected]
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
  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
  Type: Laptop System: LENOVO product: 21D0 v: ThinkBook 14 G4+ ARA
    serial: <superuser required> Chassis: type: 10 v: ThinkBook 14 G4+ ARA
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76479 WIN
    serial: <superuser required> UEFI: LENOVO v: J6CN41WW date: 09/29/2022
  ID-1: BAT0 charge: 62.9 Wh (100.0%) condition: 62.9/62.0 Wh (101.5%)
    volts: 17.6 min: 15.5 model: LENOVO AP16L5J type: Li-ion serial: <filter>
    status: full cycles: 1
  Info: model: AMD Ryzen 7 6800H with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 3+ gen: 4 level: v3 note: check built: 2022 process: TSMC n6 (7nm)
    family: 0x19 (25) model-id: 0x44 (68) stepping: 1 microcode: 0xA404101
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 1615 high: 3200 min/max: 1600/4784 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1397 2: 1600
    3: 1397 4: 1600 5: 1397 6: 1600 7: 1600 8: 1456 9: 1396 10: 3200 11: 1600
    12: 1397 13: 1600 14: 1600 15: 1406 16: 1600 bogomips: 102213
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
  Device-1: AMD Rembrandt [Radeon 680M] vendor: Lenovo driver: amdgpu
    v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22
    pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1,
    DP-2, DP-3, DP-4, DP-5, DP-6, DP-7, HDMI-A-1 bus-ID: 34:00.0
    chip-ID: 1002:1681 class-ID: 0300 temp: 40.0 C
  Device-2: Syntek Integrated Camera type: USB driver: uvcvideo
    bus-ID: 5-1:2 chip-ID: 174f:1811 class-ID: fe01 serial: <filter>
  Display: x11 server: X.Org v: 21.1.6 with: Xwayland v: 22.1.7
    compositor: gnome-shell driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: :1 screens: 1
  Screen-1: 0 s-res: 2880x1800 s-dpi: 96 s-size: 762x476mm (30.00x18.74")
    s-diag: 898mm (35.37")
  Monitor-1: eDP-1 mapped: eDP model-id: CSO 0x140c built: 2021
    res: 2880x1800 hz: 90 dpi: 242 gamma: 1.2 size: 302x188mm (11.89x7.4")
    diag: 356mm (14") ratio: 16:10 modes: max: 2880x1800 min: 640x480
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
  Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 34:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: snd_pci_acp6x v: kernel
    alternate: snd_pci_acp3x,snd_rn_pci_acp3x,snd_pci_acp5x,snd_acp_pci,snd_rpl_pci_acp6x,snd_pci_ps,snd_sof_amd_renoir,snd_sof_amd_rembrandt
    pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 34:00.5 chip-ID: 1022:15e2
    class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 34:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  Sound API: ALSA v: k6.1.9-zen1-1-zen running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.65 running: yes
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: 5000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Realtek vendor: Lenovo driver: N/A pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 4000 bus-ID: 03:00.0 chip-ID: 10ec:b852 class-ID: 0280
  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
    bus-ID: 3-3:2 chip-ID: 0bda:4853 class-ID: e001 serial: <filter>
  Report: bt-adapter ID: hci0 rfk-id: 2 state: up address: <filter>
  Local Storage: total: 476.94 GiB used: 5.9 GiB (1.2%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVL2512HCJQ-00BL2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: CL1QGXA7 temp: 34.9 C scheme: GPT
  ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 5.86 GiB (1.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 32.6 MiB (10.9%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 5.86 GiB (1.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 5.86 GiB (1.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 5.86 GiB (1.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 13.34 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 356 Uptime: 22m wakeups: 4389 Memory: 13.34 GiB
  used: 2.55 GiB (19.1%) Init: systemd v: 252 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 Packages: pm: pacman pkgs: 1068
  libs: 316 tools: pamac,paru Shell: fish v: 3.6.0 default: Bash v: 5.1.16
  running-in: gnome-terminal inxi: 3.3.24
Garuda (2.6.14-1):
  System install date:     2023-02-06
  Last full system update: 2023-02-06 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:

Please, use this format for terminal text
Terminal text
then others can easily expand or copy the text.

terminal text
then others can easily expand or copy the text in the view. Move the mouse pointer over it in the upper right corner.

Move the mouse pointer over it in the upper right corner.

Hi there, welcome to the forum!
I'm not really an expert in this (Gnome, and especially in Wayland), but you may want to give a look at this (and the article in general):
The GDM config should be OK, given the Garuda Assistant setting (that's what it does).
Maybe you should check the early KMS, considering you have dracut?


Thanks for reply~
Yeah I have seem this article, but I did not understand. :joy:
I remember that in manjaro, there's a setting - "KMS" in autostart. But when I try to add it in Garuda, I just did't find the KMS application.
So maybe it's a bug?

I'm not familiar with the Manjaro feature you are referring to, it may be a script that takes care of setting up for you. It's not that tricky to set up manually though, you just need to make a config file in /etc/dracut.conf.d/ and add the module to it--I think in your case it will be amdgpu, same as it would be for mkinitcpio.

Make the config:

micro /etc/dracut.conf.d/my_amdgpu.conf

Add the early KMS line (source: dracut - ArchWiki)

force_drivers+=" amdgpu "

Then rebuild the initramfs--an easy way to do that until we get a one-liner set up is just reinstall the kernel.

sudo pacman -S linux-zen linux-zen-headers

Reboot, and test again. :crossed_fingers:


Hi, I tried, but it didn't work.

micro /etc/dracut.conf.d/my_amdgpu.conf

force_drivers+=" amdgpu "
sudo pacman -S linux-zen linux-zen-headers

warning: linux-zen-6.1.9.zen1-1 is up to date -- reinstalling
warning: linux-zen-headers-6.1.9.zen1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (2) linux-zen-6.1.9.zen1-1  linux-zen-headers-6.1.9.zen1-1

Total Installed Size:  318.78 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] 
(2/2) checking keys in keyring                                     [------------------------------------] 100%
(2/2) checking package integrity                                   [------------------------------------] 100%
(2/2) loading package files                                        [------------------------------------] 100%
(2/2) checking for file conflicts                                  [------------------------------------] 100%
(2/2) checking available disk space                                [------------------------------------] 100%
:: Running pre-transaction hooks...
(1/2) Performing snapper pre snapshots for the following configurations...
==> root: 7
(2/2) Saving Linux kernel modules...
:: Processing package changes...
(1/2) reinstalling linux-zen                                       [------------------------------------] 100%
(2/2) reinstalling linux-zen-headers                               [------------------------------------] 100%
:: Running post-transaction hooks...
( 1/10) Restoring Linux kernel modules...
++ uname -r
+ KVER=6.1.9-zen1-1-zen
+ test -e /usr/lib/modules/backup/6.1.9-zen1-1-zen
+ rsync -AHXal --ignore-existing /usr/lib/modules/backup/6.1.9-zen1-1-zen /usr/lib/modules/
+ rm -rf /usr/lib/modules/backup
( 2/10) Arming ConditionNeedsUpdate...
( 3/10) Updating module dependencies...
( 4/10) Updating initramfs...
:: Building initramfs for linux-zen (6.1.9-zen1-1-zen)
:: Building fallback initramfs for linux-zen (6.1.9-zen1-1-zen)
dracut: dracut module 'cifs' depends on 'network', which can't be installed
dracut: dracut module 'nfs' depends on 'network', which can't be installed
( 5/10) Updating linux initcpios...
( 6/10) Foreign/AUR package notification
=> No foreign/AUR packages found.
( 7/10) Orphaned package notification...
alsa-plugins 1:
python-pyparsing 3.0.9-1
( 8/10) Checking for .pacnew and .pacsave files...
.pac* files found:
Please check and merge
( 9/10) Performing snapper post snapshots for the following configurations...
==> root: 8
(10/10) Syncing all file systems...

And I reboot.

Please paste your /etc/gdm/custom.conf into the thread.

cat /etc/gdm/custom.conf 

File: /etc/gdm/custom.conf
# GDM configuration storage

# Uncomment the line below to force the login screen to use Xorg




# Uncomment the line below to turn on debugging

Hmm, that looks right...:thinking:

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.

1 Like

After do this, yes ! the cogwheel shows!
And I reboot, the cogwheel is missing~

It seems like GDM is still loading too fast, even with the early KMS. This kind of reminds me of an issue I had with Wayland on Gnome last May, except in my case GDM wouldn't start at all.

You don't have to read that whole lengthy thread; the "fix" was to make a drop-in file for the GDM service with sleep 3 added so it would just wait a second before launching. Give it a shot, it may resolve the issue for you too.

Set up a drop-in file for the GDM service:

sudo systemctl edit gdm 

Add these lines:

ExecStartPre=/usr/bin/sleep 3

Save, exit, reboot. :crossed_fingers:


Ha ha, It worked! Thanks so much!
Is it a good way to add a sleep time? I mean, it slows gdm show up, if there's a way to let gdm start after kms immediately, I'm going to search.

Ok, it also works.

sudo systemctl edit gdm

Don't know which is better.

I installed manjaro(with mkinitcpio and gnome) and endeavour(with dracut and gnome), both of them have not

force_drivers+=" amdgpu "


ExecStartPre=/usr/bin/sleep 3

So I'm in dead end.

Do the /etc/gdm/custom.conf files on those ones look any different than the Garuda one?

I have no idea why the Garuda implementation encounters this issue, although it should be noted that most people do not have this problem (you and I are special :wink:).

When the new Garuda release comes out (very soon!) Gnome will be getting reworked to some extent and hopefully this issue will quietly go away.

1 Like

IT will only show as gnome, being wayland or gnome on xorg when you press the hamburger menu after you click on the user name

1 Like

The /etc/gdm/custom.conf files on those ones are same, with #WaylandEnable=false and nothing alse.
I'm looking forward to the new Garuda release. Will it bring linux6.2 too?

Yes, gnome with wayland just shows gnome on hamburger menu(cogwheel), but my hamburger is missing :sweat_smile:

The new Garuda version will bring some changes to the default packages and configurations. In the case of Garuda, the OS version is unrelated to the kernel version used. The kernel (and all other packages) will always be the most recent version available, unless someone is intentionally holding a package version back for some reason. Some folks keep their installation running for years, and have packages just as up-to-date as everyone else. Just keep garuda-update from time to time and you will automatically get 6.2 as soon as it comes down. :slightly_smiling_face:


Ok, got it!
Do you consider deleting all xorg things, since gnome works very well with wayland.(Just my opinion, who just use linux for two months, with poor English, aha)

My advice would be to keep the Xorg stuff where it is, even though you do not need it for running a Wayland session. You never know when an update or misconfiguration may temporarily break something, including Wayland; it might be useful to be able to boot to an Xorg session for troubleshooting or because Wayland isn't working for some reason.