Passa da nvidia-current a nouveau senza riavviare?


24

È possibile passare al volo tra i driver video BLOB e Nouveau di Nvidia?

Penso di dover essere in grado di:

  1. [✓] Scarica nvidia
  2. [✓] Scarica nouveau
  3. [✕] Ripristina la console dopo aver scaricato nouveau *
  4. [✓] Scambia i file xorg.conf
  5. [✓] Abbi cura della lista nera
  6. [✓] Gestisci con libglx.so

*) Dopo un po 'di chiacchiere con i ragazzi di #nouveau, sembra essere difficile o addirittura impossibile con l'attuale configurazione di Ubuntu (builtin vesafb). Sto cercando di farlo funzionare con uvesafb, ma per ora gli script nella risposta fanno quello che stavo cercando.


sembra un affare davvero rischioso Oo, sei sicuro di volerlo fare?
RolandiXor

4
Rischio significa divertimento. : P
htorque, l'

Per ogni evenienza, puoi aggiungere le seguenti righe nel tuo script: chvt 1 chvt 7 Riferimento: hermann-uwe.de/tips-and-tricks/chvt
ericb

Ho solo avuto voglia di sottolineare che posto ben strutturato hai. Bello da vedere! :)
Lindhe

Risposte:


12

Ora ho due script che cambiano driver, xorg.conf, si occupano di blacklist e libglx, quindi la risposta è: sì, è possibile.

La lista nera funziona con un file /etc/modprobe.d/contenente blacklist nvidiao blacklist nouveau. Ho anche sostituito /lib/nvidia-current/modprobe.confcon un manichino, altrimenti il ​​driver nvidia creerebbe sempre un collegamento in /etc/modprobe.d/quella black list nouveau.

Passa a 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

Dopo averlo eseguito, ho nouveau in esecuzione e una console di lavoro (nouveaufb).

Passa a 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

→ Il driver Nvidia funziona, unico problema: dopo aver scaricato il driver nouveau, la console è inutilizzabile. Ho bisogno di un modo per resettarlo o caricare un altro framebuffer, ma dal momento che vesafb è compilato nel kernel non so cosa fare.


L'obiettivo principale è stato raggiunto, quindi lo accetto fino a quando qualcuno non può trovare una soluzione al problema terminale.
htorque,

Sembra che ci sia una nuova domanda che richiede questo: askubuntu.com/questions/855451/… Ho collegato la tua risposta lì, ma dopo averlo testato, mi sono reso conto che non funziona (più). Forse puoi aggiornare la tua risposta.
studente

0

Non credo che sia possibile farlo, non solo l'impostazione della modalità kernel del driver nouvou e quella nvidia no, ma il driver nvidia utilizza una libreria xorg compromessa che rende anche l'utilizzo della stessa installazione su una macchina che richiede al driver Intel un problema . (vedi bug e domande a testa in giù degli elementi)


1
Penso che sia per questo che hanno aggiunto l'alternativa 'gl_conf'. L'uso di update-alternatives consente di passare facilmente dalla libreria Nvidia a quella "normale".
Htorque,

0

http://nouveau.freedesktop.org/wiki/KernelModeSetting/ suggerisce di eseguire /etc/init.d/consolefont riavviare dopo rmmod-ing nouevau per ripristinare la modalità testo. Nota che è stato rinominato console-font su sistemi più recenti e in Ubuntu 13.10 non può essere chiamato in questo modo, ma in questo modo: riavvio del servizio console-font

Inoltre, non funziona sempre. In alcuni casi, l'avvio di X ( service lightdm start - o qualsiasi altro DM che si sta utilizzando) avvierà la modalità gfx e fornirà anche una modalità di testo funzionante quando si passa a vt1 ( ctrl-alt-f1 ).

(Lo uso per installare il driver nvidia in una sessione di CD live)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.