Fix Linux external monitor black screen detected

External monitor detected but black on Linux? Usually a driver or display manager issue. Here's how to fix it step by step.

Quick answer

Run xrandr --output HDMI-1 --auto (replace with your monitor's name) in a terminal. If that works, the issue is your display manager or driver config. If not, read on.

Why this happens

You plug in an external monitor. Your system detects it — you see it in Settings > Displays or in xrandr output. But the screen stays black. On Linux, this usually happens because the display manager (like GDM, LightDM, SDDM) or the graphics driver (NVIDIA, AMD, Intel) isn't setting the correct mode or output for that monitor. I've seen this on Ubuntu 22.04 with NVIDIA drivers, on Fedora 38 with Wayland, and on Debian 12 with Intel integrated graphics. The monitor gets detected but the GPU doesn't send a signal to it. Or the signal is on a different port (like HDMI vs DisplayPort) and the cable is loose. Don't panic — it's fixable in most cases.

Step-by-step fixes

  1. Identify your monitor's output name. Open a terminal and type xrandr | grep connected. You'll see something like HDMI-1 connected or DP-1 connected. Write down the name. If nothing shows, the monitor isn't detected at all — that's a different problem (bad cable, port, or driver).
  2. Force the monitor on. Run xrandr --output HDMI-1 --auto. After hitting Enter, you should see the monitor light up. If it does, great — but it's a temporary fix. If it's still black, go to step 3.
  3. Set the correct resolution. Sometimes --auto picks a wrong resolution. Do xrandr --output HDMI-1 --mode 1920x1080. Replace the resolution with your monitor's native one. Check available modes with xrandr (look under the monitor name).
  4. Check your graphics driver. If you have an NVIDIA GPU, run nvidia-smi. If it shows errors or nothing, your driver is broken. Reinstall it: sudo ubuntu-drivers autoinstall on Ubuntu, or sudo dnf install akmod-nvidia on Fedora. For AMD, sudo apt install mesa-utils or sudo dnf install mesa-dri-drivers. Reboot after installing.
  5. Switch from Wayland to Xorg. Wayland on NVIDIA and some AMD cards can cause black external screens. At the login screen (GDM), click your username, then click the gear icon or the little circle next to the sign-in button. Choose “Ubuntu on Xorg” or “GNOME on Xorg”. Log in. The monitor should work now.
  6. Restart the display manager. If the monitor works after a reboot but fails after suspend, restart the display manager: sudo systemctl restart gdm (or lightdm, sddm depending on your setup). This forces it to re-enumerate outputs.

Alternative fixes if the main ones don't work

  • Check the cable and port. Swap cables. Try a different HDMI or DisplayPort port on both the laptop and monitor. I've wasted hours on a bad cable.
  • Use the kernel's nomodeset option. At boot, edit the GRUB entry (press e at the GRUB menu) and add nomodeset to the line starting with linux. Then press Ctrl+X to boot. This disables kernel mode-setting and often fixes black screens on NVIDIA and AMD cards. If it works, make it permanent by editing /etc/default/grub and adding nomodeset to GRUB_CMDLINE_LINUX_DEFAULT, then run sudo update-grub.
  • Set the monitor as primary. Try xrandr --output HDMI-1 --primary. Some desktop environments (like GNOME) only mirror the primary output. If the external is not primary, it stays blank.
  • Disable and re-enable the monitor. Run xrandr --output HDMI-1 --off then xrandr --output HDMI-1 --auto. Wait 5 seconds between commands.

Prevention tip

Once you get the monitor working, save the xrandr configuration. Create a script in ~/.config/monitor-setup.sh with the exact xrandr command that worked (like xrandr --output HDMI-1 --mode 1920x1080 --rate 60). Then add it as a startup application in your desktop environment. That way, after every login or resume, the monitor gets set up right. Also, keep your system updated — kernel and driver updates often fix these black screen issues. But don't upgrade on a Friday if you need the monitor for work.

Related Errors in Linux & Unix
bash: <command>: command not found Fix 'bash: command not found' on Linux (Ubuntu 22.04 tested) GNOME Software Center Lies About Updates: Fix It Fast EACCES Linux: Fix 'Permission Denied' in 5 Minutes umount: target is busy. Fix 'umount: target is busy' on Linux USB drive

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.