Login screen not showing on startup

Oh now I’ve really messed up. sudo pacman -R gdm and sudo pacman -S gdm was not a good idea at all. Can’t even switch to the other TTYs now. Getting in to the machine by appending a 3 to the end of the linux line in GRUB gets me in, but without it, seems like I’ve really cooked Gnome now.

I installed XFCE4, strangely I got a greeter, but once I put in my password I was greeted to a black screen. Reinstalled Gnome, and when I ran startx I was again shown a black screen with a mouse cursor (it matches the Adwaita theme though). I have Guake installed, and noticed when I hit Ctrl+~ my cursor changed when I was toward the top of the screen. I ran touch ~/beanssss and sure enough, could verify the file was created within another TTY.

So I’m getting to the desktop somehow, I just can’t see anything.

Reinstalled XFCE, something that used to bite me a lot when I was running NixOS and switched environments a lot was I wouldn’t select the right session at my greeter, if I select my XFCE session, then lightdm gets me to a desktop, so that’s progress.

So, multiple distros fail to start gdm on your system, but lightdm works okay? Are you perhaps using wayland?

This is a known issue with gnome and amd gpu linux driver, there is a similar thread for the same and it is same for all the linux distros, not just manjaro.
Workaround is to switch to TTY2 and switch back to TTY1 solves the issue but this is manual on everytime it is stuck on black screen.

Just press Ctrl + Alt + F2 and then switch back to TTY 1 Ctrl + Alt + F1 will fix take you back to tty1 and login screen will appear.

If we find a fix for this then we will announce it in release post.

3 Likes

I don’t think so, GDM’s custom.conf has it listed as disabled, and when I enabled it I had to mount my boot drive from a live USB in order to reset the setting.

This hasn’t solved the issue for me, I’ve been switching between TTYs fairly regularly and GDM never showed anything.

What happens if you run from tty

systemctl restart gdm

Ok so it is something else for you. Can you check the status of gdm?

Please share output ok
systemctl status gdm

journalctl | grep gdm

Without the logs we won’t know what’s going in inside your device.

I get taken back to TTY1, but I’m still staring at a black screen with a mouse cursor.

● gdm.service - GNOME Display Manager
     Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2020-08-29 15:51:40 PDT; 2min 38s ago
   Main PID: 2251 (gdm)
      Tasks: 3 (limit: 38420)
     Memory: 3.7M
     CGroup: /system.slice/gdm.service
             └─2251 /usr/bin/gdm

I’ve got a repo on GitLab where I’m uploading anything interesting. Here are the debug GDM logs from my latest boot.

So, gdm is running happily, but xorg can’t find the display. It tries to load vesa, but that is not installed.

Ideas to try:

  • enable wayland in in gdm custom.conf. Since xorg is bugging and you have a suitable graphics card for the wayland, that could theoretically help?

It seems that service ‘org.freedesktop.systemd1’ is the one giving most errors. Googling the errors you got, it seems to be linked to the display drivers.

When I do this I can’t do anything with my computer when it’s started in graphical mode, including switching to other TTYs. I tried it again, and have uploaded the logs from that boot to the repo

That seems like it would make sense, but I can’t get mhwd to install anything newer than the version of video-linux I’ve already got (using sudo mhwd -a pci nonfree 0300 -f). I can only assume that the VERSION shown in mhwd -l is when the driver was compiled, which for me is 2018.05.04, which is before my GPU was released.

Interestingly, I’m now getting a much different (read: ‘worse’) error (full logs here).

