Nvidia optimus, настройка и запуск bumblebee

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(настройка)
 
(19 промежуточных версий не показаны.)
Строка 1: Строка 1:
Данное руководство предназначено для счастливых обладателей ноутбуков с [http://www.nvidia.ru/object/optimus_technology_ru.html nvidia optimus] на борту.
Данное руководство предназначено для счастливых обладателей ноутбуков с [http://www.nvidia.ru/object/optimus_technology_ru.html nvidia optimus] на борту.
-
Рассмотрим процесс установки, настройки и запуска видеокарты nvidia через bumblebee:
+
 
-
1)Обновите систему и ядро до текущего [http://www.altlinux.org/Branches/p6 бранча].
+
== Bumblebee ==
 +
Рассмотрим процесс установки, настройки и запуска видеокарты nvidia посредством [http://bumblebee-project.org/ bumblebee].
 +
 
 +
=== установка ===
 +
1) Обновляем систему и ядро до текущего [http://www.altlinux.org/Branches/p7 бранча]:
<pre># apt-get update
<pre># apt-get update
Строка 7: Строка 11:
# update-kernel</pre>
# update-kernel</pre>
-
2)Узнаем версию установленного ядра
+
2) Узнаем версию установленного ядра:
<pre>$ uname -r</pre>
<pre>$ uname -r</pre>
-
<pre>3.4.27-un-def-alt0.M60P.1</pre>
+
<pre>3.4.27-std-def-alt0.M60P.1</pre>
-
3)Для запуска проприентарного драйвера nvidia удалим модуль ядра от свободного драйвера nouveau (обратите внимание на сборку ядра)
+
3) Для запуска проприетарного драйвера nvidia удалим модуль ядра от свободного драйвера nouveau (обратите внимание на сборку ядра):
-
<pre># apt-get remove kernel-modules-drm-nouveau-un-def</pre>
+
<pre># apt-get remove kernel-modules-drm-nouveau-std-def</pre>
-
и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него
+
и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него:
-
<pre># apt-get install kernel-modules-nvidia-un-def nvidia_glx_common</pre>
+
<pre># apt-get install kernel-modules-nvidia-std-def</pre>
-
4)Устанавливаем bbswitch для своего ядра и bumblebee
+
4) Устанавливаем bbswitch для своего ядра и bumblebee:
-
<pre># apt-get install kernel-modules-bbswitch-un-def bumblebee</pre>
+
<pre># apt-get install kernel-modules-bbswitch-std-def bumblebee</pre>
-
5)Узнаем BusID видеокарт
+
=== настройка ===
 +
5) Узнаем BusID видеокарт<ref>На Sisyphus за 20140209 для Lenovo B570e этот шаг и создание секции xorg.conf оказались по факту необязательны</ref>:
-
<pre>$ lspci | grep VGA</pre>
+
<pre>$ lspci</pre>
<pre>00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
<pre>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)</pre>
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 540M] (rev ff)</pre>
-
нас интересует BusID относящийся к intel (00:02.0)
+
нас интересует BusID, относящийся к intel (00:02.0)
-
6)Создадим файл (от рут, можно через mc) /etc/X11/xorg.conf следующего содержания с указанием ранее полученного BusID
+
6) Создадим файл (от рута, можно через mc) /etc/X11/xorg.conf следующего содержания с указанием ранее полученного BusID:
<pre> Section "Device"
<pre> Section "Device"
Строка 59: Строка 64:
EndSection </pre>
EndSection </pre>
-
7)Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.
+
----
-
8)Перезагружаем систему и проверяем работоспособность видеокарты nvidia
+
'''Для тех у кого артефакты при скроллинге, файл будет выглядеть так:'''
 +
 
 +
<pre>Section "Device"
 +
    Identifier     "Device1"
 +
    Driver         "intel"
 +
   Option "AccelMethod" "uxa"
 +
    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
 +
</pre>
 +
 
 +
7) Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.
 +
 
 +
=== проверка ===
 +
