Agora tenho dois scripts que alternam drivers, xorg.conf, cuidam da lista negra e da libglx, então a resposta é: sim, é possível.
A lista negra funciona com um arquivo /etc/modprobe.d/
contendo blacklist nvidia
ou blacklist nouveau
. Também substituí /lib/nvidia-current/modprobe.conf
por um manequim, caso contrário, o driver da nvidia sempre criaria um link /etc/modprobe.d/
nesse nouleau das listas negras.
Mudar para o 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
Depois de executar isso, eu tenho o nouveau em execução e um console de trabalho (nouveaufb).
Mude para 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
→ O driver Nvidia está funcionando, o único problema: após descarregar o driver nouveau, o console fica inutilizável. Eu preciso de uma maneira de redefini-lo ou carregar outro buffer de quadro, mas como o vesafb é compilado no kernel, não sei o que fazer.