- Plymouth
- Preparation
- Installation
- mkinitcpio
- dracut
- Configuration
- Changing the theme
- Install new themes
- Show delay
- HiDPI
- Tips and tricks
- Show boot messages
- Smooth transition
- Preview themes
- Change background image
- Missing BGRT image
- Slow down boot to show the full animation
- Troubleshooting
- Disable with kernel parameters
- Debugging
- Password prompt does not update
- Display is not centered
- See also
- Plymouth (Русский)
- Подготовка
- Установка
- mkinitcpio
- dracut
- Настройка
- Выбор темы
- Установка новых тем
- Задержка отображения
- HiDPI
- Советы и рекомендации
- Отображение сообщений ядра
- Плавный переход к экранному менеджеру
- Предпросмотр тем
- Изменение фонового изображения темы
- Отсутствующее BGRT изображение
- Замедление загрузки системы для отображения анимации
- Решение проблем
- Смотрите также
Plymouth
Plymouth is a project from Fedora and now listed among the freedesktop.org’s official resources providing a flicker-free graphical boot process. It relies on kernel mode setting (KMS) to set the native resolution of the display as early as possible, then provides an eye-candy splash screen leading all the way up to the login manager.
Preparation
Plymouth primarily uses KMS to display graphics, but on UEFI systems it can utilize the EFI framebuffer.
If you cannot use KMS, e.g. because you are using a proprietary driver, or if you do not want to use the EFI framebuffer, consider using Uvesafb as it works with widescreen resolutions. If you have neither KMS nor a framebuffer, Plymouth will fall back to text-mode.
Installation
Plymouth is available with the stable package plymouth . For the development version, use plymouth-git AUR .
By default, Plymouth logs the boot messages into /var/log/boot.log , and does not show the graphical splash screen.
- If you want to see the splash screen, append splash to the kernel parameters.
- If you want silent boot, append quiet too.
- If you want to disable the logging, append plymouth.nolog .
To start Plymouth on early boot, you must configure your initramfs generator to create images including Plymouth.
mkinitcpio
Add plymouth to the HOOKS array in mkinitcpio.conf.
dracut
After installing Plymouth, dracut will automatically detect it and add it to your initramfs images. If autodetection fails, you can force dracut to include Plymouth by adding the following line to your dracut configuration:
/etc/dracut.conf.d/myflags.conf
add_dracutmodules+=" plymouth "
Configuration
Plymouth can be configured in file /etc/plymouth/plymouthd.conf . You can see the default values in /usr/share/plymouth/plymouthd.defaults .
Changing the theme
Plymouth comes with a selection of themes:
- BGRT: A variation of Spinner that keeps the OEM logo if available (BGRT stands for Boot Graphics Resource Table)
- Fade-in: «Simple theme that fades in and out with shimmering stars»
- Glow: «Corporate theme with pie chart boot progress followed by a glowing emerging logo»
- Script: «Script example plugin» (Despite the description seems to be a quite nice Arch logo theme)
- Solar: «Space theme with violent flaring blue star»
- Spinner: «Simple theme with a loading spinner»
- Spinfinity: «Simple theme that shows a rotating infinity sign in the center of the screen»
- Tribar: «Text mode theme with tricolor progress bar»
- (Text: «Text mode theme with tricolor progress bar»)
- (Details: «Verbose fallback theme»)
By default, the bgrt theme is selected. The theme can be changed editing the configuration file, for example:
# plymouth-set-default-theme -R theme
Every time a theme is changed, the initrd must be rebuilt. The -R option ensures that it is rebuilt (otherwise regenerate the initramfs manually).
Install new themes
You can install other themes from AUR. [1], alternatively plymouth-kcm provides integration into KDE Plasma’s settings and offers themes not available on the AUR.
All currently installed themes can be listed by using this command:
$ plymouth-set-default-theme -l
$ ls /usr/share/plymouth/themes
bgrt details fade-in glow script solar spinfinity spinner text tribar
Show delay
Plymouth has a configuration option to delay the splash screen:
On systems that boot quickly, you may only see a flicker of your splash theme before your DM or login prompt is ready. You can set ShowDelay to an interval (in seconds) longer than your boot time to prevent this flicker and only show a blank screen. The default is 0 seconds, so you should not need to change this to a different value to see your splash earlier during boot.
HiDPI
Edit the configuration file:
DeviceScale=an-integer-scaling-factor
Tips and tricks
Show boot messages
During boot you can switch to boot messages by pressing the Esc key.
Smooth transition
GDM supports smooth transition out of the box.
For other display managers you can get a nearly smooth transition with the following drop-in snippet for display-manager.service :
/etc/systemd/system/display-manager.service.d/plymouth.conf
[Unit] Conflicts=plymouth-quit.service After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service OnFailure=plymouth-quit.service [Service] ExecStartPre=-/usr/bin/plymouth deactivate ExecStartPost=-/usr/bin/sleep 30 ExecStartPost=-/usr/bin/plymouth quit --retain-splash
Preview themes
Themes can be previewed without rebuilding initrd, press Ctrl+Alt+F6 to switch to a text terminal, log in as root and type:
# plymouthd # plymouth --show-splash
To quit the preview, press Ctrl+Alt+F6 again and type:
Change background image
You can add a background image for two-step-based themes (such as spinner and bgrt). Just place your desired image into /usr/share/plymouth/themes/spinner/background-tile.png . Do not forget to regenerate the initrd once the theme changed.
Missing BGRT image
In case you are using the BGRT theme but the UEFI does not provide a vendor logo, you can place a fallback image into /usr/share/plymouth/themes/spinner/bgrt-fallback.png to show it instead.
Slow down boot to show the full animation
On systems with a very fast boot time, it might be necessary to add a delay to plymouth-quit.service with a drop-in snippet containing ExecStartPre=/usr/bin/sleep 5 if showing the whole animation is desired. See this reddit post.
Troubleshooting
Disable with kernel parameters
If you experience problems during boot, you can temporary disable Plymouth with the following kernel parameters:
plymouth.enable=0 disablehooks=plymouth
Debugging
To write debug output into /var/log/plymouth-debug.log , add the following kernel parameter:
Password prompt does not update
When using systemd instead of udev hooks in Mkinitcpio, the password prompt may not update on themes that handle it via Plymouth scripting.
You can try switching to development version plymouth-git AUR or using substitutes from Mkinitcpio#Common hooks.
Display is not centered
Certain themes may have trouble centering the display when there is more than one monitor enabled during boot.
You can use Kernel mode setting#Forcing modes to disable specific monitors.
See also
Plymouth (Русский)
Состояние перевода: На этой странице представлен перевод статьи Plymouth. Дата последней синхронизации: 12 апреля 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Plymouth — это проект Fedora и один из официальных проектов freedesktop.org, реализующий графический экран загрузки системы без бегущих надписей (логов) на экране. Он использует kernel mode setting (KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает красивый экран загрузки вплоть до появления менеджера входа.
Подготовка
Plymouth главным образом использует KMS (Kernel Mode Setting) для отображения графики. На EFI/UEFI системах plymouth может использовать EFI framebuffer.
Если вы не можете использовать KMS, например, из-за использования проприетарного драйвера или не хотите использовать EFI framebuffer, обратите внимание на Uvesafb, поскольку он поддерживает широкоформатные разрешения. Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернётся в текстовый режим.
Установка
Установите пакет plymouth . Разрабатываемая версия доступна в пакете plymouth-git AUR .
По умолчанию Plymouth записывает сообщения загрузки в /var/log/boot.log и не показывает графический экран загрузки.
- Для отображения графического экрана загрузки добавьте splash в параметры ядра.
- Для обеспечения тихой загрузки также добавьте quiet .
- Для отключения записи лога добавьте plymouth.nolog .
Для раннего запуска Plymouth нужно добавить его в initramfs.
mkinitcpio
Добавьте plymouth в массив HOOKS в mkinitcpio.conf.
dracut
После установки Plymouth dracut автоматически обнаружит его и добавит в ваши образы initramfs. Если автоопределение не сработало, вы можете заставить dracut добавить Plymouth с помощью следующей строки в конфигурации dracut:
/etc/dracut.conf.d/myflags.conf
add_dracutmodules+=" plymouth "
Настройка
Plymouth настраивается через файл /etc/plymouth/plymouthd.conf . Значения по умолчанию описаны в файле /usr/share/plymouth/plymouthd.defaults .
Выбор темы
Plymouth поставляется со следующими темами:
- BGRT: Вариант Spinner, который использует OEM-логотип, если он доступен (BGRT означает Boot Graphics Resource Table)
- Fade-in: «Простая тема с затухающими и разгорающимися мерцающими звездами»
- Glow: «Производственная тема, показывающая процесс загрузки в виде круговой диаграммы»
- Script: «Пример скрипта» (Несмотря на описание, выглядит очень симпатичной темой с логотипом Arch)
- Solar: «Космическая тема, голубая звезда с протуберанцами»
- Spinner: «Простая тема с вращающимся индикатором загрузки»
- Spinfinity: «Простая тема, показывающая вращающийся знак бесконечности в центре экрана»
- Tribar: «Текстовый режим с трёхцветной полосой прогресса»
- (Text: «Текстовый режим с трёхцветной полосой прогресса»)
- (Details: «Резервная тема с подробностями загрузки»)
По умолчанию используется тема bgrt. Чтобы выбрать другую, пропишите её в настройках, например:
или выберите тему с помощью команды:
# plymouth-set-default-theme -R тема
При каждой смене темы необходимо пересобирать initrd . Это произойдёт автоматически при выборе темы командой plymouth-set-default-theme с опцией -R (в противном случае пересоберите образ initramfs самостоятельно).
Установка новых тем
Дополнительные темы доступны в AUR. [1] Также plymouth-kcm добавляет интеграцию с настройками KDE Plasma и предлагает темы, отсутствующие в AUR.
Список установленных тем можно получить командой:
$ plymouth-set-default-theme -l
$ ls /usr/share/plymouth/themes
bgrt details fade-in glow script solar spinfinity spinner text tribar
Задержка отображения
Plymouth позволяет добавить задержку перед отображением графического экрана загрузки:
Если система загружается настолько быстро, что загрузочная анимация успевает лишь моргнуть до запуска DM, можно установить задержку появления экрана загрузки в параметре ShowDelay (в секундах) больше чем длительность загрузки системы, чтобы вместо мерцания отображался просто пустой экран. По умолчанию время задержки 0 секунд.
HiDPI
Пропишите коэффициент масштабирования (целое число) в настройках:
DeviceScale=коэффициент-масштабирования
Советы и рекомендации
Отображение сообщений ядра
Чтобы включить отображение сообщений ядра во время загрузки, нажмите Esc .
Плавный переход к экранному менеджеру
GDM поддерживает плавный переход из коробки.
Для других экранных менеджеров можно создать drop-in файл для юнита display-manager.service :
/etc/systemd/system/display-manager.service.d/plymouth.conf
[Unit] Conflicts=plymouth-quit.service After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service OnFailure=plymouth-quit.service [Service] ExecStartPre=-/usr/bin/plymouth deactivate ExecStartPost=-/usr/bin/sleep 30 ExecStartPost=-/usr/bin/plymouth quit --retain-splash
Предпросмотр тем
Для просмотра тем без перезагрузки и пересборки initrd можно перейти в терминал нажатием Ctrl+Alt+F6 , войти как root и набрать:
# plymouthd # plymouth --show-splash
Для выхода из просмотра нажать Ctrl+Alt+F6 снова и набрать:
Изменение фонового изображения темы
В некоторых темах (таких как spinner и bgrt) можно изменить фоновое изображение. Для этого следует заменить файл /usr/share/plymouth/themes/theme/background-tile.png на собственный. Во избежание перезаписи изменённой темы при обновлении plymouth, все действия проводите над копией темы. После изменения не забудьте пересобрать initrd.
Отсутствующее BGRT изображение
Если вы используете тему BGRT, но UEFI не предоставляет логотип производителя, вы можете поместить запасное изображение в /usr/share/plymouth/themes/spinner/bgrt-fallback.png .
Замедление загрузки системы для отображения анимации
Если ваша система загружается настолько быстро, что анимация толком не успевает отобразиться, вы можете замедлить загрузку, создав drop-in файл для службы plymouth-quit.service и добавив туда ExecStartPre=/usr/bin/sleep 5 . Смотрите этот пост на reddit.
Решение проблем
Если у вас возникают проблемы во время загрузки, вы можете временно отключить Plymouth с помощью следующих параметров ядра:
plymouth.enable=0 disablehooks=plymouth
Для записи отладочных сообщений в /var/log/plymouth-debug.log добавьте параметр ядра: