Discussion:
kernel 6.8.4 Как запретить переключение во framebuffer после загрузки?
(слишком старое сообщение для ответа)
Rinat Sadretdinow
11 месяцев назад
Permalink
Hello All!

Собственно в $Subj и весь вопрос.

До этого был у меня 6.7.11, нормально. Установил 6.8.4, грузится нормально, в
нормальном видеорежиме, то есть в нормальном текстовом, но прям перед самым
запуском X переходит, сволочь, в режим framebuffer. И поэтому через некоторое
время у всех терминалов происходит снос башки, и у самих X происходит тоже снос
башки: терминалы показывают всё смещённое вправо на полэкрана, а X вообще
ничего не показывает, полностью. Лечится (временно) или полной перезагрузкой,
или (полностью) загрузкой в предыдущее ядро, в 6.7.11

Как запретить ядру 6.8.4 принудительно включать framebuffer по завершению
загрузки?

Гуголь не помог, не могу такого найти нигде.

Bye!
Rinat Sadretdinow
11 месяцев назад
Permalink
Hello All!

07 Apr 24 16:32, I wrote to you:

RS> Собственно в $Subj и весь вопрос.

RS> До этого был у меня 6.7.11, нормально. Установил 6.8.4, грузится
RS> нормально, в нормальном видеорежиме, то есть в нормальном текстовом,
RS> но прям перед самым запуском X переходит, сволочь, в режим
RS> framebuffer. И поэтому через некоторое время у всех терминалов
RS> происходит снос башки, и у самих X происходит тоже снос башки:
RS> терминалы показывают всё смещённое вправо на полэкрана, а X вообще
RS> ничего не показывает, полностью. Лечится (временно) или полной
RS> перезагрузкой, или (полностью) загрузкой в предыдущее ядро, в 6.7.11

RS> Как запретить ядру 6.8.4 принудительно включать framebuffer по
RS> завершению загрузки?

RS> Гуголь не помог, не могу такого найти нигде.

Да, `nomodeset` в командной строке не помогает, вернее помогает, framebuffer не
включается, но тогда у меня в X разрешение 640x480 и больше его никак не
выставить, `nofb` в командной строке ядра не помогает вообще, framebuffer как
включался, так и включается. И поэтому при `nofb` через некоторое время у всех
терминалов опять происходит снос башки, и у самих X происходит тоже снос башки:
терминалы показывают всё смещённое вправо на полэкрана, а X вообще ничего не
показывает, полностью.

Bye!
vadim s. sabinich
11 месяцев назад
Permalink
Sunday 07 April 2024 17:07:14, Rinat Sadretdinow --> All:

RS>> До этого был у меня 6.7.11, нормально. Установил 6.8.4, грузится
RS>> нормально, в нормальном видеорежиме, то есть в нормальном
...
RS>> (временно) или полной перезагрузкой, или (полностью) загрузкой в
RS>> предыдущее ядро, в 6.7.11


RS> Да, `nomodeset` в командной строке не помогает, вернее помогает,
RS> framebuffer не включается, но тогда у меня в X разрешение 640x480 и
...
RS> поэтому при `nofb` через некоторое время у всех терминалов опять
RS> происходит снос башки, и у самих X происходит тоже снос башки:
RS> терминалы показывают всё смещённое вправо на полэкрана, а X вообще
RS> ничего не показывает, полностью.
Привет! судя по тому, что ты написал, то варианты с grub ты уже начал пробовать
:)
Интернеты предложили 4 общих варианта решения (два ты уже попробовал)
vga=normal
nofb
nomodeset
video=vesafb:off

Я бы предложил более внимательно посмотреть на строки запуска прежнего ядра в
конфиге груба, чтобы сопоставить параметры.
И в случае неудачи двигаться в сторону различий самих ядер: с какими модулями
собрано, с какими параметрами


PS: с выходом меня из десятилетнего (почти) сна! :)
... mailto:***@sabini.ch
Rinat Sadretdinow
11 месяцев назад
Permalink
Hello vadim!

07 Apr 24 22:59, you wrote to me:

RS>> Да, `nomodeset` в командной строке не помогает, вернее помогает,
RS>> framebuffer не включается, но тогда у меня в X разрешение 640x480
RS>> и
vs> ...
vs> Привет! судя по тому, что ты написал, то варианты с grub ты уже начал
vs> пробовать :)

Ну да, вторым (сноска 1) делом попробовал через grub менять параметры в
коммандной строке ядра.

vs> Интернеты предложили 4 общих варианта решения (два ты уже
vs> попробовал) vga=normal nofb nomodeset video=vesafb:off

