Gentoo itself is power

14.02.2011

Create a boot option for easy nvidia or nouveau display driver switching

Filed under: gentoo, linux — init_6 @ 19:17

Все те кто сталкиваются с проблемой выбора между модулем nvidia или nouveau знают достоинства и недостатки каждого из них. Итак если вы хотите совместить достоинства обоих модулей – вам под кат.

Сразу стоит предупредить увы одноврмеменно, на данном этапе, nvidia и nouveau неуживаются. Поэтому выход один.

Предполагается что у вас уже стоит и настроен nvidia либо nouveau.

Во первых в переменную VIDEO_CARDS файла /etc/make.conf добавляем


VIDEO_CARDS="nvidia nouveau"

Предполагается что вы умеете пересобирать мир и настраивать ядро и систему и под nvidia и под nouveau.

Если в системе одновременно присутствуют и nvidia и nouveau и, к примеру, нам надо загрузить nvidia надо сделать минимум – заблокировать при загрузке модуль nouveau и безусловно в файле /etc/X11/xorg.conf.d/10-monitor.conf должна быть конфигурация под молуль nvidia.

В файле /boot/grub/grub.cfg должно быть два пункта меню


menuentry "Funtoo Linux - vmlinuz-2.6.<*> [nvidia]" {
(cut)
  linux /vmlinuz-2.6.<*> (cut) vga=<*> nouveau.blacklist=true
(cut)
}

menuentry "Funtoo Linux - vmlinuz-2.6.<*> [nouveau]" {
(cut)
  linux /vmlinuz-2.6.<*> nvidia.blacklist=true
(cut)
}

Приведены только основные моменты и надеюсь понятно что вместо нужно подставить свое по вкусу.

Первая часть проблемы решена. Далее нужно подсовывать правильный конфиг в /etc/X11/xorg.conf.d/10-monitor.conf в зависимости от того какой модуль выключен.

В /etc/X11/video/10-monitor.conf.nouveau и /etc/X11/video/10-monitor.conf.nvidia помещаем настроенные конфиги под соответствующий модуль. Ну и завершающий аккорд


cat /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;
            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

}

Спасибо за внимание.

About these ads

Комментарии (2) »

  1. [...] leave a comment » Все те кто сталкиваются с проблемой выбора между модулем nvidia или nouveau знают достоинства и недостатки каждого из них. Итак если вы хотите совместить достоинства обоих модулей – вам под кат. Сразу стоит предупредить увы одноврмеменно, на данном этапе, nvidia и nouveau неуживаются. Поэтому выход один. Предполагается что у вас уже стоит и настроен nvidia либо nouveau. Во первых в переменную VIDEO_CARDS файла /etc/make.conf добавляем

    Уведомление от Create a boot option for easy nvidia or nouveau display driver switching (via Gentoo itself is power) « fads:// — 29.05.2011 @ 22:46

  2. [...] Filed under: gentoo, linux — init_6 @ 14:23 В продолжение темы Efg Делаем [...]

    Уведомление от nvidia vs nouveau, xcfgmaker « Gentoo itself is power — 09.10.2011 @ 14:23


RSS-лента комментариев к этой записи. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Theme: Silver is the New Black. Блог на WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 39 other followers

%d bloggers like this: