Автор Тема: Технология NVIDIA Optimus  (Прочитано 7871 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ustal47

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 184
Технология NVIDIA Optimus
« : Январь 05, 2012, 15:03:03 »
Технологией NVIDIA Optimus занялся в эти каникулы, может кому и пригодится.
Как запустить  Optimus Nvidia в Ubuntu 11.10 (Oneiric)
Сразу после установки системы:
1. Определимся с видеокартами
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA

Получаем, что-то типа:
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0106] (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: nVidia Corporation GF106 [GeForce GT 555M] [10de:0df4] (rev a1) (prog-if 00 [VGA controller])

Не устанавливая никаких драйверов, обновляем систему.

2.Устанавливаем последние графические драйверы:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get upgrade

3.Подправляем Grub
sudo gedit /etc/default/grub
или, если у вас leafpad
sudo leafpad /etc/default/grub

Находим строку:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash"

и приводим её к виду:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force”

Сохраняем, закрываем и обновляем grub, для сохранения изменений
sudo update-grub

4.Устанавливаем  bumblebee:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee

5.Добавляем себя в группу bumblebee, вместо YOURUSERNAME вставляем свой login:
sudo usermod -a -G bumblebee YOURUSERNAME

6.Правим bumblebee.conf:

sudo gedit /etc/bumblebee/bumblebee.conf
или, если у вас leafpad
sudo  leafpad /etc/bumblebee/bumblebee.conf

Находим строки и, если необходимо, заменяем N на Y, что-бы получилось:
 STOP_SERVICE_ON_EXIT=Y
ENABLE_POWER_MANAGEMENT=Y

Сохраняем, закрываем.

7.Проверяем xorg.conf.nvidia
sudo gedit /etc/bumblebee/xorg.conf.nvidia
или, если у вас leafpad
sudo leafpad /etc/bumblebee/xorg.conf.nvidia

Должно быть примерно так:
Section "ServerLayout"
    Identifier "Layout0" **НЕ ПРАВИТЬ, ЕСЛИ НЕ ТАК**
    Option "AutoAddDevices" "false"
EndSection

Section "Files"
    ModulePath "/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules"
EndSection

Section "Device"
    Identifier "Device1"**НЕ ПРАВИТЬ, ЕСЛИ НЕ ТАК**
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BusID "01:00:0"
    Option "NoLogo" "true"
    Option "UseEDID" "false"
    Option "ConnectedMonitor" "DFP"
EndSection

Сохраняем, закрываем.

8.Теперь надо найти правильные команды  ‘call off’  и  ‘call on’  для ваших видеокарт. Для этого идём:
http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls
Там по марке ноутбука, или по типу используемых видеокарт (см. пункт 1) находим нужное.

9. Создаём файлы "открытия" и "закрытия"

sudo gedit /etc/bumblebee/cardoff
или, если у вас leafpad
sudo leafpad /etc/bumblebee/cardoff
Вставляем (у Вас возможно другие команды):

\_SB.PCI0.PEG0.PEGP._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}
\_SB.PCI0.PEG0.PEGP._PS3

Сохраняем, закрываем.
sudo gedit /etc/bumblebee/cardon
или, если у вас leafpad
sudo leafpad /etc/bumblebee/cardon
Вставляем (у Вас возможно другие команды):

\_SB.PCI0.PEG0.PEGP._PS0

10.Перезагружаемся и проверяем:
glxgears
Шестерёнки крутятся, цифры около 60

optirun glxgears
Шестерёнки крутятся, цифры гораздо больше

Если команды glxgears не отрабатывают, возможно, надо утановить mesa-utils
sudo apt-get install mesa-utils

