Monday, November 18, 2019

xorg - Switch between nvidia-current and nouveau without a reboot?




Is it possible to switch between Nvidia's BLOB and Nouveau video drivers on-the-fly?



I think I need to be able to:




  1. [✓] Unload nvidia

  2. [✓] Unload nouveau

  3. [✕] Restore the console after unloading nouveau*

  4. [✓] Swap xorg.conf files

  5. [✓] Take care of blacklisting


  6. [✓] Deal with libglx.so



*) After a bit of talk with the guys at #nouveau, it seems to be difficult or even impossible with the current Ubuntu setup (builtin vesafb). I'm trying to get it to work with uvesafb, but for now the scripts in the answer do what I was looking for.



I now have two scripts that switch drivers, xorg.conf, take care of blacklisting and the libglx, so the answer is: yes, it is possible.



Blacklisting works with one file in /etc/modprobe.d/ containing either blacklist nvidia or blacklist nouveau. I also replaced /lib/nvidia-current/modprobe.conf with a dummy, else the nvidia driver would always create a link in /etc/modprobe.d/ that blacklists nouveau.



Switch to 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


After executing that, I have nouveau running and a working console (nouveaufb).




Switch to 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 driver is working, only problem: after unloading the nouveau driver, the console is unusable. I need a way to reset it or load another framebuffer, but since vesafb is compiled into the kernel I don't know what to do.


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...