Ich habe jetzt zwei Skripte, die den Treiber wechseln, xorg.conf, die sich um das Blacklisting und die libglx kümmern, also lautet die Antwort: Ja, das ist möglich.
Blacklisting funktioniert mit einer Datei, /etc/modprobe.d/
die entweder blacklist nvidia
oder enthält blacklist nouveau
. Ich habe es auch durch /lib/nvidia-current/modprobe.conf
einen Dummy ersetzt, sonst würde der nvidia-Treiber immer einen Link in den /etc/modprobe.d/
Nouveau der Blacklists erstellen .
Zum Jugendstil wechseln:
#!/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
Nachdem ich das ausgeführt habe, habe ich Nouveau Running und eine funktionierende Konsole (Nouveaufb).
Zu NVIDIA wechseln:
#!/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-Treiber funktioniert, einziges Problem: Nach dem Entladen des Nouveau-Treibers ist die Konsole unbrauchbar. Ich brauche eine Möglichkeit, es zurückzusetzen oder einen anderen Framebuffer zu laden, aber da vesafb in den Kernel kompiliert ist, weiß ich nicht, was ich tun soll.