Ubuntu – What do the nomodeset, quiet and splash kernel parameters mean


What do Kernel command line parameters (also also known as boot options) mean?

When you go to Ubuntu (or better, GRUB) options, you have things like nomodeset, quiet and splash. What do these options mean?

I am also interested in other parameters and would be interested to see descriptions of any kernel parameter (like acpi), but these are not essential.

Best Answer

From this question, about nomodeset:

The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesn't work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded.

From Unix & Linux, on quiet splash:

The splash (which eventually ends up in your /boot/grub/grub.cfg ) causes the splash screen to be shown.

At the same time you want the boot process to be quiet, as otherwise all kinds of messages would disrupt that splash screen.

Although specified in GRUB these are kernel parameters influencing the loading of the kernel or its modules, not something that changes GRUB behaviour. The significant part from GRUB_CMDLINE_LINUX_DEFAULT is CMDLINE_LINUX

This answer covers acpi, noapic and nolapic:

In general, such boot parameters are not needed unless there is a problem with your BIOS and how it handles these standards, or it just might be old enough where these standards were not fully implemented properly.

ACPI (Advanced Configuration and Power Interface) is a standard for handling power management. Older systems may not support ACPI full, so sometimes it helps to give the kernel a hint to not use it. "acpi=off"

APIC (Advanced Programmable Interrupt Controller) is a kind of feature found on newer systems. The "local" version is called "LAPIC". What this controller can do is be set up to generate and handle interrupts, a signal the hardware uses to pass messages. Again, some implementations of APIC can have problems on older system, and so it is useful to disable it. "noapic" and "nolapic".

Sometimes the APIC is working, but it slows things down by getting in the middle of messages being passed around. This can mess with audio and video processing, for example. Folks might disable it for that reason as well.

Additional parameters can be found here.