8) Перезагружаем систему и проверяем работоспособность видеокарты nvidia:
<pre>$ optirun glxinfo | grep OpenGL</pre>
<pre>$ optirun glxinfo | grep OpenGL</pre>
-
должно получится нечто подобное
+
должно получится нечто подобное:
<pre>OpenGL vendor string: NVIDIA Corporation
<pre>OpenGL vendor string: NVIDIA Corporation
Строка 73: Строка 106:
OpenGL extensions:</pre>
OpenGL extensions:</pre>
-
Можно запускать нужные приложения на видеокарте nvidia командой от пользователя
+
Можно запускать нужные приложения на видеокарте nvidia командой от пользователя, входящего в группу xgrp<ref>см. вывод команды id и файл /etc/group</ref>:
<pre>$ optirun приложение</pre>
<pre>$ optirun приложение</pre>
 +
Запущенные без optirun приложения будут работать на видеокарте intel, при этом видеокарта nvidia будет выключена.
-
Запущенные приложения без optirun будут работать на видеокарте intel при этом видеокарта от nvidia будет выключена.
+
P.S. Замечено на р6, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee:
-
 
+
-
P.S. Замечено что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee
+
<pre># service bumblebeed start</pre>
<pre># service bumblebeed start</pre>
 +
Замечено что в ряде случаев сервис bumblebeed не стартует автоматически при перезагрузке системы и требуется его включение в явном виде. Для проверки следует выполнить команду:
 +
<pre># service bumblebeed status</pre>
 +
Если сервис не активен (вместо active выводится  unknown или что-подобное), то для включения сервиса нужно выполнить команду:
 +
<pre># service bumblebeed enable</pre>
 +
после чего имеет смысл перезагрузить систему.
 +
 +
 +
 +
 +
 +
== Primus ==
 +
Для nvidia optimus собран [https://github.com/amonakov/primus primus], предлагающий некоторое улучшение производительности.
 +
 +
=== установка ===
 +
9) Устанавливаем primus:
 +
 +
<pre># apt-get install primus</pre>
 +
 +
=== проверка ===
 +
Команда запуска приложений через primus:
 +
 +
<pre>$ primusrun приложение</pre>
 +
 +
Также остается возможность запуска приложений через VirtualGL:
 +
 +
<pre>$ optirun приложение</pre>
 +
 +
Для отключения вертикальной синхронизации у primus:
 +
 +
<pre>$ vblank_mode=0 primusrun приложение</pre>
 +
 +
Для нормальной работы 32-х разрядных приложений и игр на 64-х разрядной системе через primus должны быть установлены следующие пакеты: i586-primus, i586-xorg-drv-intel, i586-xorg-dri-intel, i586-nvidia_glx, i586-nvidia_glx_common.
 +
 +
Для запуска игр в steam на карте nvidia primus (особенно 32-х разрядный) обязателен к установке! Чтобы игра стартовала через primus необходимо в свойствах запуска игры в steam прописать следующее:
 +
 +
<pre>primusrun %command%</pre>
 +
 +
где %command% переменная (не надо ее менять на команду запуска игры), steam сам подставит нужную команду.
 +
 +
==Запуск nvidia-settings с установленным bumblebee :==
 +
'''
 +
optirun nvidia-settings -c :8'''
 +
или
 +
'''
 +
primusrun nvidia-settings -c :8'''
 +
 +
== Ссылки ==
 +
* [http://forum.altlinux.org/index.php/topic,28509.0.html Тема на форуме]
 +
* [[nvidia]]
 +
* https://fedoraproject.org/wiki/Bumblebee
 +
* http://nouveau.freedesktop.org/wiki/Optimus/
 +
* http://steamcommunity.com/app/221410/discussions/6/846939854395110175
-
P.S. Лучшее энергосбережение и уменшение температуры чипов наблюдается на ядре un-def
+
== Примечания ==
 +
<references/>
-
Тема на форуме [http://forum.altlinux.org/index.php/topic,28509.0.html]
 
[[Категория:Руководства]]
[[Категория:Руководства]]
 +
{{Category navigation|title=Видеодрайвера|category=Видеодрайвера|sortkey={{SUBPAGENAME}}}}

Текущая версия на 16:21, 1 октября 2016

Данное руководство предназначено для счастливых обладателей ноутбуков с 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
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 

Для тех у кого артефакты при скроллинге, файл будет выглядеть так:

Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    Option "AccelMethod" "uxa"
    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 (особенно 32-х разрядный) обязателен к установке! Чтобы игра стартовала через primus необходимо в свойствах запуска игры в steam прописать следующее:

primusrun %command%

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

Запуск nvidia-settings с установленным bumblebee :

optirun nvidia-settings -c :8

или

primusrun nvidia-settings -c :8

Ссылки

Примечания

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