|
|
Line 1: |
Line 1: |
| This howto describes how to use nvidia and nouveau drivers on the same computer and kernel. | | <noinclude> |
| <br> | | This is the "Ebuild" template. |
| {{Fancynote|You must know how to install {{Package|x11-drivers/nvidia-drivers}} and {{package|x11-drivers/nouveau}} (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.}} | | It should be called in the following format: |
| | | <pre> |
| == boot-update == | | {{Ebuild |
| The most important change: edit <tt>/etc/boot.conf</tt>:
| | |Summary= |
| | | |CatPkg= |
| {{file|name=/etc/boot.conf|desc= |body= | | |Maintainer= |
| boot {
| | |Homepage= |
| generate grub
| | }} |
| default "Funtoo Linux [nvidia]"
| | </pre> |
| # or
| | Edit the page to see the template text. |
| # default "Funtoo Linux [nouveau]"
| | </noinclude><includeonly>{{#widget:AddThis}}<div class="container"><div class="row"> |
| timeout 3
| | <div class="col-md-3 col-md-push-9"> |
| } | | <b>[[CatPkg::{{{CatPkg|}}}]]</b> |
| | | <hr>{{#vardefine:cat|{{#explode:{{{CatPkg}}}|/|0}}}}{{#vardefine:pkg|{{#explode:{{{CatPkg}}}|/|1}}}}{{#get_web_data:url=http://ports.funtoo.org/packages.xml|format=xml|use xpath|data=repo_id=/packages/category[@name='{{#var:cat}}']/package[@name='{{#var:pkg}}']/@repository}}{{#vardefine:repoid|{{#if:{{#external_value:repo_id}}|{{#external_value:repo_id}}|gentoo}}}}{{#set:RepoID={{#var:repoid}}}} |
| color {
| | <table border="0" width="100%"> |
| normal cyan/blue
| | {{#if: {{{Maintainer|}}} |<tr><td><i>Current Maintainer(s):</i></td><td>{{#arraymaptemplate:{{{Maintainer|}}}|MaintainerDisplay|,|<br>}}</td></tr> |}}<tr><td><i>Source Repository:</i></td><td>{{#ask:[[Category:Repositories]] [[Repository ID::{{#var:repoid}}]]}}</td></tr> {{#if: {{{Homepage|}}} |<tr><td></td><td>[[Homepage::{{{Homepage|}}}|Homepage]]</td></tr> |}}</table><hr> |
| highlight blue/cyan
| | <b>Summary:</b> [[Summary::{{{Summary|}}}]] |
| } | | {{#get_web_data:url=http://127.0.0.1:8888/portage/meta/{{{CatPkg}}}|format=xml|use xpath|data=use=/package/@use}}{{#set:Use={{#external_value:use}}}}{{#if: {{#external_value:use}}| |
| | | == Use Flags == |
| display {
| | {{#arraymaptemplate:{{#external_value:use}}|ExternUse|,|}} |
| #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 | <tt>boot-update</tt>]].
| | <div class="bs-head" style="text-decoration: underline; margin-bottom: 15px;">Funtoo News</div> |
| | | {{NewsList|3}} |
| After boot-update has been run, you should have something like:
| | [[News|View More News...]] |
| <console>
| |
| ###i## grep menuentry /boot/grub/grub.cfg | wc -l
| |
| 2
| |
| ###i## 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" {
| |
| </console>
| |
| | |
| == xcfgmaker deamon ==
| |
| | |
| <console>
| |
| ###i## mkdir /etc/X11/video/;
| |
| ###i## cd /etc/X11/video/;
| |
| ###i## nano 10-monitor.conf.nouveau # make default config for nouveau. or copy existing config…
| |
| ###i## nano 10-monitor.conf.nvidia # also for nvidia
| |
| </console> | |
| | |
| Then create a new daemon. Edit the file <tt>/etc/init.d/xcfgmaker</tt>:
| |
| <syntaxhighlight lang="bash">
| |
| #!/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;
| |
| 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;
| |
| fi
| |
| sleep 5
| |
| eend 0
| |
| else
| |
| ebegin "Xorg file missing. Exitting"
| |
| eend 0
| |
| fi
| |
| fi
| |
| | |
| }
| |
| </syntaxhighlight>
| |
| | |
| Do not forget:
| |
| <console>
| |
| ###i## chmod +x /etc/init.d/xcfgmaker
| |
| ###i## rc-update add xcfgmaker boot
| |
| </console>
| |
| | |
| == Additional Resources ==
| |
| *[http://en.gentoo-wiki.com/wiki/Nvidia Nvidia how-to on gentoo-wiki]
| |
| *[http://en.gentoo-wiki.com/wiki/Nouveau Nouveau how-to on gentoo-wiki]
| |
| *[http://sudormrf.wordpress.com/2011/02/14/create-a-boot-option-for-easy-nvidia-or-nouveau-display-driver-switching The same text on my blog(in Russian)]
| |
|
| |
|
| [[Category:HOWTO]] | | </div><div class="col-xs-12 col-md-9 col-md-pull-3">{{DISPLAYTITLE:{{PAGENAME}}}} |
| [[Category:First Steps]] | | <div id="ebuild_header"><div id="ebuild_logo" style="padding-bottom: 1em;">[[File:ebuild.png|link=|frameless|class=img-responsive]]</div><div id="ebuild_title"> |
| | = {{PAGENAME}} = |
| | </div></div> |
| | {{#seo: |
| | |title=Package: {{PAGENAME}} ({{{CatPkg}}}) |
| | |keywords={{{CatPkg}}},ebuild,gentoo,funtoo |
| | |description=A Funtoo Linux ebuild for {{{CatPkg}}}: {{{Summary|}}} |
| | }}{{Tip|This is a wiki page. To edit it, {{CreateAccount}}. Then [[{{#special:userlogin}}|log in]] and then {{#formlink:form=Ebuild|link text=click here to edit this page|target={{FULLPAGENAME}}}}. See our [[Help:Funtoo_Editing_Guidelines|editing guidelines]] to becoming a wiki-editing pro.}} |
| | </includeonly> |