Что я нашёл в интернетах я уже все попробовал, все четыре.

Это не спасло смертельно раненго кота.

vs> Я бы предложил более внимательно посмотреть на строки запуска прежнего
vs> ядра в конфиге груба, чтобы сопоставить параметры. И в случае неудачи
vs> двигаться в сторону различий самих ядер: с какими модулями собрано, с
vs> какими параметрами

Сноска 1: это я уже смотрел как раз *первым* делом. Параметры *абсолютно*
одинаковые. После чего и начал менять параметры запуска ядра вторым уже делом.

vs> PS: с выходом меня из десятилетнего (почти) сна! :)

CONGRATULATIONS!

Bye!
Oleg Nazaroff
10 месяцев назад
Permalink
Hello, vadim s. sabinich.
On 07.04.2024 22:59 you wrote:

VS> PS: с выходом меня из десятилетнего (почти) сна! :) ...
VS> mailto:***@sabini.ch

Это чо ж - спящие красавцы просыпацца начали? ;)

--
WBR, ON
Alexey Khromov
11 месяцев назад
Permalink
Здраствуйте, Rinat!

07 апр 24 16:32, Rinat Sadretdinow -> All:

RS> Как запретить ядру 6.8.4 принудительно включать framebuffer по
RS> завершению загрузки?

Судя по описанию, иксы не смогли найти нативный драйвер видеокарты в модулях
6.8 и отдефолтились в фреймбуфер.
Подозреваю, что у тебя нивидиа. Загрузись под старым ядром, проверь установку
драйверов видеокарты и модуля конкретно под новое ядро.
Еще как вариант (если используется initrd) - в него не попал модуль kms опять
же от видеокарты.

Тут можно долго гадать на гуще, но лучше начать с базовых вопросов:
дистрибутив? железо?
Ну и раз ты можешь загрузиться нормально с предыдущим ядром, то journalctl -b1
покажет логи предыдущей загрузки (я склоняюсь к мысли, что у тебя systemd в
качестве init-процесса, но это ж не точно)

Alexey Khromov
Rinat Sadretdinow
11 месяцев назад
Permalink
Hello Alexey!

07 Apr 24 19:59, you wrote to me:

RS>> Как запретить ядру 6.8.4 принудительно включать framebuffer по
RS>> завершению загрузки?

AK> Судя по описанию, иксы не смогли найти нативный драйвер видеокарты в
AK> модулях 6.8 и отдефолтились в фреймбуфер. Подозреваю, что у тебя
AK> нивидиа.

Шаман! Ну шаман!

===
***@sys3175:~$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710]
(rev a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev
a1)
***@sys3175:~$
===

AK> Загрузись под старым ядром, проверь установку драйверов видеокарты и
AK> модуля конкретно под новое ядро.

На первый взгляд всё установилось именно под новое ядро.

Более того -- я не использую проприетарные драйвера с nvidia.org, только те,
которые идут в поставке самого дистрибутива. Так что тут никаких несоответствий
быть не может просто -- вместе с установкой нового ядрища через `dnf update` у
меня так же подтянулись и новый драйвера для nvidia, тоже от RedHat, не
проприетарные.

AK> Еще как вариант (если используется initrd) - в него не попал модуль
AK> kms опять же от видеокарты.

Посмотрю. На всякий случай. Но мне кажется что вряд ли.

AK> Тут можно долго гадать на гуще, но лучше начать с базовых вопросов:
AK> дистрибутив?

Fedora 39

AK> железо?

Ну про nvidia я выше уже сказал. Одно из дешёвейших из дешёвейших.

AK> Ну и раз ты можешь загрузиться нормально с предыдущим ядром, то
AK> journalctl -b1 покажет логи предыдущей загрузки
AK> (я склоняюсь к мысли, что у тебя systemd в качестве init-процесса, но
AK> это ж не точно)

Да, у меня именно systemd. Но что такого конкретного я увижу по `journalctl
-b1` я не понмаю честно говоря.

В общем жду 23 апреля, когда выйдёт Fedora #40, на неё проапрейдюсь с нынешней
Fedora #39 и буду смотреть дальше. И тыркаться пока что-нибудь не получится.

А пока что про ядро 6.8.4 решил забыть, сижу как раньше на 6.7.11, с ним всё
нормально и боюсь -- вдруг на Fedora #40 у меня уже всё конкретно перестанет
работать? То есть как я говорил -- полчаса работает, а дальше всё, "Фигвам,
индейское жилище такое! (C)"

Bye!
Rinat Sadretdinow
7 месяцев назад
Permalink
Hello Alexey!

