Parrot Linux Black Screen After Login or Boot: How to Fix It

A Parrot Linux black screen is alarming because it gives you nothing to work with: no error, no cursor, sometimes not even a blinking underscore. The good news is that the system underneath is usually fine. In almost every case the kernel booted, the services started, and only the graphics stack failed, which means you can reach a text console, read the logs and fix it without reinstalling. This guide covers the three places the screen goes black on Parrot OS: during boot before the login screen, right after you log in, and inside a virtual machine. Work through the section that matches what you see, and keep a second device handy for reading this page.

First, get a working console

Whatever the cause, the first move is the same. Press Ctrl+Alt+F3 to switch to a text console (TTY3). If a login prompt appears, the kernel and the base system are running and the fault is in the display manager, the desktop session or the graphics driver. Log in with your normal user and leave that console open for the rest of this guide. Ctrl+Alt+F1 or F2 usually takes you back to the graphical login, depending on which one SDDM claimed.

If even the TTY stays black, the console itself is not being drawn, which points at kernel mode setting or a GPU driver that crashed early. Skip to the GRUB section below and boot with nomodeset.

Once you have a prompt, three commands tell you most of what you need:

journalctl -b -p err
systemctl status sddm
sudo dmesg | grep -iE 'drm|nvidia|amdgpu|i915|nouveau|firmware'

The first lists every error from the current boot. The second shows whether the display manager is running, crashed or was never started. The third filters the kernel log for graphics driver messages, which is where a missing firmware file or a failed module load shows up.

Black screen before login: GRUB and kernel mode setting

When the screen goes dark immediately after the GRUB menu and never shows the SDDM login, the kernel is handing control to a graphics driver that cannot drive your display. The universal workaround is to tell the kernel not to touch the display mode at all.

  1. Reboot and wait for the GRUB menu. If it is hidden, hold Shift (BIOS) or press Esc repeatedly (UEFI) while the firmware logo is still on screen.
  2. Highlight the Parrot entry and press e to edit it.
  3. Find the line starting with linux and add nomodeset at the end, after quiet splash.
  4. Press Ctrl+X or F10 to boot with that change. It applies to this boot only.

If the system now reaches the desktop, you have confirmed a driver problem. Use the working session to install the correct driver (next section), then let the kernel manage the display again. Only if you need nomodeset permanently should you add it to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub and run sudo update-grub; it disables GPU acceleration, so it is a crutch, not a fix. Parrot’s own GRUB troubleshooting page is the reference if the menu itself is broken or missing.

Two related kernel parameters are worth knowing. nouveau.modeset=0 disables only the open-source NVIDIA driver, which is handy when the proprietary driver is installed but the kernel keeps loading nouveau first. amdgpu.dc=0 turns off the display core on some older AMD cards that show nothing on HDMI after a kernel upgrade.

GPU drivers: the usual cause of a Parrot Linux black screen

Parrot 7.4 ships the Linux 7.1 kernel, and every kernel jump is a chance for an out-of-tree driver to fall behind. The pattern you will see most often is this: the system worked, you ran parrot-upgrade, and the next boot is black. That is almost always the proprietary NVIDIA module failing to rebuild for the new kernel.

NVIDIA

From the TTY, check whether the module built and loaded:

dkms status
lsmod | grep -E 'nvidia|nouveau'
sudo dmesg | grep -i nvidia | tail -20

dkms status listing the NVIDIA module as anything other than installed for your running kernel (uname -r) confirms it. Install the headers for the running kernel and rebuild:

sudo apt install linux-headers-$(uname -r)
sudo dkms autoinstall
sudo reboot

If the driver was never installed, or the card is too new or too old for the version in the repository, follow the NVIDIA driver installation guide, which also covers blacklisting nouveau so the two drivers stop competing. On a UEFI machine with Secure Boot turned on, a freshly built module will also be refused as unsigned; mokutil --sb-state tells you whether that applies, and the quick fix is disabling Secure Boot in the firmware settings.

AMD and Intel

Both use in-kernel drivers (amdgpu, i915 and the newer xe), so a black screen here is nearly always missing firmware rather than a missing driver. dmesg will say something like failed to load amdgpu/...bin. Install the package, which pulls in the blobs for every recent GPU, and reboot:

sudo apt install firmware-amd-graphics   # AMD
sudo apt install firmware-misc-nonfree   # Intel and others

The broader GPU drivers page covers hybrid laptops, where an Intel or AMD chip drives the panel and an NVIDIA chip only renders. On those machines the black screen often comes from the NVIDIA driver trying to claim the display outputs it does not own; nvidia-drm.modeset=1 on the kernel command line, or removing it, flips the behaviour.

