現在、ドライバーを切り替える2つのスクリプト、xorg.conf、ブラックリストとlibglxの世話をしているので、答えは「はい、可能です」です。
ブラックリストは/etc/modprobe.d/
、blacklist nvidia
またはのいずれかを含む1つのファイルで機能しますblacklist nouveau
。また/lib/nvidia-current/modprobe.conf
、ダミーに置き換えました。そうしないと、nvidiaドライバーは常に/etc/modprobe.d/
そのブラックリストnouveauにリンクを作成します。
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
それを実行した後、nouveauが実行されており、作業コンソール(nouveaufb)があります。
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
→Nvidiaドライバーは機能していますが、問題があります。nouveauドライバーをアンロードした後、コンソールは使用できません。リセットするか、別のフレームバッファをロードする方法が必要ですが、vesafbはカーネルにコンパイルされているため、どうすればよいかわかりません。