Aug 29 21:55:31 Altair /usr/lib/gdm-x-session[1737]: Fatal server error:
Aug 29 21:55:31 Altair /usr/lib/gdm-x-session[1737]: (EE) no screens found(EE)
...
Aug 29 21:55:32 Altair gdm-x-session[1735]: X server did not write display string
Aug 29 21:55:32 Altair /usr/lib/gdm-x-session[1735]: Unable to run X server
Aug 29 21:55:32 Altair gdm-launch-environment][1382]: GdmSessionWorker: child (pid:1735) done (status:70)
Aug 29 21:55:32 Altair gdm-launch-environment][1382]: GdmSessionWorker: uninitializing PAM
Aug 29 21:55:32 Altair audit[1382]: USER_END pid=1382 uid=0 auid=120 ses=1 subj==unconfined msg='op=PAM:session_close grantors=pam_loginuid,pam_keyinit,pam_succeed_if,pam_permit,pam_systemd,pam_env acct="gdm" exe="/usr/lib/gdm-session-worker" hostname=Altair addr=? terminal=/dev/tty1 res=success'
Aug 29 21:55:32 Altair audit[1382]: CRED_DISP pid=1382 uid=0 auid=120 ses=1 subj==unconfined msg='op=PAM:setcred grantors=pam_permit acct="gdm" exe="/usr/lib/gdm-session-worker" hostname=Altair addr=? terminal=/dev/tty1 res=success'
Aug 29 21:55:32 Altair gdm-launch-environment][1382]: GdmSessionWorker: state NONE
Aug 29 21:55:32 Altair gdm[1252]: GdmSession: Emitting 'session-exited' signal with exit code '70'
Aug 29 21:55:32 Altair gdm[1252]: GdmSession: stopping conversation gdm-launch-environment
Aug 29 21:55:32 Altair gdm[1252]: GdmSessionWorkerJob: Stopping job pid:1382
Aug 29 21:55:32 Altair gdm[1252]: GdmCommon: sending signal 15 to process 1382
Aug 29 21:55:32 Altair gdm[1252]: GdmDisplay: Greeter exited: 70
Aug 29 21:55:32 Altair gdm[1252]: GdmLocalDisplayFactory: display status changed: 4
Aug 29 21:55:32 Altair gdm[1252]: GdmDisplay: finish display
Aug 29 21:55:32 Altair gdm-launch-environment][1382]: Worker finished
Aug 29 21:55:32 Altair gdm[1252]: GdmDisplayStore: Unreffing display: 0x5587ea7301e0
Aug 29 21:55:32 Altair gdm[1252]: GdmDisplay: Disposing display
Aug 29 21:55:32 Altair gdm[1252]: GdmCommon: sending signal 15 to process -1735
Aug 29 21:55:32 Altair gdm[1252]: Child process -1735 was already dead.
Aug 29 21:55:32 Altair gdm[1252]: GdmSession: Closing session
Aug 29 21:55:32 Altair gdm[1252]: GdmSession: Stopping all conversations
...
Aug 29 21:55:32 Altair systemd[1]: session-1.scope: Succeeded.
Aug 29 21:55:32 Altair systemd-logind[1209]: Session 1 logged out. Waiting for processes to exit.
Aug 29 21:55:32 Altair systemd-logind[1209]: Removed session 1.
Aug 29 21:55:32 Altair systemd-coredump[1749]: Process 1737 (Xorg) of user 120 dumped core.
                                               
                                               Stack trace of thread 1737:
                                               #0  0x00007f4c34054615 raise (libc.so.6 + 0x3d615)
                                               #1  0x00007f4c3403d862 abort (libc.so.6 + 0x26862)
                                               #2  0x0000556c9936f24a OsAbort (Xorg + 0x14a24a)
                                               #3  0x0000556c99370d11 FatalError (Xorg + 0x14bd11)
                                               #4  0x0000556c9925f559 n/a (Xorg + 0x3a559)
                                               #5  0x00007f4c3403f152 __libc_start_main (libc.so.6 + 0x28152)
                                               #6  0x0000556c9925f5de _start (Xorg + 0x3a5de)

Do you have pacui installed? If so, you could browse your pacman history with the downgrade option and downgrade the relevant packages that got updated?

Rolling back to updates made in either June or July didn’t work, assuming I’m doing the rollback correctly.
I’m doing sudo pacui, then 9 for ‘Roll Back System’, Page Downing until I hit an update boundary, then hitting ‘Enter’, followed by a reboot. That ran way too quick so I also tried holding down TAB to select everything until I got far enough in the past that I think I’d have definitely had a successful boot, and committed to the rollback. This did some work, but it didn’t really recover my system.

I’ve now managed to get the machine in a slightly better but still weird state. I can get in to gnome-shell when running lightdm, but this is a pretty subpar experience compared to gdm. I can’t push the resolution past 1280*720, and the desktop is pretty choppy.

