Переключение между nvidia-current и nouveau без перезагрузки?

22

Можно ли переключаться между видеодрайверами Nvidia BLOB и Nouveau на лету?

Думаю, мне нужно уметь:

  1. [✓] Выгрузить nvidia
  2. [✓] Unload nouveau
  3. [✕] Восстановить консоль после разгрузки nouveau *
  4. [✓] Обмен файлами xorg.conf
  5. [✓] Позаботьтесь о черном списке
  6. [✓] Сделка с libglx.so

*) После небольшого разговора с парнями в #nouveau это кажется трудным или даже невозможным с текущей настройкой Ubuntu (встроенный vesafb). Я пытаюсь заставить его работать с uvesafb, но теперь скрипты в ответе делают то, что я искал.

    
задан htorque 11.12.2010 в 21:09
источник

3 ответа

10

Теперь у меня есть два сценария, которые переключают драйверы, xorg.conf, заботятся о черном списке и libglx, поэтому ответ таков: да, это возможно.

Blacklisting работает с одним файлом в /etc/modprobe.d/ , содержащем либо blacklist nvidia , либо blacklist nouveau . Я также заменил /lib/nvidia-current/modprobe.conf на манекен, иначе драйвер nvidia всегда создавал бы ссылку в /etc/modprobe.d/ , что и blacklists nouveau.

Переход в нуль:

 #!/bin/bash
 stop gdm

 rmmod nvidia

 sed -i "s/nouveau/nvidia/" /etc/modprobe.d/blacklist-nvidia-nouveau.conf

 update-alternatives --set gl_conf /usr/lib/mesa/ld.so.conf
 ldconfig

 modprobe nouveau

 cp /etc/X11/xorg.conf{.nouveau,}

 start gdm

После выполнения этого, у меня есть nouveau и рабочая консоль (nouveaufb).

Переключиться на nvidia:

#!/bin/bash
stop gdm

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau
rmmod ttm
rmmod drm_kms_helper
rmmod drm

sed -i "s/nvidia/nouveau/" /etc/modprobe.d/blacklist-nvidia-nouveau.conf

update-alternatives --set gl_conf /usr/lib/nvidia-current/ld.so.conf
ldconfig

modprobe nvidia-current

cp /etc/X11/xorg.conf{.nvidia,}

start gdm

→ Драйвер Nvidia работает, только проблема: после разгрузки драйвера nouveau консоль непригодна. Мне нужен способ сбросить его или загрузить другой фреймбуфер, но поскольку vesafb скомпилирован в ядро, я не знаю, что делать.

    
ответ дан htorque 12.12.2010 в 11:33
источник
0

Я не считаю, что это возможно, не только параметр режима ядра nouvou, но и nvidia, но драйвер nvidia использует взломанную библиотеку xorg, которая даже использует ту же установку на машине, которая требует intel драйвер проблемы. (см. ошибки и вопросы элементов вверх ногами)

    
ответ дан Martin Owens -doctormo- 12.12.2010 в 04:59
0

Ссылка предлагает запустить /etc/init.d/consolefont restart после rmmod- nouevau для восстановления текстового режима. Обратите внимание, что он был переименован в консольный шрифт в более поздних системах, а в Ubuntu 13.10 он вообще не может быть вызван таким образом, но вот так: перезапуск службы консоли -

Кроме того, он не работает всегда. В некоторых случаях запуск X ( service lightdm start - или любой другой DM, который вы используете) начнет режим gfx, а также даст рабочий текстовый режим при переключении на vt1 ( ctrl-alt-f1 ).

(я использую это, чтобы установить драйвер nvidia в сеанс Live CD)

    
ответ дан David Balažic 24.11.2013 в 20:06