Nvidia-xrun (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи Nvidia-xrun. Дата последней синхронизации: 16 октября 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Nvidia-xrun — утилита, запускающая X сервер, используя дискретный графический процессор NVIDIA, на ноутбуках с поддержкой NVIDIA Optimus. Это решение предлагает полное использование GPU, а также повышенные совместимость и производительность.

X сервер работает либо с интегрированным, либо с дискретным графическим процессором, но не с обоими сразу. Для использования другой видеокарты переключитесь на отдельную виртуальную консоль и запустите еще один X сервер.

Установка

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: По состоянию на nvidia-xrun 0.4 форк с управлением питанием был объединён с основной ветвью и bbswitch больше не используется, в связи с чем могут последовать изменения в AUR-пакетах и конфигурации bbswitch (Discuss in Talk:Nvidia-xrun (Русский))

Установите:

Настройка

Установка корректного идентификатора шины

Примечание: Идентификатор шины в /etc/X11/nvidia-xorg.conf задаётся автоматически при установке пакета из AUR. Убедитесь, что задан правильный идентификатор, а в противном случае измените его вручную (корректный идентификатор шины можно получить с помощью команды lspci). В некоторых случаях придётся сконвертировать шестнадцатеричный формат вывода команды lspci в десятичный для /etc/X11/nvidia-xorg.conf, например, 3b:00.0 становится PCI:59:0:0.

Найдите ID шины вашего дисплея:

 $ lspci | grep -i nvidia | awk '{print $1}'

Выход будет аналогичен этому примеру: 01:00.0.

После чего создайте файл, например, /etc/X11/nvidia-xorg.conf.d/30-nvidia.conf, для установки правильного ID шины:

/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
EndSection

Также можете изменить настройки NVIDIA, если возникли проблемы:

/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    #  Option "AllowEmptyInitialConfiguration" "Yes"
    #  Option "UseDisplayDevice" "none"
EndSection

Автоматический запуск оконного менеджер

Для удобства можете создать файл ~/.nvidia-xinitrc для запуска openbox:

if [ $# -gt 0 ]; then
  $*
else
  openbox-session
  # Alternatively, you can also use xfce4:
  # xfce4-session
fi

Тогда не придётся указывать приложение, просто выполните команду:

$ nvidia-xrun

Использование bbswitch для управления картой NVIDIA

Когда карта NVIDIA не нужна, для отключения используется bbswitch. Скрипт nvidia-xrun автоматически позаботится о запуске оконного менеджера и включения карты NVIDIA. Для этого следует:

  • Загрузить модуль bbswitch при включении:
 # echo 'bbswitch ' > /etc/modules-load.d/bbswitch.conf
  • Отключить модуль nvidia при включении:
 # echo 'options bbswitch load_state=0 unload_state=1' > /etc/modprobe.d/bbswitch.conf 

После перезагрузки видеокарта NVIDIA будет отключена. Чтобы это увидеть, проверьте статус bbswitch:

 $ cat /proc/acpi/bbswitch  

Для принудительно включения или выключения видеокарты, выполните:

 # tee /proc/acpi/bbswitch <<<ON
 # tee /proc/acpi/bbswitch <<<OFF

Подробнее о bbswitch смотрите в Bumblebee-Project/bbswitch.

Использование

После загрузки системы войдите в пользователя с виртуальной консоли и выполните nvidia-xrun <приложение>.

Если способ выше не работает, переключитесь на неиспользуемую виртуальную консоль и попробуйте снова.

Как упоминалось ранее, запуск приложений напрямую с помощью nvidia-xrun <application> не работает как следует, поэтому лучше создать ~/.nvidia-xinitrc, как описано выше, и использовать nvidia-xrun для запуска оконного менеджера.

Решение проблем

Графический процессор NVIDIA не отключается или устанавливается по умолчанию

Если графический процессор NVIDIA по-прежнему не отключается или устанавливается по умолчанию, то придётся занести в чёрный список модули, приведённые ниже. Создайте этот файл и перезапустите систему:

/usr/lib/modprobe.d/nvidia-xrun.conf
blacklist nvidia
blacklist nvidia-drm
blacklist nvidia-modeset
blacklist nvidia-uvm
blacklist nouveau

Убедитесь, что DRM Kernel Mode Setting отключен. См. NVIDIA (Русский)#DRM kernel mode setting и Kernel mode setting (Русский) для получения более подробной информации.