Nvidia optimus, настройка и запуск bumblebee
Данное руководство предназначено для счастливых обладателей ноутбуков с nvidia optimus на борту.
Bumblebee
Рассмотрим процесс установки, настройки и запуска видеокарты nvidia посредством bumblebee.
установка
1) Обновляем систему и ядро до текущего бранча:
# apt-get update # apt-get dist-upgrade # update-kernel
2) Узнаем версию установленного ядра:
$ uname -r
3.4.27-std-def-alt0.M60P.1
3) Для запуска проприетарного драйвера nvidia удалим модуль ядра от свободного драйвера nouveau (обратите внимание на сборку ядра):
# apt-get remove kernel-modules-drm-nouveau-std-def
и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него:
# apt-get install kernel-modules-nvidia-std-def
4) Устанавливаем bbswitch для своего ядра и bumblebee:
# apt-get install kernel-modules-bbswitch-std-def bumblebee
настройка
5) Узнаем BusID видеокарт[1]:
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 540M] (rev ff)
нас интересует BusID, относящийся к intel (00:02.0)
6) Создадим файл (от рута, можно через mc) /etc/X11/xorg.conf следующего содержания с указанием ранее полученного BusID:
Section "Device" Identifier "Device1" Driver "intel" VendorName "onboard" BusID "PCI:0:2:0" #обратите внимание на двоеточия и количество 0 EndSection Section "Monitor" Identifier "Monitor0" Option "DPMS" EndSection Section "Screen" Identifier "Screen0" Device "Device1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection
7) Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.
проверка
8) Перезагружаем систему и проверяем работоспособность видеокарты nvidia:
$ optirun glxinfo | grep OpenGL
должно получится нечто подобное:
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 540M/PCIe/SSE2 OpenGL version string: 4.3.0 NVIDIA 310.19 OpenGL shading language version string: 4.30 NVIDIA via Cg compiler OpenGL extensions:
Можно запускать нужные приложения на видеокарте nvidia командой от пользователя, входящего в группу xgrp[2]:
$ optirun приложение
Запущенные без optirun приложения будут работать на видеокарте intel, при этом видеокарта nvidia будет выключена.
P.S. Замечено, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee[3]:
# service bumblebeed start
P.S. На ядре un-def возможно лучшее энергосбережение и уменьшение температуры чипов.
Primus
Для nvidia optimus собран primus, предлагающий некоторое улучшение производительности.
установка
9) Устанавливаем primus (для запуска 32-битных приложений в 64-битной системе устанавливать дополнительно i586-primus):
# apt-get install primus
проверка
Команда запуска приложений через primus:
$ primusrun приложение
Также остается возможность запуска приложений через VirtualGL:
$ optirun приложение
Для отключения вертикальной синхронизации у primus:
$ vblank_mode=0 primusrun приложение