when upgrading to the latest packages from Debian unstable and rebooting, you will only see a black screen with a cursor on the upper left corner instead of gdm coming up with the login prompt.
I was unable to track down the problem so far. Help is welcome.
But you should probably hold off on upgrading your system until this is fixed.
Update 1: Pressing ctrl+alt+F5 (or F2, F3, F4, …) gets you to a textual login prompt. You can start sway from there or continue working on the text terminal. This is how you’ll be able to fix this situation once a solution is known without resorting to booting from an sd-card.
Update 2: found the culprit. To work around the issue, downgrade libmozjs-140-0 to 140.6.0-1 Details in this bugreport: I Challenge Thee.
So to fix this, log in to another tty (ctrl+alt+F5 for example), put an older snapshot timestamp, like: debian:/ 2026-01-15 20:27:01 - snapshot.debian.org and then downgrade: sudo apt install libmozjs-140-0=140.6.0-1
When I tried to apply the fix by switching to a different text terminal by pressing ctrl+alt+f5, the terminal would become unresponsive to keyboard input after a few dozen seconds. Can somebody confirm?
If fixing this via another tty does not work and because there is no graphics support in u-boot so that you could choose the single user mode rescue shell in the boot menu, you have the following options:
connect to serial via uart and log into your system that way
if you have an ssh server configured, log in via ssh after booting
flash a rescue system to sd-card, boot that and mount and chroot your system on eMMC/NVMe from the rescue system
To make the last option easier, I started writing a new script. I put an initial version here:
I welcome tests and feedback for this script. Thank you!
I have found since upgrading to the most recent version of libmozjs that the black screen with the cursor still shows up for a moment or two before the graphical login starts; I’m curious if anyone else who has fixed this problem is seeing something similar?
I just did an apt upgrade and gdm3 is now broken in the same way - no login screen, only a blinking cursor. The systemd status says GdmLocalDisplayFactory: maximum number of X display failures reached: check X server log for errors or some such.
So I switched to lightdm. gdm3 has been super-slow for me for months anyway, and this is the last straw.
My machine is up to date. But of course it doesn’t mean that fix has trickled down to the package yet.
There’s nothing special about my install: it’s the Debian 13 flavor that came on the Reform when I received it in June last year, and upgraded on a not-so-regular basis since then.
Gdm used to work fine.
Then some months ago, it started becoming really slow to start up for some reason (never found out why).
Then last month it stopped working altogether and left this black screen and blinking cursor thing that is the subject of this thread. But at least I could switch VT and log in on the console.
Then tonight it killed the console login altogether.
Whatever is happening with gdm is not getting any better for me, and I’m not sure what other cause it could be because I try to keep my machine as bone-stock as possible, precisely to avoid weird problems due to custom stuff.
Because this thread is about the issue which was fixed by upgrading mozjs. It affected everybody running gdm3, so I made this post about it.
Then your issue is different because the issue that this thread is about is fixed, as elb has already pointed out.
To figure out what the problem of your setup is, you may want to inspect the journalctl logs. They might contain the error message which prevents gdm3 from coming up.