User talk:Bjeanes/My setup

From ArchWiki

GDM reverting to X11 and overwriting /etc/gdm/custom.conf

Around 2020-10-06 I did a yay -Syu and the rebooted (as it upgraded linux). At that time (though I didn't realise at the time), GDM started under X11.

The following packages were touched during the upgrade prior to the boot:

1password-bin (0.8.7-1 -> 0.8.9-1)
alsa-card-profiles (13.99.2+7+g6101798c7-1)
at-spi2-atk (2.34.2-1 -> 2.38.0-1)
bat (0.15.4-1 -> 0.16.0-1)
bison (3.6.4-1 -> 3.7.2-1)
cheese (3.34.0+23+gcac6d3a1-1 -> 3.34.0+91+gc5cf9af9-1)
evolution-data-server (3.36.5-1 -> 3.38.1-1)
file-roller (3.36.3-1 -> 3.38.0-1)
firefox-developer-edition (81.0b9-1 -> 82.0b7-1)
firefox-developer-edition-i18n-en-gb (81.0b9-1 -> 82.0b7-1)
flameshot (0.8.1-2 -> 0.8.3-1)
fltk (1.3.5-3 -> 1.3.5-4)
folks (0.14-1 -> 0.14-2)
gcc (10.2.0-2 -> 10.2.0-3)
gcc-libs (10.2.0-2 -> 10.2.0-3)
gcr (3.36-1 -> 3.38-1)
gdm (3.36.3-6 -> 3.38.0-1)
ghostscript (9.53.2-1 -> 9.53.3-1)
gjs (2:1.64.4-1 -> 2:1.66.0-2)
glib2 (2.66.0-1 -> 2.66.1-1)
glib2-docs (2.66.0-1 -> 2.66.1-1)
gnome-backgrounds (3.36.0-1 -> 3.38.0-1)
gnome-bluetooth (3.34.2-1 -> 3.34.3-1)
gnome-calculator (3.36.0-1 -> 3.38.1-1)
gnome-calendar (3.36.2-1 -> 3.38.1-1)
gnome-clocks (3.36.2-2 -> 3.38.0-1)
gnome-contacts (3.36.2-1 -> 3.38-1)
gnome-control-center (3.36.4-1 -> 3.38.1-1)
gnome-desktop (1:3.36.6-1 -> 1:3.38.1-1)
gnome-maps (3.36.4-1 -> 3.38.1-1)
gnome-photos (3.34.2-1 -> 3.38.0-1)
gnome-screenshot (3.36.0-1 -> 3.38.0-1)
gnome-session (3.36.0-1 -> 3.38.0-1)
gnome-settings-daemon (3.36.1-1 -> 3.38.0-1)
gnome-shell (1:3.36.6-1 -> 1:3.38.1-1)
gnome-software (3.36.1-2 -> 3.38.0-2)
gnome-terminal (3.36.2-1 -> 3.38.1-1)
gnome-tweaks (3.34.0-3 -> 3.34.0-4)
gobject-introspection-runtime (1.66.0-1 -> 1.66.1-1)
gpm (1.20.7.r38.ge82d1a6-2 -> 1.20.7.r38.ge82d1a6-3)
grilo-plugins (1:0.3.12-1 -> 1:0.3.12-2)
gtk3 (1:3.24.23-1 -> 1:3.24.23-3)
gtk-doc (1.32+52+gb209222-1 -> 1.33.0-1)
gtk-update-icon-cache (1:3.24.23-1 -> 1:3.24.23-3)
gvfs (1.44.1-4 -> 1.46.1-1)
gvfs-goa (1.44.1-4 -> 1.46.1-1)
gvfs-google (1.44.1-4 -> 1.46.1-1)
gvfs-gphoto2 (1.44.1-4 -> 1.46.1-1)
gvfs-nfs (1.44.1-4 -> 1.46.1-1)
gvfs-smb (1.44.1-4 -> 1.46.1-1)
imagemagick (7.0.10.30-1 -> 7.0.10.33-1)
iw (5.8-1 -> 5.9-1)
js78 (78.3.1-1)
kitty (0.18.3-1 -> 0.19.0-1)
kitty-terminfo (0.18.3-1 -> 0.19.0-1)
ldb (1:2.1.4-1 -> 1:2.2.0-1)
lib32-gcc-libs (10.2.0-2 -> 10.2.0-3)
lib32-mesa (20.1.8-1 -> 20.2.0-2)
libcloudproviders (0.3.1-2)
libgdm (3.36.3-6 -> 3.38.0-1)
libhandy0 (0.0.13+12+gaa6b6f4-1)
libhandy (0.0.13-2 -> 1.0.0-1)
libnautilus-extension (3.36.3-1 -> 3.38.1-1)
libpulse (13.0-3 -> 13.99.2+7+g6101798c7-1)
librsvg (2:2.50.0-1 -> 2:2.50.1-1)
libsoup (2.72.0+5+g0b094bff-1 -> 2.72.0+5+g0b094bff-3)
lilv (0.24.8-2 -> 0.24.10-1)
linux (5.8.11.arch1-1 -> 5.8.13.arch1-1)
linux-firmware (20200817.7a30af1-1 -> 20200916.00a84c5-1)
md4c (0.4.5-1 -> 0.4.6-1)
mesa (20.1.8-1 -> 20.2.0-2)
mutter (3.36.6-1 -> 3.38.1-1)
nautilus (3.36.3-1 -> 3.38.1-1)
neovim-nightly (2:0.5.0+20200923-1 -> 2:0.5.0+20201005-1)
netpbm (10.73.32-1 -> 10.73.33-1)
nvidia (455.23.04-2 -> 455.23.04-4)
openmpi (4.0.5-1 -> 4.0.5-2)
openssh (8.3p1-4 -> 8.4p1-1)
pango (1:1.46.2-1 -> 1:1.46.2-3)
pipewire (0.3.12-1 -> 0.3.13-2)
polkit (0.117-1 -> 0.118-1)
pulseaudio (13.0-3 -> 13.99.2+7+g6101798c7-1)
pulseaudio-bluetooth (13.0-3 -> 13.99.2+7+g6101798c7-1)
python2-gobject (3.36.1-1 -> 3.36.1-2)
python-gobject (3.36.1-1 -> 3.38.0-1)
python-zipp (3.2.0-1 -> 3.3.0-1)
qt5-base (5.15.1-1 -> 5.15.1-3)
re2 (1:20200801-1 -> 1:20201001-1)
serd (0.30.4-1 -> 0.30.6-1)
smbclient (4.12.6-1 -> 4.13.0-1)
sord (0.16.4-1 -> 0.16.6-1)
sratom (0.6.4-1 -> 0.6.6-1)
tracker3 (3.0.1-1)
tracker3-miners (3.0.1-1)
tracker-miners (2.3.5-1 -> 2.3.5-2)
vala (0.48.10-1 -> 0.50.1-1)
visual-studio-code-bin (1.49.2-1 -> 1.49.3-1)
vte3 (0.62.0-1 -> 0.62.1-1)
vte-common (0.62.0-1 -> 0.62.1-1)

Likely, one of linux, nvidia, gnome-shell, gdm, or gnome-session is the cause of the issue.

After a lot of investigating, the issue looks similar to that mentioned on GDM#GDM_ignore_Wayland_and_use_X.Org_by_default, so I did a few things:

  • Added nvidia nvidia_modeset nvidia_uvm nvidia_drm to the MODULES section of /etc/mkinitcpio.conf.
  • Added module_blacklist=i915 nvidia-drm.modeset=1 to my kernel parameters (in /boot/refind_linux.conf in my case).
  • Added use_graphics_for linux to my /boot/refind_linux.conf (unclear if this is necessary)
  • Added a /usr/share/libalpm/hooks/nvidia.hook hook to rebuild initcpio when nvidia is installed/removed/upgraded. My hook is different than the one suggested on NVIDIA#Pacman_hook, as I already have a hook to update initcpio when Linux is updated:
    /usr/share/libalpm/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia

[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/usr/bin/mkinitcpio -P
  • I also had to restore my /etc/gdm/custom.conf from my snapper backup.

After rebooting, my GNOME session started again under Wayland. However, after about 10 seconds, it appeared to crash. Running systemctl restart gdm restart then caused a new session to be created but once again under X11. My /etc/gdm/custom.conf was once again overwritten! Restoring this config file AGAIN and rebooting allowed me to boot into Wayland again. So far, it has not crashed, but it has not even been an hour as of time of writing. Prior to that reboot, however, I found the following of note from ```journalctl -xb```:

Oct 09 12:58:28 jubjub org.gnome.Shell.desktop[2952]: Missing Wayland requirements for glamor GBM backend
Oct 09 12:58:28 jubjub org.gnome.Shell.desktop[3152]: >                   X11 cannot support keycodes above 255.
Oct 09 12:58:44 jubjub gnome-shell[2923]: Connection to xwayland lost

and elsewhere

Oct 09 12:58:15 jubjub systemd-coredump[2806]: Process 737 (Xwayland) of user 1000 dumped core.
                                              Stack trace of thread 737:
                                              #0  0x00007f498ce02615 raise (libc.so.6 + 0x3d615)
                                              #1  0x00007f498cdeb862 abort (libc.so.6 + 0x26862)
                                              #2  0x0000556092c22b18 n/a (Xwayland + 0x157b18)
                                              #3  0x0000556092c2bd1c n/a (Xwayland + 0x160d1c)
                                              #4  0x0000556092c20f33 n/a (Xwayland + 0x155f33)
                                              #5  0x00007f498ce026a0 __restore_rt (libc.so.6 + 0x3d6a0)
                                              #6  0x0000556092b0e43d n/a (Xwayland + 0x4343d)
[snipped as it is very long]

In particular, I am confused by the glamor GBM backend line because I have an NVIDIA card and Wayland#Requirements implies that GBM is not the Buffer API used by NVIDIA cards.

I am at a loss for why this broke, why this (sort of) fixes it. So, I am documenting this here in case it comes up again or I get more clues.

Bjeanes (talk) 02:40, 9 October 2020 (UTC)


Literally 4 minutes after posting that previous comment, my session crashed again and restarting GDM put me back into X11 session. journal output from that moment on is in this Gist: https://gist.github.com/bjeanes/e7bf860f891739300c226ab41b0f2b76.

Clearly looks like an `XWayland` crash. It appeared to crash as I was resizing Firefox Developer Edition.

Bjeanes (talk) 02:59, 9 October 2020 (UTC)


You can run Firefox natively in Wayland by setting the $MOZ_ENABLE_WAYLAND environmental variable to 1.

Tofu (talk) 14:24, 9 October 2020 (UTC)


Yeah I have that var set on my laptop but hadn't set it here yet for the purposes of debugging. With or without that set, I don't think that Xwayland should be seg-faulting, right?

Bjeanes (talk) 23:54, 11 October 2020 (UTC)