Программы, в которых нужна мощная видеокарта запускаем с добавкой  optirun.
Для моего ноутбука DNS A17  каманд cardoff и cardon не нашлось, поэтому питание с дискретной карты не отключется, но видеокарты переключаются.
Для поиска команд использовал это
Узнать команду cardoff можно:
а)Если не установлена  git
sudo apt-get install git
б)Выкачивание и установка acpi_call
git clone https://github.com/mkottman/acpi_call.git
в)Входим в дирректорию acpi_call:
cd acpi_call
г)Выполняем
make
д)Запускаем test_off.sh
sudo sh test_off.sh
У меня получилось так:
sudo sh test_off.sh
Trying \_SB.PCI0.P0P1.VGA._OFF: failed
Trying \_SB.PCI0.P0P2.VGA._OFF: failed
Trying \_SB_.PCI0.OVGA.ATPX: failed
Trying \_SB_.PCI0.OVGA.XTPX: failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: failed
Trying \_SB.PCI0.P0P1.PEGP._OFF: failed
Trying \_SB.PCI0.MXR0.MXM0._OFF: failed
Trying \_SB.PCI0.PEG1.GFX0._OFF: failed
Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG0.PEGP._OFF: failed
Trying \_SB.PCI0.XVR0.Z01I.DGOF: failed
Trying \_SB.PCI0.PEGR.GFX0._OFF: failed
Trying \_SB.PCI0.PEG.VID._OFF: failed
Trying \_SB.PCI0.PEG0.VID._OFF: failed
Trying \_SB.PCI0.P0P2.DGPU._OFF: failed
Trying \_SB.PCI0.P0P4.DGPU.DOFF: failed
Trying \_SB.PCI0.IXVE.IGPU.DGOF: failed
Trying \_SB.PCI0.RP00.VGA._PS3: works!
Попробовал на ubuntu, xubuntu и lubuntu, не понятно почему, но на lubuntu скорость работы NVIDIA (цифры) выше. Источник.
« Последнее редактирование: Январь 05, 2012, 15:07:36 от ustal47 »

Оффлайн ustal47

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 184
Re: Технология NVIDIA Optimus
« Ответ #1 : Январь 28, 2012, 17:17:49 »
Bumblebee Project развивается. Недавно появилась новая версия. После установки дискретная карта отключается и на моем ноутбуке DNS A17.

Оффлайн kompilainenn

  • Местный
  • *****
  • Сообщений: 1068
  • Активно пропагандирую Runtu
Re: Технология NVIDIA Optimus
« Ответ #2 : Январь 28, 2012, 19:09:04 »
вот когда они доделают вменяемый гуй к этому изврату (оптимусу), вот тогда и можно будет говорить о победе разума (модели опенсорц), а пока я даже не пытался на своем ноуте это пробовать
Мы говорим Linux, подразумеваем Runtu

Оффлайн ustal47

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 184
Re: Технология NVIDIA Optimus
« Ответ #3 : Январь 28, 2012, 19:30:57 »
ИМХО гуй не нужен. После установки шмеля, добавляешь optirun перед командой запуска программ (в свойствах ярлыка) и они запускаются вместе с картой NVIDIA. Останавливаешь программу, карта NVIDIA обесточивается, т.е. работает только  встроенная. У меня optirun добавлен к игрушкам.

Оффлайн kompilainenn

  • Местный
  • *****
  • Сообщений: 1068
  • Активно пропагандирую Runtu
Re: Технология NVIDIA Optimus
« Ответ #4 : Январь 28, 2012, 20:15:25 »
мне что, все главное меню переписывать руками?

зы: вообще говоря впихивание слабосильных нвидий в пару к интел видео есть полное уродство, я вообще говоря собирался после инсталляции линукса на ноут отключить нвидию совсем, но принципиально хотелось бы ГУЙ с русским языком внутри
Мы говорим Linux, подразумеваем Runtu

Оффлайн ustal47

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 184
Re: Технология NVIDIA Optimus
« Ответ #5 : Январь 28, 2012, 20:19:13 »
мне что, все главное меню переписывать руками?
Да зачем-же все меню, только те программы где нужна NVIDIA.

Оффлайн kompilainenn

  • Местный
  • *****
  • Сообщений: 1068
  • Активно пропагандирую Runtu
Re: Технология NVIDIA Optimus
« Ответ #6 : Январь 28, 2012, 20:29:10 »
но все равно это надо знать, куда лезть. в общем конечно радует, что проблема с оптимусом решается хоть как-то=)
Мы говорим Linux, подразумеваем Runtu

Оффлайн ustal47

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 184
Re: Технология NVIDIA Optimus
« Ответ #7 : Январь 28, 2012, 20:40:46 »
но все равно это надо знать, куда лезть. в общем конечно радует, что проблема с оптимусом решается хоть как-то=)
В линуксе она решается даже лучше, чем в винде. В винде дискретная карта включается по какому-то алгоритму, и, как я понял, может непредсказуемо отключаться. В линуксе user сам включает дискретную карту в необходимых приложениях, а в остальных случаях работает экономичная встроенная карта.