Black screen after login: the Plasma session

If SDDM shows the login screen, you type your password, and then the screen goes black or shows only the cursor, the display manager is working and the desktop session is what fails. Parrot 7.x uses KDE Plasma 6 by default, and Plasma 6 prefers Wayland. Several things can take down a Wayland session that an X11 session survives.

Try the X11 session first

On the SDDM login screen, look for the session selector, usually a small menu in a corner. Switch from Plasma (Wayland) to Plasma (X11) and log in again. If X11 works, the problem is specific to Wayland and the graphics driver, which is common with the proprietary NVIDIA driver. You can keep using X11 indefinitely, or install the driver update that fixes it later.

Reset the session cache

A corrupt cache, a stale compositor configuration or a Plasma plugin from a previous version can crash kwin or plasmashell on startup. From the TTY, move the caches out of the way rather than deleting them, then log in again:

mv ~/.cache ~/.cache.old
mv ~/.config/kwinrc ~/.config/kwinrc.old
mv ~/.config/plasmashellrc ~/.config/plasmashellrc.old

If the desktop comes back, you have lost nothing important; the files are recreated with defaults and you can copy settings back selectively. To find which process crashed, run journalctl --user -b -p err and coredumpctl list as your user.

Check disk space and home permissions

A full root or home partition stops Plasma from writing its session files and produces exactly this symptom. Check with df -h / and df -h ~; anything at 100 percent needs cleaning before you do anything else. The speed-up guide has a section on finding what is eating disk. A home directory owned by root, which happens after running a graphical app with sudo, breaks logins the same way; ls -ld ~ ~/.config should show your username, and sudo chown -R $USER:$USER ~ repairs it.

Restart or reinstall the display manager

Sometimes SDDM is simply stuck. sudo systemctl restart sddm from the TTY redraws the login screen; if it fails, sudo apt install --reinstall sddm plasma-workspace restores a broken package. If you have more than one desktop installed, confirm which display manager is active with cat /etc/X11/default-display-manager; the desktop environment comparison explains how the MATE and LXQt spins differ here.

A half-finished upgrade

If the power went out or the terminal was closed during parrot-upgrade, packages can be unpacked but not configured, and the graphics stack is often among them. Finish the job from the TTY:

sudo dpkg --configure -a
sudo apt --fix-broken install
sudo parrot-upgrade

Then reboot. The safe upgrade guide explains why running upgrades inside tmux or screen avoids this in the first place.

Black screen in VirtualBox, VMware or UTM

Virtual machines fail in their own ways, and none of them involve real GPU drivers.

  • VirtualBox: in the VM’s Display settings, set the graphics controller to VMSVGA, give it at least 128 MB of video memory, and try toggling 3D acceleration off. A Plasma 6 Wayland session on an unaccelerated virtual GPU can stay black while the X11 session works, so switch sessions on the login screen. Installing the Guest Additions fixes resolution and acceleration problems that remain.
  • VMware: a black screen after resizing the window usually means open-vm-tools-desktop is missing or 3D acceleration is enabled on a host that cannot provide it. Install the tools package and disable 3D in the VM settings.
  • Live ISO in any hypervisor: choose the fallback or safe graphics entry in the boot menu if one is offered, or add nomodeset as described above.

If the VM is black from the first second, before any boot menu, the issue is EFI versus BIOS firmware in the VM settings rather than Parrot itself.

External monitors and laptops

A laptop that boots to black with the lid closed, or a desktop with two monitors where only the dark one is plugged into the active output, is a surprisingly common false alarm. Try every video output, unplug docks and adapters, and press the display-switch function key. Hybrid-graphics laptops with a dedicated NVIDIA output for HDMI need the proprietary driver loaded before that port shows anything at all; the panel works, the external screen does not, and the fix is the NVIDIA section above.

FAQ

Is the data on my disk safe when Parrot boots to a black screen?

Yes. The black screen is a display problem, not a filesystem one. If you can reach a TTY you can copy anything you need with cp or rsync to a USB drive before trying fixes; if you cannot, boot the live USB and mount the installed disk from there.

Why does the screen go black only on the Wayland session?

Wayland relies on the kernel driver to do the compositing that X11 could fall back to doing in software. A driver that lacks modern kernel mode setting support, or an NVIDIA version with incomplete Wayland support, works under X11 and fails under Wayland. Updating the driver or staying on the X11 session are both reasonable answers.

Should I reinstall Parrot to fix it?

Almost never. Reinstalling takes longer than any fix on this page and the same driver problem will come back on the fresh install. Reinstall only if the package database is damaged beyond what dpkg --configure -a can repair, and ask on the community channels with your journalctl -b -p err output before you do.