Nvidia optimus, настройка и запуск bumblebee: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 85: Строка 85:
Запущенные без optirun приложения будут работать на видеокарте intel, при этом видеокарта nvidia будет выключена.
Запущенные без optirun приложения будут работать на видеокарте intel, при этом видеокарта nvidia будет выключена.


P.S. Замечено, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee<ref>На Sisyphus за 20140209 подобного не наблюдаю</ref>:
P.S. Замечено на р6, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee:


<pre># service bumblebeed start</pre>
<pre># service bumblebeed start</pre>
Строка 97: Строка 97:




P.S. На ядре un-def возможно лучшее энергосбережение и уменьшение температуры чипов.
 


== Primus ==
== Primus ==
Строка 121: Строка 121:


Для нормальной работы 32-х разрядных приложений и игр на 64-х разрядной системе через primus должны быть установлены следующие пакеты: i586-primus, i586-xorg-drv-intel, i586-xorg-dri-intel, i586-nvidia_glx, i586-nvidia_glx_common.
Для нормальной работы 32-х разрядных приложений и игр на 64-х разрядной системе через primus должны быть установлены следующие пакеты: i586-primus, i586-xorg-drv-intel, i586-xorg-dri-intel, i586-nvidia_glx, i586-nvidia_glx_common.
Для запуска игр в steam на карте nvidia primus обязателен к установке! Чтобы игра стартовала через primus необходимо в свойствах запуска игры в steam прописать следующее:
<pre>primusrun %command%</pre>
где %command% переменная (не надо ее менять на команду запуска игры), steam сам подставит нужную команду.


== Ссылки ==
== Ссылки ==

Версия от 07:04, 1 июля 2015

Данное руководство предназначено для счастливых обладателей ноутбуков с 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. Замечено на р6, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee:

# service bumblebeed start

Замечено что в ряде случаев сервис bumblebeed не стартует автоматически при перезагрузке системы и требуется его включение в явном виде. Для проверки следует выполнить команду:

# service bumblebeed status

Если сервис не активен (вместо active выводится unknown или что-подобное), то для включения сервиса нужно выполнить команду:

# service bumblebeed enable

после чего имеет смысл перезагрузить систему.



Primus

Для nvidia optimus собран primus, предлагающий некоторое улучшение производительности.

установка

9) Устанавливаем primus:

# apt-get install primus

проверка

Команда запуска приложений через primus:

$ primusrun приложение

Также остается возможность запуска приложений через VirtualGL:

$ optirun приложение

Для отключения вертикальной синхронизации у primus:

$ vblank_mode=0 primusrun приложение

Для нормальной работы 32-х разрядных приложений и игр на 64-х разрядной системе через primus должны быть установлены следующие пакеты: i586-primus, i586-xorg-drv-intel, i586-xorg-dri-intel, i586-nvidia_glx, i586-nvidia_glx_common.

Для запуска игр в steam на карте nvidia primus обязателен к установке! Чтобы игра стартовала через primus необходимо в свойствах запуска игры в steam прописать следующее:

primusrun %command%

где %command% переменная (не надо ее менять на команду запуска игры), steam сам подставит нужную команду.

Ссылки

Примечания

  1. На Sisyphus за 20140209 для Lenovo B570e этот шаг и создание секции xorg.conf оказались по факту необязательны
  2. см. вывод команды id и файл /etc/group