LINUX.ORG.RU

Выгрузить nouveau и восстановить текстовый VGA-режим

 ,


0

2

С драйвером nouveau GPU лочится при перезагрузке и вешает ядро.

Можно передать параметр ядру nouveau.modeset=0, но тогда nouveau вообще не загрузится и иксы будут работать с VESA-драйвером.

Можно поставить проприетарные драйвера, с ними таких проблем нет. Но я хотел бы остаться на nouveau и по-прежнему мочь перезагружать систему.

Попробовал делать как описано в https://nouveau.freedesktop.org/wiki/KernelModeSetting/, а именно:

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau

Драйвер, конечно, выгружается и при этом изображение с монитора пропадает (вообще пропадает сигнал с кабеля и монитор засыпает). Хотелось бы вернуться в текстовый VGA-режим. На echo 1 > /sys/class/vtconsole/vtcon0/bind — 0 реакции. Монитор не видит сигнала на кабеле.

Пробовал делать как описано в https://www.kernel.org/doc/Documentation/fb/fbcon.txt, а именно сохранить состояние VGA (vbetool vbestate save) и восстановить его:

vbetool vbestate restore < <vga state file> 
echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau

После выполнения первой команды режим меняется, но, похоже, не на текстовый VGA, т.к. я вижу какой-то мусор из пикселей в верхней части экрана и всё. rmmod nouveau вообще уходит в D-state.

Ответ на: комментарий от intelfx

Есть подозрение что задача вообще не выполнима простыми средствами. Пропадание сигнала на кабеле после rmmod nouveau, видимо, означает, что драйвер вообще отключил видеокарту. Следовательно, нужно её как-то включить и инициализировать так, как это делает машина при загрузке.

utf8nowhere ★★ ()

nvidia, fuck you!

Удовлетворился тем, что выполняю

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau
при ребуте.

При выполнении systemctl restart console-setup в dmesg пишется, что switching to VGA 40x25, но это внешне не заметно, вне зависимости от того, когда выполняется команда: до выгрузки модуля (на экране застывшая картинка, vt не переключаются, но в /sys/class/vtconsole/vtcon0/bind — единица) или после (монитор не видит сигнала на кабеле).

utf8nowhere ★★ ()
Последнее исправление: utf8nowhere (всего исправлений: 1)