Discussion:
kernel 6.8.4 Как запретить переключение во framebuffer после загрузки?
(слишком старое сообщение для ответа)
Rinat Sadretdinow
2024-04-07 13:32:18 UTC
Permalink
Hello All!

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

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

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

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

Bye!
Rinat Sadretdinow
2024-04-07 14:07:14 UTC
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
2024-04-07 19:59:08 UTC
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
2024-04-10 10:48:42 UTC
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
2024-05-11 15:13:49 UTC
Permalink
Hello, vadim s. sabinich.
On 07.04.2024 22:59 you wrote:

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

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

--
WBR, ON
Alexey Khromov
2024-04-07 16:59:40 UTC
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
2024-04-10 10:52:52 UTC
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
2024-08-16 16:23:34 UTC
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
2024-08-16 19:29:26 UTC
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
2024-08-16 22:09:08 UTC
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
2024-08-17 05:25:46 UTC
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
2024-08-17 09:12:27 UTC
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
2024-04-25 16:14:34 UTC
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...