Перемикатися між nvidia-current і nouveau без перезавантаження?


24

Чи можливо перемикатися між відео-драйверами BLOB Nvidia та Nouveau на ходу?

Я думаю, що мені потрібно вміти:

  1. [✓] Вивантажте nvidia
  2. [✓] Вивантажте модерн
  3. [✕] Відновлення консолі після вивантаження нуво *
  4. [✓] Обміняйте файли xorg.conf
  5. [✓] Подбайте про чорний список
  6. [✓] Попрацюйте з libglx.so

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


звучить як дійсно ризикована угода Оо, ви впевнені, що хочете це зробити?
RolandiXor

4
Ризик означає веселощі. : P
htorque

На всякий випадок, чи можете ви додати до свого сценарію такі рядки: chvt 1 chvt 7 Довідка: hermann-uwe.de/tips-and-tricks/chvt
ericb

Мені просто хотілося вказати, який у вас добре структурований пост. Приємно бачити! :)
lindhe

Відповіді:


12

Зараз у мене є два сценарії, які перемикають драйвери, xorg.conf, піклуються про чорний список і libglx, тому відповідь така: так, можливо.

Чорний список працює з одним файлом, /etc/modprobe.d/що містить blacklist nvidiaабо blacklist nouveau. Я також замінив /lib/nvidia-current/modprobe.confманекен, інакше драйвер nvidia завжди створюватиме посилання в /etc/modprobe.d/цих чорних списках 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

Здається, виникає нове запитання з цим питанням : askubuntu.com/questions/855451/… я пов’язав вашу відповідь там, але, перевіривши її, я зрозумів, що вона більше не працює (більше). Можливо, ви можете оновити свою відповідь.
студент

0

Я не вірю, що це можливо зробити, не тільки налаштування режиму ядра драйвера nouvou і nvidia - ні, але драйвер nvidia використовує зламану бібліотеку xorg, яка робить навіть використання тієї ж інсталяції на машині, що вимагає драйвера Intel проблеми . (див. помилки та запитання елементами перевернутих елементів)


1
Я думаю, що тому вони додали альтернативу 'gl_conf'. Використання альтернатив оновлення дозволяє легко перемикатися між бібліотекою Nvidia та "нормальною".
htorque

0

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

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

(Я використовую це для встановлення драйвера nvidia на сеанс прямого CD)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.