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

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

Я думаю, что мне нужно:

  1. [& # x2713; ] Выгрузить nvidia
  2. [& # x2713;] Выгрузить nouveau
  3. [& # x2715;] Восстановить консоль после выгрузки nouveau *
  4. [& # x2713;] Swap xorg .conf files
  5. [& # x2713;] Позаботьтесь о черных списках
  6. [& # x2713;] Сделайте с libglx.so

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

24
задан 12 December 2010 в 17:02

3 ответа

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

0
ответ дан 12 December 2010 в 17:02

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

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

Переключиться на 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

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

0
ответ дан 12 December 2010 в 17:02

http://nouveau.freedesktop.org/wiki/KernelModeSetting/ предлагает запустить /etc/init.d/consolefont restart после rmmod-ing nouevau для восстановления текстового режима , Обратите внимание, что он был переименован в console-font на более поздних системах, и в Ubuntu 13.10 его нельзя назвать таким образом, но вот так: service console-font restart

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

(я использую это для установки драйвера nvidia в сеанс live CD)

0
ответ дан 12 December 2010 в 17:02

Другие вопросы по тегам:

Похожие вопросы: