В Ubuntu 18.04.2 я хотел бы показать согласованное фоновое изображение от начала Grub2 до появления экрана входа в GDM.
Я настроил тему plymouth ubuntu-logo, чтобы показать желаемое фоновое изображение. Все необходимые процедуры, описанные @Jake , были выполнены и протестированы. Даже тестовая процедура, описанная @Jake, была выполнена. Однако тема Плимута просто не появляется. Между этапами входа в Grub2 и GDM я все еще сталкиваюсь с 6-7 секундами черного экрана при каждой загрузке системы.
Что я могу сделать, чтобы обнаружить проблемы с этим черным экраном? Как мне исправить эту проблему с отсутствующим экраном-заставкой? В системе используется драйвер NVidea версии: 418.56.
Примечание: система может загрузиться и войти в систему с экрана входа в GDM.
Обновление 1:
Я внес следующие поправки, чтобы попытаться решить мою проблему:
Я добавил следующие команды в файл Grub2 по умолчанию / etc / defaults / grub
:
GRUB_GFXMODE = 1920x1080x32
GRUB_GFXPAYLOAD_LINUX = "keep"
Согласно GRUB_GFXPAYLOAD_LINUX
, значение "keep"
сохраняет графический режим, установленный с использованием GRUB_GFXMODE
при загрузке ядра Linux.
Разрешение 1920x1080x32
было выбрано для GRUB_GFXMODE
, потому что это было самое высокое разрешение, доступное в видеодрайвере, обнаруженном Grub2, который был драйвером EFI GOP .
Чтобы получить доступные разрешения, обнаруженные Grub2, в меню Grub2 во время фазы загрузки я нажал клавишу «c» на клавиатуре. Затем в приглашении grub> я ввел команду videoinfo
(см. Ниже Videoinfo ); команда vbeinfo
не существует в Grub2.
Я создал файл заставки для включения FRAMEBUFFER с помощью этой команды терминала:
echo FRAMEBUFFER = y | sudo tee /etc/initramfs-tools/conf.d/splash
Поскольку задействовано изображение-заставка, я выполнил поправки, описанные в разделе Настройки конфигурации (присутствует изображение-заставка) в этом ] Ubuntu wiki .
Выполнить команды терминала: sudo update-initramfs -u
и sudo update-grub
Видеоинфо:
grub> videoinfo
List of supported video modes:
Legend: mask/position=red,green,blue,reserved
Adapter 'Bochs PCI Video Driver':
No info available
Adapter 'Cirruls CLGD 5446 PCI Video Driver':
No info available
Adapter 'EFI GOP Driver':
* 0x000 1920 x 1080 x 32 (7680) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x001 640 x 480 x 32 (2560) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x002 800 x 600 x 32 (3200) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x003 1024 x 768 x 32 (3200) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x004 1280 x 800 x 32 (5120) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x005 1280 x 1024 x 32 (5120) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x006 1440 x 900 x 32 (5760) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x007 1400 x 1050 x 32 (5600) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
0x008 1680 x 1050 x 32 (6720) Direct color, mask: 8/8/8/8 pos: 16/8/0/24
EDID version: 1.3
Preferred mode: 1920x1080
grub>
Проблема:
Во время моих многочисленных проверок перезагрузок, хорошая новость в том, что теперь я могу видеть всплеск плимута, который я реализовал. Однако плохая новость заключается в том, что всплеск plymouth длится не до тех пор, пока не появится экран входа в GDM; заставка по-прежнему продолжается сначала черным текстовым экраном (см. изображения ниже при первой перезагрузке и последующих перезагрузках), а затем следует полный черный экран, прежде чем появится экран входа в GDM. Появляется примерно на 5–10 секунд.Кроме того, после внесения описанных выше поправок при первой перезагрузке брызги плимута появлялись дольше всех. При моей 2-й и последующих перезагрузках вид всплеска уменьшился. Странно ...
1-я перезагрузка (слева) и Последующие перезагрузки (справа) :
Вопрос: Как мне избежать / преодолеть этот черный текстовый экран и черный пустой экран, который появляется между этапами plymouth-splash и gdm-login? Есть ли еще один этап в последовательности загрузки для реализации фонового изображения, о котором я не позаботился? Пока я знаю только о необходимости помещать фоновое изображение на этапах grub, plymouth и gdm, и я выполнил эти настройки.
Обновление 2:
Я хотел бы поделиться здесь своими выводами, полученными при использовании GRUB_GFXPAYLOAD_LINUX = "keep"
, и когда я дал команду Grub2 обработать ядро Linux со следующими значениями: ro
, ro splash
, ro nomodeset
, ro тихий
, ro тихий всплеск
, ro тихий всплеск
, ] $ vt_handoff
и ro splash $ vt_handoff
. Для каждого случая я записывал события загрузки с момента после того, как я нажал F10 в среде Grubmenu-> press-key- "e", до появления экрана входа в GDM, и я провел то же измерение видео. трижды. Разрешение сообщаемых таймингов составляет 1 секунду. Указанные сроки ограничены производительностью внутреннего 2,5-дюймового жесткого диска SATA3 Seagate Firecuda и не применимы к ОС, установленной на SSD.
Краткое изложение моих измерений приводится здесь.
График их совокупного времени показан ниже. Обратите внимание: когда кривая между двумя событиями является горизонтальной, это означает, что событие слева не произошло.
Ключевые выводы:
$ vt_handoff
позволило непрерывно отображать фоновое изображение Grub от этапа меню Grub до этапа Plymouth Splash. ro splash $ vt_handoff
и ro quiet splash $ vt_handoff
аналогична, за исключением того, что первое может быть немного быстрее (в моем случае это было на 1 секунду быстрее) чем последний. ro
или ro splash $ vt_handoff
. Последний наиболее подходит, когда необходимо отобразить фоновое изображение. Комментарии:
Моя установка в настоящее время все еще страдает 2 явлениями.
тихий
. Я подозреваю, что эти две проблемы как-то связаны со связью между драйвером Nvidia и Grub или проблемами синхронизации при переходе между различными виртуальными экранами. Может ли кто-нибудь, кто знаком с этими явлениями, посоветовать мне, как их преодолеть / исследовать? Спасибо.
Добавление параметра ядра loglevel=3
устранило появление бутлога для меня. Возможно, вам придется уменьшить значение loglevel в зависимости от конкретной проблемы, с которой вы столкнулись. Увы, это ничего не сделает для пустого экрана.