07 Apr 24 19:59, you wrote to me:

Возвращаюсь опять к весеннему треду. Теперь практически то же самое с ядром
6.10, только оно не сразу же при загрузке переходит в VESA, а грузится
нормально, но как только доходит до включения графического режима, так сразу же
падает в VESA, после этого всё работает минут 30-40, затем начинаются экранные
артефакты. Причём артефакты конкретные -- не просто показывает абсолютный бред,
но при этом никакие меню не показывает, соотстветсовенно ни logoff сделать, ни
restart, ни shutdown. Лечится ctrl-alt-f2 в текстовую консоль, там логин как
root и прибитие Xorg. Следующие минут 30-40 опять работает всё нормально, затем
опять артефакты.

RS>> Как запретить ядру 6.8.4 принудительно включать framebuffer по
RS>> завершению загрузки?

AK> Судя по описанию, иксы не смогли найти нативный драйвер видеокарты в
AK> модулях 6.8 и отдефолтились в фреймбуфер.

Именно так!

AK> Подозреваю, что у тебя нивидиа.

Именно так!

В прошлый раз всё вылечилось само и я не стал заморачиваться почему и как, но
сейчас после очередного обновления 6.10.3 на 6.10.4 само не вылечилось, а
сидеть на 6.9.12 мне остаётся уже недолго: следующее обновление установит
какой-нибудь 6.10.5 и всё. Можно, конечно, отредактировать /etc/dnf/dnf.conf,
увеличить там installonly_limit чтобы количество установленных ядер было не 3,
а побольше, можно вообще запретить апгрейд пакетов kernel*, но это как-то
неспортивно, в духе "Получил BSOD? Поможет переустановка Windows!".

AK> Загрузись под старым ядром, проверь установку драйверов видеокарты и
AK> модуля конкретно под новое ядро.

Вот их как раз и не было. Вообще. Модули были только для 6.9.12. После более
обстоятельного и гораздо более целенаправленного и глубокого гугления выяснил
что необходимое мне лежит в

kmod-nvidia-470xx-6.10.4-200.fc40.x86_64-470.256.02-3.fc40.x86_64.rpm

но у меня при `dnf update` оно не устанавливалось, а как было

kmod-nvidia-470xx-6.9.12-200.fc40.x86_64-470.256.02-1.fc40.x86_64.rpm

для ядра 6.9.12, так и оставалось. Вылечилось включением репозитория
rpmfusion-nonfree-updates-testing, который у меня до этого был выключен
("testing же!" -- подумал я в своё время и не стал его разрешать) и был включен
просто rpmfusion-nonfree-updates, без "testing". И сразу же `dnf update`
установил мне необходимые модули nvidia для ядра 6.10.4 и пришло в мой дом
ЩАСТЬЕ!

Непонятно только почему эти модули лежат до сих пор в репозитории testing, хотя
ядра 6.10.x уже недели две как по апдейту приходят в основном update, а не в
testing.

Bye!
Alexey Khromov
7 месяцев назад
Permalink
Здраствуйте, Rinat!

16 авг 24 19:23, Rinat Sadretdinow -> Alexey Khromov:

RS> 07 Apr 24 19:59, you wrote to me:
RS> Возвращаюсь опять к весеннему треду. Теперь практически то же самое с
RS> ядром 6.10, только оно не сразу же при загрузке переходит в VESA, а
RS> грузится нормально, но как только доходит до включения графического
RS> режима, так сразу же падает в VESA, после этого всё работает минут

тут уже смотри в Xorg.log.0

RS> 30-40, затем начинаются экранные артефакты. Причём артефакты

