The login screen accepts your password, then the display vanishes
You type your password at the GDM login screen. The cursor spins for a second, then the screen goes black. You can still move the mouse, but nothing else appears. No desktop, no terminal, no error message. You are stuck staring at a dark monitor while the system hums quietly in the background. This happens most often after a kernel update or a driver change, but it can also strike after a routine dnf upgrade that touched the display server. The system is still running. Your files are safe. The kernel is booted. The problem is isolated to the user-space graphics stack.
What is actually happening
The graphical interface on Fedora is a stack of components. The display manager (GDM) handles the login screen. Once you authenticate, GDM hands off control to a session manager, which starts your desktop environment on top of a display server. A black screen means the handoff failed. The session process started but crashed immediately, or the display server refused to allocate a surface for the desktop.
Think of the display server as a stage. The desktop environment is the actor. The black screen means the actor tried to walk on stage, tripped over a cable, and fell into the wings. The stage lights are on, but you can't see the performance. The crash usually stems from a version mismatch between the kernel and the graphics driver, a corrupted configuration file in your home directory, or a failed package transaction that left the display server in an inconsistent state.
Fedora defaults to Wayland for new installations. X11 is still available but less common. If the black screen appeared after an update, the default session might be incompatible with your current driver state. Before you touch the terminal, check the login screen. Click your user avatar. Look for a gear icon in the bottom right corner. Fedora offers "GNOME" (Wayland) and "GNOME on Xorg". Select the alternative option and log in. If this works, your hardware or driver configuration prefers the other protocol. You can make this permanent by editing the GDM configuration, but testing first is safer.
Check the session gear icon before you reboot. A protocol switch fixes half these cases instantly.
Restore the display server
If switching sessions does not help, you need to access the system via a text console to diagnose and repair the graphics stack. The graphical interface is broken, but the underlying system is responsive.
Switch to a virtual terminal to bypass the broken display server. Virtual terminals run independently of the graphical session.
# Switch to a virtual terminal to bypass the broken display server.
# F3 through F6 are usually free. F1 or F2 often host the graphical session.
Ctrl+Alt+F3
Log in with your username and password. The prompt will look like a standard bash shell. You now have full control over the system.
# Log in with your credentials.
# The prompt will change to $ indicating a successful login.
login: youruser
password: ********
Check the journal for errors from the current boot. The journalctl command captures logs from all services. The -x flag adds explanatory text to priority messages, and -e jumps to the end of the log. Look for lines marked [FAILED] or red text near the timestamp of your login attempt.
# Check the journal for errors from the current boot.
# -x adds explanatory text to priority messages.
# -e jumps to the end of the log.
# Look for lines marked [FAILED] or red text near the timestamp of your login attempt.
journalctl -xe
Common errors include gnome-shell crashes, Xorg module failures, or SELinux denials. If you see a message like gnome-shell[1234]: GLib-GIO-ERROR: Settings schema 'org.gnome.desktop.interface' is not installed, the desktop environment cannot read its configuration. If you see [FAILED] Failed to start NVIDIA Kernel Module, the driver build failed.
# Example error output from journalctl indicating a driver failure.
# This exact text appears when the NVIDIA module fails to load.
[FAILED] Failed to start NVIDIA Kernel Module.
See 'systemctl status nvidia.service' for details.
Update all packages to ensure the kernel, drivers, and display server are in sync. The --refresh flag forces dnf to download fresh metadata, avoiding stale cache issues that can cause dependency conflicts. This is the standard maintenance command for Fedora.
# Update all packages to ensure the kernel, drivers, and display server are in sync.
# --refresh forces dnf to download fresh metadata, avoiding stale cache issues.
# This command resolves version mismatches caused by partial updates.
sudo dnf upgrade --refresh
Reinstall the core display components. This replaces corrupted binaries without removing configuration files. Xwayland is needed for legacy X11 apps on Wayland. gnome-session manages the GNOME desktop lifecycle.
# Reinstall the core display components.
# This replaces corrupted binaries without removing configuration files.
# Xwayland is needed for legacy X11 apps on Wayland.
# gnome-session manages the GNOME desktop lifecycle.
sudo dnf reinstall xorg-x11-server-Xwayland gnome-session
If you use NVIDIA hardware, the proprietary driver often causes black screens after a kernel update. The akmod-nvidia package should rebuild the module automatically, but sometimes the build fails silently. Reinstalling the driver package triggers a rebuild.
# Reinstall the NVIDIA driver to force a module rebuild.
# This is required if the kernel version changed and the driver did not update.
# The akmod system compiles the module against the running kernel.
sudo dnf reinstall akmod-nvidia xorg-x11-drv-nvidia
If the system updates and reinstalls do not help, the issue might be in your user configuration. A corrupted dconf database can prevent GNOME from starting. Rename the config directory to force a reset. This preserves your data in /home while resetting preferences.
# Rename the user config directory to back it up.
# GNOME will recreate default settings on the next login.
# This preserves your data in /home while resetting preferences.
mv ~/.config ~/.config.bak
Reboot after the reinstall. The display server needs a clean start to load the new binaries and rebuilt modules.
# Reboot the system to apply changes.
# The display server must restart to load updated drivers and binaries.
sudo reboot
Reboot after the reinstall. The display server needs a clean start to load the new binaries.
Verify the fix
After the reboot, the login screen should return. Log in and check that the desktop loads. Run wayland-info to confirm the session is active. This command lists connected Wayland outputs. If it returns output, the compositor is healthy.
# Verify the display server is running correctly.
# This command lists connected Wayland outputs.
# If it returns output, the compositor is healthy.
wayland-info | grep -A 5 output
If you are on X11, check the X server log for hardware errors. The journalctl output might not capture all X server errors. Look for lines starting with (EE) which indicate errors. (WW) lines are warnings and can often be ignored.
# View the X server log for hardware errors.
# Look for lines starting with (EE) which indicate errors.
# (WW) lines are warnings and can often be ignored.
cat /var/log/Xorg.0.log | grep -E "^(EE|WW)"
Run wayland-info. If the output is empty, the compositor isn't running and you need to check the logs again.
Common pitfalls and error patterns
Editing files in /usr/lib/ instead of /etc/ breaks package management. Files in /usr/lib/ ship with the package. The package manager will overwrite your changes on the next update, or refuse to upgrade because the file hash changed. Always edit configuration in /etc/. If you must modify a shipped file, use dnf config-manager or create a drop-in override.
SELinux denials can cause black screens. If a service is denied access to a resource, it may crash silently. Check journalctl -t setroubleshoot for one-line summaries of denials. Restore file contexts before disabling SELinux. A label mismatch causes more black screens than a missing driver.
# Check for SELinux denials that might be blocking the display server.
# setroubleshoot provides human-readable summaries of AVC denials.
# Read the summary before disabling SELinux.
journalctl -t setroubleshoot
Corrupted authority files can prevent X11 sessions from starting. The .Xauthority and .ICEauthority files store authentication cookies. If these files have incorrect permissions or are owned by root, the session will fail. Reset the permissions to fix this.
# Fix ownership of authority files.
# These files must be owned by the user, not root.
# Incorrect permissions cause X11 authentication failures.
chown $USER:$USER ~/.Xauthority ~/.ICEauthority
chmod 600 ~/.Xauthority ~/.ICEauthority
NVIDIA users often face black screens because the proprietary module hasn't been rebuilt for the new kernel. The akmod-nvidia package handles this, but the build requires kernel headers. Ensure kernel-devel and kernel-headers are installed. If the build fails, check /var/log/dkms.log for compilation errors.
Restore SELinux contexts before you disable the policy. A label mismatch causes more black screens than a missing driver.
When to use this approach
Use Ctrl+Alt+F3 when the graphical interface is frozen but the system is responsive. Use journalctl -xe when you need to identify the specific service that crashed. Use dnf reinstall when binaries are corrupted or a package update failed mid-way. Use sudo reboot only after you have checked logs and applied fixes. Use a live USB when the system cannot boot to a TTY or the filesystem is corrupted. Use mv ~/.config ~/.config.bak when the desktop environment crashes due to user preference corruption.
Use the TTY to diagnose. A blind reboot just repeats the failure.