注意:
The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Make.conf/VIDEO CARDS/NVIDIA and Nouveau Driver Switching"
< Make.conf | VIDEO CARDS
Jump to navigation
Jump to search
Line 90: | Line 90: | ||
ebegin "Configuring X display with nouveau" | ebegin "Configuring X display with nouveau" | ||
cp /etc/X11/video/10-monitor.conf.nouveau /etc/X11/xorg.conf.d/10-monitor.conf | cp /etc/X11/video/10-monitor.conf.nouveau /etc/X11/xorg.conf.d/10-monitor.conf | ||
# eselect opengl set xorg-x11 >/dev/null 2>&1; | |||
/sbin/modprobe drm | |||
/sbin/modprobe nouveau; | |||
else | else | ||
ebegin "Configuring X display with nvidia" | ebegin "Configuring X display with nvidia" | ||
cp /etc/X11/video/10-monitor.conf.nvidia /etc/X11/xorg.conf.d/10-monitor.conf | cp /etc/X11/video/10-monitor.conf.nvidia /etc/X11/xorg.conf.d/10-monitor.conf | ||
# eselect opengl set nvidia >/dev/null 2>&1; | |||
/sbin/modprobe nvidia-drm; | |||
fi | |||
sleep 5 | sleep 5 | ||
eend 0 | eend 0 |
Revision as of 02:35, September 18, 2019
Important
This page needs updates to address the use of libglvd in Funtoo 1.4+
This howto describes how to use nvidia and nouveau drivers on the same computer and kernel.
Note
You must know how to install x11-drivers/nvidia-drivers and No results (references at the end of the page). First, you need to configure your kernel and install nvidia drivers and nouveau. We assume that this stage is successfully passed.
boot-update
The most important change: edit /etc/boot.conf:
/etc/boot.conf
boot {
generate grub
default "Funtoo Linux [nvidia]"
# or
# default "Funtoo Linux [nouveau]"
timeout 3
}
color {
normal cyan/blue
highlight blue/cyan
}
display {
#gfxmode 1280x800
#font unifont.pf2
}
"Funtoo Linux [nvidia]" {
kernel vmlinuz[-v]
params += ro console=tty1 quiet <other standard boot options>
params += nouveau.blacklist=true vga=791 # nouveau.blacklist=true is important
# or
# params += nouveau.blacklist=true video=uvesafb:1440x900-8,mtrr:2
}
"Funtoo Linux [nouveau]" {
kernel vmlinuz[-v]
params += ro console=tty1 quiet <other standard boot options>
params += nvidia.blacklist=true # nvidia.blacklist=true is important
}
Next, run boot-update.
After boot-update has been run, you should have something like:
root # grep menuentry /boot/grub/grub.cfg | wc -l 2 root # grep menuentry /boot/grub/grub.cfg menuentry "Funtoo Linux [nouveau] - vmlinuz-2.6.32.71_p14-rh" { menuentry "Funtoo Linux [nvidia] - vmlinuz-2.6.32.71_p14-rh" {
xcfgmaker deamon
root # mkdir /etc/X11/video/; root # cd /etc/X11/video/; root # nano 10-monitor.conf.nouveau # make default config for nouveau. or copy existing config… root # nano 10-monitor.conf.nvidia # also for nvidia
Then create a new daemon. Edit the file /etc/init.d/xcfgmaker:
#!/sbin/runscript
# by http://wiki.sabayon.org/index.php?title=HOWTO:_Create_a_boot_option_for_easy_dual_to_single_display_switching
# To be placed in /etc/init.d/
# Run Command: rc-update add xcfgmaker boot
depend()
{
need localmount
before xdm-setup
before xdm
before alsasound
}
start()
{
cmdline_display_mode_exist=$(cat /proc/cmdline | grep -e "nouveau.blacklist=" -e "nvidia.blacklist=")
display_mode_nvidia_exist=$(ls /etc/X11/video/ | grep "10-monitor.conf.nvidia")
display_mode_nouveau_exist=$(ls /etc/X11/video/ | grep "10-monitor.conf.nouveau")
cmdline_display_mode=$(cat /proc/cmdline | awk -Fnvidia.blacklist= '{print $2}' | awk '{print $1}')
if [ -n "$cmdline_display_mode_exist" ]; then
if [ -n "$display_mode_nvidia_exist" ] && [ -n "$display_mode_nouveau_exist" ]; then
#Choose the xorg file to be copied over
if [ "$cmdline_display_mode" == "true" ]; then
ebegin "Configuring X display with nouveau"
cp /etc/X11/video/10-monitor.conf.nouveau /etc/X11/xorg.conf.d/10-monitor.conf
# eselect opengl set xorg-x11 >/dev/null 2>&1;
/sbin/modprobe drm
/sbin/modprobe nouveau;
else
ebegin "Configuring X display with nvidia"
cp /etc/X11/video/10-monitor.conf.nvidia /etc/X11/xorg.conf.d/10-monitor.conf
# eselect opengl set nvidia >/dev/null 2>&1;
/sbin/modprobe nvidia-drm;
fi
sleep 5
eend 0
else
ebegin "Xorg file missing. Exitting"
eend 0
fi
fi
}
Do not forget:
root # chmod +x /etc/init.d/xcfgmaker root # rc-update add xcfgmaker boot