Железо бы проверить. На бублике, а бублик под мастдаем(

...

RS> Непонятно только почему эти модули лежат до сих пор в репозитории
RS> testing, хотя ядра 6.10.x уже недели две как по апдейту приходят в
RS> основном update, а не в testing.

Потому что нестабильные. Ядро стабильное, часть модулей - нет. Боль на Nvidia.
Но Хуанг говорит, скоро все закончится и линуксойды обретут новый, открытый и
дефолтный модуль вместо текущего. Прям как amdgpu, но от нивидии (то есть
открытый будет содержать *почти* все, но все равно для игрулек надо будет
ставить проприетарный блобик)

Alexey Khromov
Oleg Nazaroff
7 месяцев назад
Permalink
Hello, Alexey Khromov.
On 16.08.2024 22:29 you wrote:

AK> тут уже смотри в Xorg.log.0 Железо бы проверить. На бублике, а бублик под
AK> мастдаем(

Чой-та? ;) И под линуксёй уже есть: https://pingvinus.ru/program/furmark


--
WBR, ON
Rinat Sadretdinow
7 месяцев назад
Permalink
Hello Alexey!

16 Aug 24 22:29, you wrote to me:

RS>> Возвращаюсь опять к весеннему треду. Теперь практически то же
RS>> самое с ядром 6.10, только оно не сразу же при загрузке переходит
RS>> в VESA, а грузится нормально, но как только доходит до включения
RS>> графического режима, так сразу же падает в VESA, после этого всё
RS>> работает минут

AK> тут уже смотри в Xorg.log.0

Не, Xorg.log тут был бы вообще бесполезен, просто физически *не* *было* модуля
nvidia для текущего ядра 6.10.4, был только для 6.9.12.

RS>> 30-40, затем начинаются экранные артефакты. Причём артефакты

AK> Железо бы проверить. На бублике, а бублик под мастдаем(

С железом всё нормально, драйвера для nvidia самого не было. Физически. Сервис
systemd nvidia-fallback.service проверял его наличие. Проверял очень просто:
если выполнялось "ConditionPathExists=!/sys/module/nvidia", а если модуль
nvidia не загружен, то никакой директории "/sys/module/nvidia" нет, значит
условие выполнялось, то просто плевал в системный лог "NVIDIA kernel module
missing. Falling back to nouveau" и тупо делал `/sbin/modprobe nouveau`.

А вот nouveau как раз написан так "хорошо", что работал 30-40 минут, а после
ему плохело и он начинал исполнять кордебалет на экране.

Установил драйвер/модуль nvidia именно для текущего ядра, для 6.10.4, и всё
стало пучком.

RS>> Непонятно только почему эти модули лежат до сих пор в репозитории
RS>> testing, хотя ядра 6.10.x уже недели две как по апдейту приходят
RS>> в основном update, а не в testing.

AK> Потому что нестабильные. Ядро стабильное, часть модулей - нет. Боль на
AK> Nvidia.

Это да, с nvidia постоянно какие-то пляски с бубном. Я уж хотел грешным делом
проприетарные драйвера попробовать установить раз родных из дистрибутива нету.
Но, хвала Иегове, нашёл что надо в updates-testing.

AK> Но Хуанг говорит, скоро все закончится и линуксойды обретут
AK> новый, открытый и дефолтный модуль вместо текущего.

Ну подождём, посмотрим. А я пока что репозиторий updates-testing запрещать не
буду.

AK> Прям как amdgpu, но от нивидии (то есть открытый будет содержать
AK> *почти* все, но все равно для игрулек надо будет ставить проприетарный
AK> блобик)

Вот игрульки меня совершенно не волнуют года эдак с 1992-1993, поэтому что там
происходит с игрульками мне абсолютно по барабану.

Bye!
Oleg Nazaroff
7 месяцев назад
Permalink
Hello, Rinat Sadretdinow.
On 17.08.2024 08:25 you wrote:

RS> Hello Alexey! 16 Aug 24 22:29, you wrote to me: Не, Xorg.log тут был бы
RS> вообще бесполезен,
RS> просто физически *не* *было* модуля nvidia для текущего ядра 6.10.4, был
RS> только для 6.9.12. С
RS> железом всё нормально, драйвера для nvidia самого не было. Физически.
RS> Сервис systemd
RS> nvidia-fallback.service проверял его наличие. Проверял очень просто: если
RS> выполнялось
RS> "ConditionPathExists=!/sys/module/nvidia", а если модуль nvidia не
RS> загружен, то никакой
RS> директории "/sys/module/nvidia" нет, значит условие выполнялось, то просто
RS> плевал в системный
RS> лог "NVIDIA kernel module missing. Falling back to nouveau" и тупо делал
RS> `/sbin/modprobe
RS> nouveau`.

У меня вот физически так и нет модуля для радеона, потому что его не существует
в природе и заменить его вроде как нечем, но срыв происходит не глобально, а
только в прогах для GNOME и то периодами..


--
WBR, ON

Rinat Sadretdinow
11 месяцев назад
Permalink
Hello All!

07 Apr 24 16:32, I wrote to you:

RS> Собственно в $Subj и весь вопрос.

[...]

RS> Как запретить ядру 6.8.4 принудительно включать framebuffer по
RS> завершению загрузки?

После апгрейда Fedora 39 до Fedora 40 эта дурацкая проблема разрешилась сама
собой, во фреймбуфер больше никто не переходит. Правда тут ядро не 6.8.4, а уже
6.8.7.

Bye!
Loading...