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

Материал из ALT Linux Wiki
Нет описания правки
м (вычитка, викификация, ссылки, примечания)
Строка 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/p7 бранча].
== Bumblebee ==
Рассмотрим процесс установки, настройки и запуска видеокарты nvidia посредством [http://bumblebee-project.org/ bumblebee].
 
=== установка ===
1) Обновляем систему и ядро до текущего [http://www.altlinux.org/Branches/p7 бранча]:


<pre># apt-get update
<pre># apt-get update
Строка 8: Строка 11:
# update-kernel</pre>
# update-kernel</pre>


2)Узнаем версию установленного ядра
2) Узнаем версию установленного ядра:


<pre>$ uname -r</pre>
<pre>$ uname -r</pre>
Строка 14: Строка 17:
<pre>3.4.27-std-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-std-def</pre>
<pre># apt-get remove kernel-modules-drm-nouveau-std-def</pre>


и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него
и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него:


<pre># apt-get install kernel-modules-nvidia-std-def nvidia_glx_common</pre>
<pre># apt-get install kernel-modules-nvidia-std-def nvidia_glx_common</pre>


4)Устанавливаем bbswitch для своего ядра и bumblebee
4) Устанавливаем bbswitch для своего ядра и bumblebee:


<pre># apt-get install kernel-modules-bbswitch-std-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 | grep VGA</pre>
Строка 33: Строка 37:
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"
Строка 60: Строка 64:
EndSection </pre>
EndSection </pre>


7)Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.
7) Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.


8)Перезагружаем систему и проверяем работоспособность видеокарты nvidia
=== проверка ===
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
Строка 74: Строка 79:
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. Замечено, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee<ref>На Sisyphus за 20140209 подобного не наблюдаю</ref>:
 
P.S. Замечено что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee


<pre># service bumblebeed start</pre>
<pre># service bumblebeed start</pre>


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


P.S. На ядре un-def возможно лучшее энергосбережение и уменшение температуры чипов.
== Primus ==
Для nvidia optimus собран [https://github.com/amonakov/primus primus], предлагающий некоторое улучшение производительности.


Для nvidia optimus собран primus.
=== установка ===
 
9) Устанавливаем primus (для запуска 32-битных приложений в 64-битной системе устанавливать дополнительно i586-primus):
9)Устанавливаем primus (для запуска х32 приложений в х64 системе устанавливать дополнительно i586-primus)


<pre># apt-get install primus</pre>
<pre># apt-get install primus</pre>


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


<pre>$ primusrun приложение</pre>
<pre>$ primusrun приложение</pre>


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


<pre>$ optirun приложение</pre>
<pre>$ optirun приложение</pre>


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


<pre>$ vblank_mode=0 primusrun приложение</pre>
<pre>$ vblank_mode=0 primusrun приложение</pre>


Тема на форуме [http://forum.altlinux.org/index.php/topic,28509.0.html]
== Ссылки ==
* [http://forum.altlinux.org/index.php/topic,28509.0.html Тема на форуме]
* [[nvidia]]
* https://fedoraproject.org/wiki/Bumblebee
 
== Примечания ==
<references/>
 
[[Категория:Руководства]]
[[Категория:Руководства]]
[[Категория:Hardware]]

Версия от 17:01, 9 февраля 2014

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

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 приложение

Ссылки

Примечания

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