Ahora tengo dos scripts que cambian los controladores, xorg.conf, se encargan de las listas negras y el libglx, por lo que la respuesta es: sí, es posible.
La lista negra funciona con un archivo que /etc/modprobe.d/
contiene blacklist nvidia
o blacklist nouveau
. También lo reemplacé /lib/nvidia-current/modprobe.conf
con un ficticio, de lo contrario, el controlador de nvidia siempre crearía un enlace en /etc/modprobe.d/
esa lista negra nouveau.
Cambiar 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
Después de ejecutar eso, tengo nouveau ejecutándose y una consola de trabajo (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 funciona, único 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.