Black Screen with Plymouth - Cause and Solution

New installations

ISO released with 2024 has late KMS enabled by default.

Using Nvidia you need to add a module to the kernel command line

Early KMS can be enabled by adding the driver to MODULES=() array - usually you don’t need this with gpus that have kernel drivers as can be seen from [Kernel mode setting - ArchWiki]

Existing installations

Edit the file /etc/mkinitcpio.conf and apply changes according to your GPU

Too boot a system showing blackscreen with Nvidia - access the grub menu Esc - press e on the boot entry and add nvidia_drm.modeset=1 nvidia_drm.fbdev=1 to kernel command line. Press F10 to continue boot.

All GPU (open source kernel driver)

AMD, ATI, Intel, Nouveau (more info [Kernel mode setting - ArchWiki]) by adding to the existing HOOKS array

HOOKS=(... kms ...)

Optional (early kms)

Add the relevant module to the exisitng MODULES array (it may be empty)

MODULES=(... amdgpu ...)
MODULES=(... radeon ...)
MODULES=(... i915 ...)
MODULES=(... nouveau ...)

Rebuild initramfs

Save the file and run

sudo mkinitcpio -P

Nvidia GPU (proprietary driver)

According to Arch Wiki the framebuffer device driver is experimental.

Note: The proprietary NVIDIA driver (since 364.12) also implements kernel mode-setting, but it does not use the built-in kernel implementation and a fbdev driver for the high-resolution console is only present as an opt-in experimental feature (since 545.29)

Tests by the team shows that editing the default grub config in /etc/default/grub adding could be enough - your mileage may vary.

GRUB_CMDLINE_LINUX_DEFAULT="... nvidia_drm.modeset=1  ..."

Rebuild your grub configuration

sudo grub-mkconfig -o /boot/grub/grub.cfg

If the above is not enough add this in addition to the above and rebuild the grub config

GRUB_CMDLINE_LINUX_DEFAULT="... nvidia_drm.fbdev=1 ..."

IF that doesn’t work see the Arch Wiki

For in-tree modules (kernel provided), make sure kms is included in the HOOKS array in /etc/mkinitcpio.conf (this is the default since mkinitcpio v33).

For out-of-tree modules, place the module names in the MODULES array. For example, to enable early KMS for the NVIDIA graphics driver:

/etc/mkinitcpio.conf

MODULES=(… nvidia nvidia_modeset nvidia_uvm nvidia_drm …)

Kernel mode setting - ArchWiki

Remove/Disable Plymouth

See [HowTo] Disable or Remove Plymouth (boot splash) by @cscs