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

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

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

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

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

У меня теперь есть два сценария, которые переключают драйверы, 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 скомпилирован в ядро, я не знаю, что делать.

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

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

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

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