Boot hangs at "Reached target Graphical Interface" on Arch after system update (no virtualbox)

A month or so ago my Arch system started hanging at "Reached target Graphical interface" and never launches Gnome Display Manager (GDM). I eventually found a workaround which was to simply switch to TTY 2 (ALT + F2) and then switch back to TTY 1 (ALT + F1) and that starts GDM fine. Here is a screenshot of the stuck/hung boot:
Boot hangs at "Reached target Graphical Interface" on Arch after system update (no virtualbox)

I looked at this question, Arch Linux stuck at boot (reached target Graphical Interface), but am not using Virtualbox for this although I did have Virtualbox installed at the time I noticed the issue, and then uninstalled Virtualbox since then in my troubleshooting steps. I did try the answer in that question to install xorg-server, but it is already installed > https://unix.stackexchange.com/a/341293/27902.

I do have the service enabled. When I switch to TTY2, this is what systemctl status gdm.service says:

Boot hangs at "Reached target Graphical Interface" on Arch after system update (no virtualbox)

Contents of /usr/lib/systemd/system/gdm.service:

[Unit]
Description=GNOME Display Manager

# replaces the getty
[email protected]
[email protected]

# replaces plymouth-quit since it quits plymouth on its own
Conflicts=
After=

# Needs all the dependencies of the services it's replacing
# pulled from [email protected] and
# (except for plymouth-quit-wait.service since it waits until
# plymouth is quit, which we do)
After=rc-local.service plymouth-start.service systemd-user-sessions.service

# GDM takes responsibility for stopping plymouth, so if it fails
# for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service

[Service]
ExecStart=/usr/bin/gdm
KillMode=mixed
Restart=always
IgnoreSIGPIPE=no
BusName=org.gnome.DisplayManager
StandardOutput=syslog
StandardError=inherit
EnvironmentFile=-/etc/locale.conf
ExecReload=/bin/kill -SIGHUP $MAINPID
KeyringMode=shared

[Install]
Alias=display-manager.service

Update: To clarify, I don’t use Wayland but use X still.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

K, the solution was this, credit to @cweagans for helping me out with this!

  1. systemctl disable gdm.service
  2. yay --remove gdm
  3. yay --sync --refresh gdm
  4. systemctl enable gdm.service
  5. reboot
  6. Works!

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply