Wayland Option missing after updating to Pop!_OS 22.04

I updated to the latest version of Pop!_OS and the option to switch to Wayland has disappeared from the login screen. Every change I have attempted in /etc/gdm3/custom.conf hasn’t done the trick. Does anyone know if there is something else I should be trying?

Ubuntu 22.04 switched to Wayland by default so I’m assuming Pop followed that.

Check if you’re not already running Wayland once you login.

loginctl to get your Session ID, then loginctl show-session <SESSION_ID> -p Type shows you what you’re running on.

I’m having the same issue on pop 22.04, from what i’ve seen, changing the gdm3 config should result in wayland being an option on login when clicking a settings cog (like ubuntu has, to select window manager on log in).
I have a settings cog in top right which is for accessibility options, but none in bottom right (as other people have mentioned for 21.04) to change it.

Pop 22.04 uses xorg/x11 too

$ loginctl show-session 1 -p Type
Type=x11

I wonder if installing another wm like i3 makes the settings cog show up on login

EDIT
Confirmed after running

$ sudo apt install i3-wm

and logging out, the bottom right settings cog now appears as it’s detected multiple options, but does not show wayland as an option despite the /etc/gdm3/custom.conf change.

Note I am on an nvidia card so not expecting it to work nicely, but planning on switching to AMD soon.

By the looks of /lib/udev/rules.d/61-gdm.rules it is only supported on nvidia driver 510 due to instability/missing components from earlier versions. I have 510 installed

EDIT2:
This may well be related to dmesg showing this line?
[ 21.244972] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
which I believe is caused by the nvidia drm mode being set

$ cat /usr/lib/modprobe.d/nvidia-graphics-drivers.conf
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off

options nvidia-drm modeset=1

A lot of reports of nvidia driver 470+ showing this issue which could be why wayland gets disabled - as there are lines in the gdm.rules file which explicitly check for it then disable wayland.

Can see this has happened as the gdm-runtime-config writes to /run/gdm3/custom.conf, mine has it set back to false…

$ cat /run/gdm3/custom.conf
[daemon]
WaylandEnable=false
1 Like

Does gdm no longer use the session files in /usr/share/? I would check in the following directories and report back if there is more than one file across the two following directories:

/usr/share/wayland-sessions/ /usr/share/xsessions/

Maybe if there is only one available option, gdm does not show a selector? Perhaps Pop removed the x session file, leaving only the wayland session file?

1 Like

I noticed this a few days ago when I was digging too and they do appear to be there

$ cat /usr/share/xsessions/pop.desktop
[Desktop Entry]
Name=Pop
Comment=This session logs you into Pop
Exec=env GNOME_SHELL_SESSION_MODE=pop /usr/bin/gnome-session --session=pop
TryExec=/usr/bin/gnome-shell
Type=Application
DesktopNames=pop:GNOME
X-GDM-SessionRegisters=true
X-Ubuntu-Gettext-Domain=gnome-session-3.0

$ cat /usr/share/wayland-sessions/pop-wayland.desktop
[Desktop Entry]
Name=Pop on Wayland
Comment=This session logs you into Pop
Exec=env GNOME_SHELL_SESSION_MODE=pop /usr/bin/gnome-session --session=pop
TryExec=/usr/bin/gnome-shell
Type=Application
DesktopNames=pop:GNOME
X-GDM-SessionRegisters=true
X-Ubuntu-Gettext-Domain=gnome-session-3.0

No idea if they used to be different or not… but only thing seems to be its name

diff /usr/share/wayland-sessions/pop-wayland.desktop /usr/share/xsessions/pop.desktop
2c2
< Name=Pop on Wayland
---
> Name=Pop

Definitely getting skipped and disabled:

$ cat /var/log/syslog | grep 'Wayland'
Apr 29 17:09:11 pop-os systemd[1414]: Starting GNOME Shell on Wayland...
Apr 29 17:09:11 pop-os systemd[1414]: Condition check resulted in GNOME Shell on Wayland being skipped.

EDIT
Following an arch wiki entry: GDM - Wayland and the propietary NVIDIA driver made it show up and now i’m in by force skipping the checks! Hopefully OP can also get in with this, though still likely need to look into the drm modeset thing…:

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

Apparently Nvidia requested that Ubuntu 22.04 LTS default back to X11 rather than Wayland for Nvidia systems

3 Likes

Thanks for all the detective work on this. I posted after messing with it for a while and thought about installing another wm but had to put it aside for the night.

I had been using Wayland for better touch gestures on my laptop. I’m not sure if its worth distro hopping for, but it did blindside and frustrate me. I’ll follow the arch wiki method for now.

1 Like

Yeah, defs on x11.

Nvidia strikes again