Debian 12 Image Issue - Gnome installation, GDM not stable under wayland?

Debian 12 Image Issue - Gnome installation, GDM not stable under wayland?

If I disable wayload, GDM runs consistently. If I restart GDM, after boot up from serial console or alternate virtual console, GDM runs as expected. This issue where at times GDM fails under wayload is not a new issue, it does happen on some systems, and the issue seems to be across several distributions besides Debian 12. For example:

# cat /etc/gdm3/daemon.conf | grep -i wayland
#WaylandEnable=false

Uninstall and reinstall of GDM does not resolve the issue, unfortunately. Nor goes GDM give a lot of details when the issue occurs. What is odd, is an explicit restart of GDM service, then it works, so why it fails to work at initial boot is very odd.

# systemctl restart gdm
# systemctl status gdm
● gdm.service - GNOME Display Manager
     Loaded: loaded (/lib/systemd/system/gdm.service; static)
     Active: active (running) since Sat 2024-02-24 23:34:21 EST; 18min ago
    Process: 1920 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS)
   Main PID: 1925 (gdm3)
      Tasks: 3 (limit: 18825)
     Memory: 2.4M
        CPU: 113ms
     CGroup: /system.slice/gdm.service
             └─1925 /usr/sbin/gdm3

Feb 24 23:34:30 indiedroid gdm3[1925]: Gdm: GdmSession: Handling new connection from outside
Feb 24 23:34:30 indiedroid gdm3[1925]: Gdm: GdmManager: client with pid 2331 connected
Feb 24 23:34:30 indiedroid gdm3[1925]: Gdm: GdmDisplay: Got timed login details for display: 0
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmManager: trying to open new session
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmCommon: Found session c5 for PID 2331, using
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmSession: Considering session (null) for username (null)
Feb 24 23:39:29 indiedroid gdm3[1925]: GdmDBusServer: new connection 0x5570c1ab80
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmSession: Handling new connection from outside
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmManager: client with pid 2331 connected
Feb 24 23:39:29 indiedroid gdm3[1925]: Gdm: GdmDisplay: Got timed login details for display: 0

After reboot…

         Starting gdm.service - GNOME Display Manager...
         Starting governor.service - Governor...
         Starting plymouth-quit-wait.service - Hold until boot process finishes up...
[  OK  ] Started ifplugd.service - LSB: Brings up/down network automatically.
[  OK  ] Finished governor.service - Governor.
[  OK  ] Started gdm.service - GNOME Display Manager.

GDM Service status at failure after reboot…

# systemctl status gdm
● gdm.service - GNOME Display Manager
     Loaded: loaded (/lib/systemd/system/gdm.service; static)
     Active: active (running) since Sat 2024-02-24 23:58:07 EST; 1min 33s ago
    Process: 871 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS)
   Main PID: 885 (gdm3)
      Tasks: 3 (limit: 18825)
     Memory: 6.9M
        CPU: 165ms
     CGroup: /system.slice/gdm.service
             └─885 /usr/sbin/gdm3

Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmManager: trying to register new session on display 0x55ad85d360
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmDisplay: session registered: yes
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmLocalDisplayFactory: session registered on display, looking for any background displays to kill
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmManager: trying to open new session
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmCommon: Found session c2 for PID 1414, using
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmSession: Considering session (null) for username (null)
Feb 24 23:58:15 indiedroid gdm3[885]: GdmDBusServer: new connection 0x55ad85d880
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmSession: Handling new connection from outside
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmManager: client with pid 1414 connected
Feb 24 23:58:15 indiedroid gdm3[885]: Gdm: GdmDisplay: Got timed login details for display: 0

BUT… the main display… NO GDM Login screen! From the serial console I run:

# systemctl restart gdm

Now the GDM Login screen appears as expected. But if I look at the gear cog… it shows ONLY Gnome and Gnome classic? So is wayland really active? Regardless of the what daemon.conf configuration is set to?

If I explicitly disable wayland, GDM login shows after reboot as expected. Any help greatly appreciated, but this really does seem to be a wayland issue, not a Debian 12 issue.

Currently on the RK3588, wayland DEs work WAY better than x11 DEs