I’m not able to get any more information about what could be stopping X from finding displays.

If I were to operate under the assumption this is potentially faulty hardware (still don’t understand why all Gnome based live USBs also fail if I’ve been able to use Gnome just fine for ages), is there a way I could debug this further?

I tried a couple more Live USBs, namely the latest Fedora Workstation and ElementaryOS.

Fedora seemingly stopped booting at the point where it tried to start GDM (screen freezes, maintains text from startup sequence though, can’t switch TTYs).

ElementaryOS also displayed odd behaviour, despite not being Gnome/GDM, namely I couldn’t set the background. I couldn’t see anything interesting in the logs for it though.

@huddo121 I am probably late to the discussion, but have you tried xrandr to check how many displays are detected. I have a very similar problem to you. KDE Plasma with dual setup. I don’t see login screen, but only a cursor. I happened to connect my other display & I could see the login screen which is very strange behaviour. So in my case, If I want to login to Manjaro, I need to have the other display connected. I am using a Laptop & like carry my laptop, but this problem doesn’t allow me to do so, I have to have my other display connected to login.

On my machine I’ve only got the one screen. I’m still not 100% sure what the problem is. One day the problem just disappeared, but then I could only get GDM to run under Wayland. Then the problem came back. I have a sneaking suspicion that it’s possibly an artefact of me dual booting with Windows (it’s on a different drive though). I’ve updated Windows 10 to shutdown differently, to avoid it’s fast booting when I shut down.

@huddo121 @spikerguy I found the fix for this, maybe you can look into this and if this works create a thread or announce in release post.

A user had similar issue and posted on Arch forums and there i found answer.

Although i have Intel iGPU and AMD dGPU, i faced this problem with all kernels (latest released 5.11) except 5.4. The issue is due to display drivers not being loaded before GDM and GDM requires these to display anything. So we have to use early KMS to load drivers during initramfs stage. See Arch Wiki

So Add intel_agp i915 for intel iGPU and/or dGPU and amdgpu for AMD iGPU and/or dGPU in MODULES array in /etc/mkinitcpio.conf

The main thing is that if your PC has iGPU, then iGPU loads the basic things (and not dGPU) so go for iGPU steps. For me, i had intel iGPU and AMD dGPU so when i added only amdgpu in MODULES array the problem still persisted. When i added intel_agp i915 amdgpu in it, only then the issue went away. (added amdgpu just in case)

Then regenerate the initramfs.

So in short, do

  1. sudo nano /etc/mkinitcpio.conf
  2. Add the required module for the video driver to the MODULES array in /etc/mkinitcpio.conf:
  • amdgpu for AMDGPU, or radeon when using the legacy ATI driver.

  • i915 for Intel graphics.

  • nouveau for the open-source Nouveau driver.

  • mgag200 for Matrox graphics.

  • Depending on QEMU graphics in use: virtio-gpu for VirtIO, qxl for QXL, or cirrus for Cirrus.

  • nvidia nvidia_modeset nvidia_uvm nvidia_drm for nvidia driver. See NVIDIA#DRM kernel mode setting for details.

    Note: Intel users may need to add intel_agp before i915 to suppress the ACPI errors (check the output of lsmod on your running system to see if intel_agp is loaded). This may be required for resuming from hibernation to work with a changed display configuration. If you use PRIME GPU with Intel IGP being your primary GPU and AMD as the discrete one, adding intel_agp may lead to troubles when resuming from hibernation (monitor gets no signal). See [1] for details.

  1. sudo mkinitcpio -P

if you have any issues, see the arch wiki

2 Likes

I tried this solution, it seems not working for me.

here is my conf file content:

...
MODULES="intel_agp i915"
...

then I generated new image by sudo mkinitcpio -P

Then I reboot my computer, it shows up black screen, I have to switch to TTY2 then back to TTY1

my uname -a

Linux nuc8 5.10.36-2-MANJARO #1 SMP PREEMPT Tue May 11 19:38:44 UTC 2021 x86_64 GNU/Linux

try switching to 5.4 kernel.