¿Cambiar entre nvidia-current y nouveau sin un reinicio?

22

¿Es posible cambiar entre los controladores de video BLOB y Nouveau de Nvidia sobre la marcha?

Creo que necesito poder:

  1. [✓] Descargar nvidia
  2. [✓] Descargar nouveau
  3. [✕] Restaure la consola después de descargar nouveau *
  4. [✓] Intercambiar archivos xorg.conf
  5. [✓] Cuide la lista negra
  6. [✓] Negociar con libglx.so

*) Después de hablar un poco con los chicos de #nouveau, parece ser difícil o incluso imposible con la configuración actual de Ubuntu (vesafb incluido). Estoy intentando que funcione con uvesafb, pero por ahora los scripts en la respuesta hacen lo que estaba buscando.

    
pregunta htorque 11.12.2010 - 20:09

3 respuestas

10

Ahora tengo dos scripts que cambian los controladores, xorg.conf, se ocupa de la lista negra y libglx, por lo que la respuesta es: sí, es posible.

La lista negra funciona con un archivo en /etc/modprobe.d/ que contiene blacklist nvidia o blacklist nouveau . También reemplacé /lib/nvidia-current/modprobe.conf con un dummy, de lo contrario, el controlador nvidia siempre crearía un enlace en /etc/modprobe.d/ que las listas negras nouveau.

Cambiar a nuevo:

 #!/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

Después de ejecutar eso, tengo un nuevo ordenador y una consola en funcionamiento (nouveaufb).

Cambiar 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

→ El controlador de Nvidia está funcionando, solo problema: después de descargar el controlador nouveau, la consola no se puede usar. Necesito una forma de restablecerlo o cargar otro framebuffer, pero como vesafb está compilado en el kernel, no sé qué hacer.

    
respondido por el htorque 12.12.2010 - 10:33
0

No creo que sea posible hacerlo, no solo es la configuración del modo kernel del controlador nouvou y la nvidia uno no, sino que el controlador nvidia usa una biblioteca xorg pirateada que hace que incluso usando la misma instalación en una máquina requiera el intel conductor es un problema. (ver errores y preguntas al revés de elementos)

    
respondido por el Martin Owens -doctormo- 12.12.2010 - 03:59
0

enlace sugiere ejecutar /etc/init.d/consolefont restart después de rmmod- ing nouevau para restaurar el modo de texto. Tenga en cuenta que se ha cambiado el nombre a console-font en sistemas más recientes y en Ubuntu 13.10 no se puede llamar de esta manera, pero así: service console-font restart

Además, no funciona siempre. En algunos casos, iniciar X ( service lightdm start - o cualquier DM que esté utilizando) iniciará el modo gfx y también dará un modo de texto de trabajo al cambiar a vt1 ( ctrl-alt-f1 ).

(Utilizo esto para instalar el controlador nvidia en una sesión de CD en vivo)

    
respondido por el David Balažic 24.11.2013 - 19:06

Lea otras preguntas en las etiquetas