Bug 38710

Summary: plymouth включает тему "три точки"
Product: Sisyphus Reporter: Sergey V Turchin <zerg>
Component: plymouthAssignee: Олег Соловьев <mcpain>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, arbich, kernelbot, legion, mcpain, shaba, vercha, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=44297
https://bugzilla.altlinux.org/show_bug.cgi?id=39326
Attachments:
Description Flags
Разница в конфиге ядер
none
lspci -nn none

Description Sergey V Turchin 2020-07-14 14:33:46 MSK
Created attachment 8869 [details]
Разница в конфиге ядер

На нашем ядре plymouth упорно не хочет включать нормальную тему.
С ядром от Ubuntu, установленным в нашу систему всё ок.
Comment 1 Sergey V Turchin 2020-07-14 14:38:31 MSK
Created attachment 8870 [details]
lspci -nn
Comment 2 Sergey V Turchin 2020-07-14 14:42:41 MSK
Видео Intel HD Graphics 630 [8086:5912]
Comment 3 Michael Shigorin 2020-07-15 18:45:38 MSK
Насколько смутно припоминаю свою возню с plymouth и initrd, дело может быть или в drm в ядре, или в содержимом initrd...

Возможно, что-то подскажут Алексеи или Антон (хотя тоже не факт).
Comment 4 Sergey V Turchin 2020-07-16 09:59:36 MSK
(Ответ для Michael Shigorin на комментарий #3)
> Насколько смутно припоминаю свою возню с plymouth и initrd, дело может быть
> или в drm в ядре, или в содержимом initrd...
Я взял ядро убунты, положил в нашу систему, сделал make-initrd, перезагрузился и повесил этот баг.
Comment 5 Sergey V Turchin 2020-07-16 10:00:49 MSK
> сделал make-initrd,
install-kernel, соответственно.
Comment 6 Sergey V Turchin 2020-12-16 15:20:25 MSK
*** Bug 39449 has been marked as a duplicate of this bug. ***
Comment 7 Антон Мидюков 2020-12-17 19:36:22 MSK
У меня в стартеркитах такой проблемы нет.

Я знаю только следующие причины:
1 Внутри initrd.img неправильно выставлена тема в конфиге /etc/plymouth/plymouthd.conf
2 Прописанной в конфиге /etc/plymouth/plymouthd.conf темы нет внутри initrd.img в /usr/share/plymouth/themes/
3 Нет drm модуля ядра в initrd.img
Comment 8 Sergey V Turchin 2020-12-18 10:00:04 MSK
(Ответ для Антон Мидюков на комментарий #7)
> У меня в стартеркитах такой проблемы нет.
Тогда почему она решается лишь сменой ядра? (inird генерится нашим make-initrd в обоих случаях).
Comment 9 Антон Мидюков 2020-12-18 10:01:56 MSK
(Ответ для Sergey V Turchin на комментарий #8)
> (Ответ для Антон Мидюков на комментарий #7)
> > У меня в стартеркитах такой проблемы нет.
> Тогда почему она решается лишь сменой ядра? (inird генерится нашим
> make-initrd в обоих случаях).

Воспроизведите тогда на стартерките. Может мне с железом повезло.
Comment 10 Sergey V Turchin 2021-01-11 14:47:55 MSK
*** Bug 39511 has been marked as a duplicate of this bug. ***
Comment 11 Sergey V Turchin 2021-02-16 17:11:50 MSK
> Может мне с железом повезло.
Однозначно повезло.
Comment 12 Sergey V Turchin 2021-02-20 17:27:58 MSK
Попробовал alt-p9-kde5-20201212-x86_64.iso -- не воспроизвелось.
Из-за чего может быть облом и включение дефолтной трёхточечной темы?
Почему на убунтовом ядре работает?
Comment 13 Антон Мидюков 2021-02-20 17:32:10 MSK
(Ответ для Sergey V Turchin на комментарий #12)
> Попробовал alt-p9-kde5-20201212-x86_64.iso -- не воспроизвелось.

а у kworkstation, собранной из mkimage-profiles последней версии воспроизводится?

> Из-за чего может быть облом и включение дефолтной трёхточечной темы?

у меня новых версий нет

> Почему на убунтовом ядре работает?

Так может у них что-то вкомпилено в ядро?
Comment 14 Sergey V Turchin 2021-02-20 17:58:31 MSK
(Ответ для Антон Мидюков на комментарий #13)
> а у kworkstation, собранной из mkimage-profiles последней версии
> воспроизводится?
До релиза K-9.1 обновляться рисковать не буду.
Comment 15 Sergey V Turchin 2021-02-20 17:59:25 MSK
> Так может у них что-то вкомпилено в ядро?
Я прикрепил diff конфигов, он сам не вижу, что бы могло быть.
Comment 16 Антон Мидюков 2021-02-20 18:05:07 MSK
(Ответ для Sergey V Turchin на комментарий #14)
> (Ответ для Антон Мидюков на комментарий #13)
> > а у kworkstation, собранной из mkimage-profiles последней версии
> > воспроизводится?
> До релиза K-9.1 обновляться рисковать не буду.

Обновляться и не надо. Нужно собрать и определить, есть проблема или нет. Стоит сравнивать конфиги или нет.
Comment 17 Sergey V Turchin 2021-02-20 18:08:34 MSK
> Нужно собрать и определить, есть проблема или нет.
Хорошо, но уже после релиза K-9.1, т.к. он уже прям вот.
Comment 18 Sergey V Turchin 2022-07-29 14:20:38 MSK
Я сам уже давно не встречал проблему. Только в в VirtualBox, но там хз-какая видеокарта.
Comment 19 Антон Мидюков 2022-08-20 18:03:57 MSK
(Ответ для Sergey V Turchin на комментарий #18)
> Я сам уже давно не встречал проблему. Только в в VirtualBox, но там хз-какая
> видеокарта.

Я в virtualbox не встречал. Видеокарта либо vboxvga (модуль ядра vboxvideo.ko), либо vmsvga (модуль vmwgfx.ko).
Comment 20 Антон Мидюков 2022-08-23 05:08:20 MSK
В телеграм-группе Альта у пользователя была проблема на Intel HD2000 (Sandy Bridge) была проблема такая. Помогло добавление предварительной загрузки модуля ядра i915. Добавление в /etc/initrd.mk строчки:
MODULES_PRELOAD += i915
с последующим make-initrd и пеерзагрузкой.
Этот же пользователь сообщил о проблеме с Nvidia, используется проприетарный 390.147

Как там у Nvidia то? framebuffer'а же нет для kms? Да и kms должен быть выключен по дефолту? Framebuffer, который предоставляется Legacy BIOS (vesa), plymouth совершенно не устраивает. Так что интересно, почему в Legacy BIOS с проприетарным Nvidia у кого-то могут не наблюдаться "три точки".
Comment 21 Sergey V Turchin 2022-08-23 11:19:13 MSK
(Ответ для Антон Мидюков на комментарий #20)
> Как там у Nvidia то?
Когда я проверял, до загрузки nvidia модуля ядра с Убунтовским ядром работало, а с нашим нет. И это было на Intel. ;-)

> framebuffer'а же нет для kms?
framebuffer обычный, т.к. nvidia грузится позже.

> Да и kms должен быть выключен по дефолту?
Да, но только для нашей переключалки драйвера, иначе потом его не перезагрузишь(надо проверить, кстати).

На NVIDIA у меня на одной машине на p10 plymouth перестал показываться с какого-то момента после установки. На остальных у меня NVIDIA дополнительной картой к Intel.

P.S.
Кстати, "Nvidia" не бывает. Раньше было "nVidia", сейчас "NVIDIA". "nvidia" я обычно использую для модуля ядра.
Comment 22 Антон Мидюков 2022-08-23 12:00:09 MSK
(Ответ для Sergey V Turchin на комментарий #21)
> (Ответ для Антон Мидюков на комментарий #20)
> > Как там у Nvidia то?
> Когда я проверял, до загрузки nvidia модуля ядра с Убунтовским ядром
> работало, а с нашим нет. И это было на Intel. ;-)
> 
> > framebuffer'а же нет для kms?
> framebuffer обычный, т.к. nvidia грузится позже.
> 

А обычный - это какой? В моём понимании это fb_simple, fb_efi, fb_vesa для ядра < 5.18, и simpledrm для >=5.18. Все они используют то, что предоставил BIOS.

plymouth в моих экспериментах работал без drm только с simpledrm в режиме EFI. На legacy были три точки. Но, возможно, это от BIOS зависит.

> > Да и kms должен быть выключен по дефолту?
> Да, но только для нашей переключалки драйвера, иначе потом его не
> перезагрузишь(надо проверить, кстати).
> 

Ну т.е. если только NVIDIA, то plymouth имеет дело с тем, что BIOS предоставил.

> На NVIDIA у меня на одной машине на p10 plymouth перестал показываться с
> какого-то момента после установки. На остальных у меня NVIDIA дополнительной
> картой к Intel.

А на этой машине Legacy или UEFI?

> 
> P.S.
> Кстати, "Nvidia" не бывает. Раньше было "nVidia", сейчас "NVIDIA". "nvidia"
> я обычно использую для модуля ядра.

буду знать :-)
Comment 23 Sergey V Turchin 2022-08-23 12:09:12 MSK
(Ответ для Антон Мидюков на комментарий #22)
> > > framebuffer'а же нет для kms?
> > framebuffer обычный, т.к. nvidia грузится позже.
> А обычный - это какой?
Какой смог, видимо. Как посмотреть?

[...]
> > На NVIDIA у меня на одной машине на p10 plymouth перестал показываться с
> > какого-то момента после установки. На остальных у меня NVIDIA дополнительной
> > картой к Intel.
> А на этой машине Legacy или UEFI?
EFI. Относительно новый комп.
Comment 24 Антон Мидюков 2022-08-23 12:35:36 MSK
(Ответ для Sergey V Turchin на комментарий #23)
> (Ответ для Антон Мидюков на комментарий #22)
> > > > framebuffer'а же нет для kms?
> > > framebuffer обычный, т.к. nvidia грузится позже.
> > А обычный - это какой?
> Какой смог, видимо. Как посмотреть?
> 

Свидетельством того, что уже используется что-то другое является мерцание экрана с переключением, как правило в большее разрешение. А чтобы точно быть уверенным, надо ядру передать параметр rdshell и в загрузившемся initrd-шелле посмотреть, какие модули ядра загружены. Ничего с drm и kms связанного быть не должно.
Может понадобиться добавить в initrd модули ядра для того, чтобы работала клавиатура. Для этого добавить в /etc/initrd.mk (из https://www.altlinux.org/Make-initrd):

RESCUE_MODULES += usbhid ehci_hcd hid_generic evdev ehci_pci ipmi_si

> [...]
> > > На NVIDIA у меня на одной машине на p10 plymouth перестал показываться с
> > > какого-то момента после установки. На остальных у меня NVIDIA дополнительной
> > > картой к Intel.
> > А на этой машине Legacy или UEFI?
> EFI. Относительно новый комп.

А ядро 5.18 не проверял? Там simpledrm на EFI должен с plymouth справиться.
Comment 25 Антон Мидюков 2022-08-23 12:36:58 MSK
Надо plymouth только выключить ещё, так как он после rdshell стартанёт и собой всё закроет.
Comment 26 Антон Мидюков 2022-08-23 12:49:39 MSK
(Ответ для Антон Мидюков на комментарий #25)
> Надо plymouth только выключить ещё, так как он после rdshell стартанёт и
> собой всё закроет.

В cmdline ядра указать nosplash в смысле. Фичу plymouth если убрать, то ничего drm-ного в initrd не будет.
Comment 27 Sergey V Turchin 2022-08-23 13:08:20 MSK
(Ответ для Антон Мидюков на комментарий #24)
> > Какой смог, видимо. Как посмотреть?
> Свидетельством того, что уже используется что-то другое является мерцание
> экрана с переключением,
По ssh этого не видно. Не припомню мерцаний.

> А ядро 5.18 не проверял? Там simpledrm на EFI должен с plymouth справиться.
Нет. Вечером гляну, если не забуду.
Comment 28 Антон Мидюков 2022-08-23 13:11:52 MSK
(Ответ для Sergey V Turchin на комментарий #27)
> (Ответ для Антон Мидюков на комментарий #24)
> > > Какой смог, видимо. Как посмотреть?
> > Свидетельством того, что уже используется что-то другое является мерцание
> > экрана с переключением,
> По ssh этого не видно. Не припомню мерцаний.
> 

А как по ssh это увидеть? Только в живую на мониторе.
Comment 29 Sergey V Turchin 2022-08-23 14:46:17 MSK
(Ответ для Антон Мидюков на комментарий #28)
> А как по ssh это увидеть?
Не знаю. dmesg или ещё где-то.
Comment 30 Sergey V Turchin 2022-08-23 20:20:21 MSK
(Ответ для Антон Мидюков на комментарий #24)
> А ядро 5.18 не проверял?
О! Ништяк, работает! На 5.15 нет.
Comment 31 Антон Мидюков 2022-08-24 09:04:29 MSK
(Ответ для Sergey V Turchin на комментарий #30)
> (Ответ для Антон Мидюков на комментарий #24)
> > А ядро 5.18 не проверял?
> О! Ништяк, работает! На 5.15 нет.

Надо ещё рецепт проверить из  https://www.altlinux.org/Plymouth#Настройка_в_ALT_Linux :

"владельцы видеокарт, драйвера которых не поддерживают KMS (обычно это проприетарные NVIDIA) также должны добавить в строчку, указанную выше, корректный параметр видеорежима: vga=791 для 1024х768 или vga=788 для 800х600".
Comment 32 Антон Мидюков 2022-11-14 13:50:44 MSK
(Ответ для Антон Мидюков на комментарий #31)
> (Ответ для Sergey V Turchin на комментарий #30)
> > (Ответ для Антон Мидюков на комментарий #24)
> > > А ядро 5.18 не проверял?
> > О! Ништяк, работает! На 5.15 нет.
> 
> Надо ещё рецепт проверить из 
> https://www.altlinux.org/Plymouth#Настройка_в_ALT_Linux :
> 
> "владельцы видеокарт, драйвера которых не поддерживают KMS (обычно это
> проприетарные NVIDIA) также должны добавить в строчку, указанную выше,
> корректный параметр видеорежима: vga=791 для 1024х768 или vga=788 для
> 800х600".

В installer-feature-setup-plymouth в скрипте preinstall.d/90-setup-plymouth2 на этот счёт есть автоматика:
grep -q drm_kms_helper /proc/modules || \
	subst 's/\(LINUX_DEFAULT=.\)/\1vga=0x314 /' "$CONFIG"

Т.е. если бы в инсталяторе не было nouveau или же был проприетарный драйвер, разрешение 800x600 для fbdev добавилось бы автоматом. Если vga=0x314 будет помогать, то можно сделать какую-нибудь installer-feature-nvidia, которая будет добавлять этот параметр по нужному условию.
П.с.: Я думаю из этого скрипта эту автоматику убрать, так как у ядра un-def CONFIG_DRM_KMS_HELPER=y и drm_kms_helper в /proc/modules нет.
Comment 33 Sergey V Turchin 2022-11-14 14:01:41 MSK
Видимо, да. Можно уже закрывать баг.

> subst 's/\(LINUX_DEFAULT=.\)/\1vga=0x314 /' "$CONFIG"
По хорошему уже и 1024х768 маловато. Пусть лучше само расколбашивается, как в теперь в grub.
Comment 34 Антон Мидюков 2022-12-15 10:34:08 MSK
Надо обновить plymouth, там появился новый параметр для ядра plymouth.graphical, который судя по  описанию, решит данную проблему - три точки включаться не будут в случае отсутствия графического фреймбуфера.
https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/8b1669acb200c487f9205ed93ffe3da744946d97