On 02/25/13 09:10, Paul Hartman wrote:
On Sat, Feb 23, 2013 at 10:30 PM, Joseph <syscon...@gmail.com> wrote:
I'm trying to prevent next disaster with nvidia driver/kernel combination.
I'm running "nvidia" driver and installed "nouveau" as module.  If for any
reason nvidia or nouveau will stop working I want to just run a sript and
use other one.

Here is my configuration:

cat /etc/modprobe.d/blacklist.conf
blacklist nouveau

cat /etc/X11/xorg.conf
Section "Device"
    Identifier "Nvidia card"
    Driver     "nvidia"
EndSection

eselect opengl list
Available OpenGL implementations:
  [1]   nvidia *
  [2]   xorg-x11

In order to switch it to "nouveau" I would need to unload the nvidia module,
but I can not do it when it is in use so I need to stop "xdm" first, am I
correct?
/etc/init.d/xdm stop (X crashes at this moment)
modprobe -r nvidia
mv /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf_backup
mv /etc/X11/xorg.conf  /etc/X11/xorg.conf_nvidia
eselect opengl set xorg-x11
modprobe nouveau
mv /etc/X11/xorg.conf_nouveau /etc/X11/xorg.conf
/etc/init.d/xdm start (at this moment I should have login screen)

Did I miss anything? Will it work if I put it into a bash script?

What about console framebuffer (if you use one) and KMS? I wonder if
you need to do something about those.

I've solved this problem. It is not possible to switch without rebooting, so 
the correct procedure would be:

CORRECT PROCES TO FOLLOW to switch between nvidia and noveau.
(assuming the kernel is using "nvidia") to switch to noveau:

mv /etc/modprobe.d/blacklist.conf_nvidia /etc/modprobe.d/blacklist.conf
eselect opengl set xorg-x11
mv /etc/X11/xorg.conf_nouveau /etc/X11/xorg.conf
reboot

Assuming:
cat blacklist.conf_nouveau
blacklist nouveau

cat blacklist.conf_nvidia
blacklist nvidia

cat xorg.conf_nouveau
# uncomment when the card gets IN

Section "Device"
    Identifier "nouveau"
    Driver     "nouveau"
EndSection

at xorg.conf_nvidia
Section "Device"
    Identifier "Nvidia card"
    Driver     "nvidia"
EndSection


--
Joseph

Reply via email to