User talk:Bjeanes/My setup
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 theMODULES
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 rebuildinitcpio
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 updateinitcpio
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?