PRIME Render Offload в Arch и Manjaro Linux

С выходом проприетарного драйвера NVIDIA 435.21 в свет появился PRIME Render Offload.

Официальный мануал нвидии (смотреть сюда, если что-то пошло не так)

Арчевики (смотреть сюда если очень хочется)

Что и зачем?

Эта нативная функция заменяет Bumblebee и Optimus-Manager. По функциональности он похож на первый, по качеству  на второй.

Конечно же первым делом вырубаем топором из системы bumblebee или optimus-manager

P.S. Удалять Optimus-Manager не обязательно, так как он поддерживает данный режим и называется hybrid

sudo pacman -Rс bumblebee
sudo pacman -Rс optimus-manager

Для установки требуются драйвера Nvidia 435.21 и новее сейчас — 440хх.

В Manjaro он устанавливается из программы manjaro-settings.
(Для видеокарт серий 600-700 возможно в MHWD будет отображаться только 418хх драйвер, тогда драйвер устанавливать нужно через пакетный менеджер)
! Если 418хх драйвер не указывается в MHWD, тогда PRIME render offload вам не подходит, используйте Bumblebee с 390хх версией драйверов.

Сначала нужно удалить bumblebee, а затем насильно установить драйвер 435 (440) версии (если будет ругаться — не пугайтесь).

После установки, требуется настроить Xorg.conf.

Если вы не хотите заниматься этим вручную, спускаемся до установки пакета «Prime»

Убедитесь что в каталоге /etc/X11/ нет файла xorg.conf

Изменения будем вносить в файл xorg.conf.d/10-nvidia.conf

sudo nano /etc/X11/xorg.conf.d/10-nvidia.conf

И вставляем следующее содержимое

Section "ServerLayout"
  Identifier     "Layout0"
    Option         "AllowNVIDIAGPUScreens"
    Screen      0  "iGPU" 0 0
EndSection

Section "Device"
    Identifier     "iGPU"
    Driver         "modesetting"
    BusID          "PCI:0:2:0" #Проверить свой BusID
EndSection

Section "Device"
    Identifier     "dGPU"
    Driver         "nvidia"
    BusID          "PCI:1:0:0" #Проверить свой BusID
EndSection

Section "Screen"
    Identifier     "iGPU"
    Device         "iGPU"
    DefaultDepth    24
    SubSection     "Display"
    Viewport    0 0
    EndSubSection
EndSection

Section "OutputClass"
    Identifier "iGPU"
    MatchDriver "i915"
    Driver "modesetting"
EndSection

Section "OutputClass"
    Identifier "dGPU"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

Чтобы узнать BusID, воспользуйтесь командой:

lspci -k | grep -A 2 -E "(VGA|3D)"

В начале строки будет ID в формате XX:XX.X

После чего перезагружаемся

reboot

При вводе команды вы должны увидеть 2 видеокарты

xrandr --listproviders

Пример

Если показывает только интел, смотрите логи Xorg:

grep /var/log/Xorg.0.log -e "EE" -e "WW"

Для запуска программы под Nvidia используем пример следующий команды

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep OpenGL

Если у вас вылезает ошибка по типу такой:

Смотрите логи Xorg.

Установка PRIME

Для максимального удобства уважаемый @Feresey забубенил пакет Prime

Данный пакет содержит готовый Xorg.conf и сократит столь длинную строчку запуска до короткого слова prime 

Для установки выполните команду

yay -S prime

И затем скопируйте конфиг

sudo cp /{usr/share,etc}/X11/xorg.conf.d/10-nvidia.conf

На этом все

Если что-то пошло не так всегда есть возможность проверить лог файл на ошибки

grep /var/log/Xorg.0.log -e "EE" -e "WW"

С патченными ядрами данный фокус не работает (по крайней мере с linux-pf). Причина в том, что модуль nvidia не загружается. Говорит, что модуля нет, хотя он есть. Даже использование nvidia-dkms не помогло, поэтому советую смириться и использовать обычное ядро арча/манджары.

 

Дополнение по играм

З.Ы. установите prime, не мучайтесь

Запуск игр в «Steam»
Lutris оказывает нативную поддержку prime render offload:

Для запуска Vulkan’a в Lutris не забываем выбрать ICD loader

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Вы можете быть заинтересованы в Cледующем

Подписаться
Уведомление о
guest
23 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

[…] видеокарт, работа данного режима описана в статье про PRIME Render Offload в Arch и Manjaro Linux. Для данного режима так же требуются 435 драйвер и […]

Anonim

Сколько не танцевал, завести так и не удалось. Видимо не дорос еще.

Anonim

Ну сейчас стоит nvidia-435.21-7. У меня после всего что описано в статье, загружается все на nvidia почему то. А должно б было на Intel я так понимаю 🙂

Anonim

Может кто сможет подсказать что не так? Вот что нашлось в логах [ 63.074] Current Operating System: Linux Lenovo-Y700 5.3.1-arch1-1-ARCH #1 SMP PREEMPT Sat Sep 21 11:33:49 UTC 2019 x86_64 (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 63.103] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) [ 63.184] (WW) Falling back to old probe method for modesetting [ 63.574] (WW) NVIDIA(G0): Unable to get display device for DPI computation. [ 63.601] (WW) NVIDIA(G0): Option «PrimaryGPU» is not used [ 63.670] (II) Initializing extension MIT-SCREEN-SAVER [ 64.184] (EE) Failed to open authorization file «/var/run/sddm/{0f1c39c5-34b0-428a-b09b-4801a505af97}»: No such… Подробнее »

Feresey

чё как, разобрались?

Anonim

Да. Оказалось все работает. Просто я немного другого ожидал. Думал nvidia будет вообще отключена до момента когда понадобится какой то программе.

Anonim

Смотрю в репозитории уже версия xorg 1.20.5-4 появилась. Не пробовали обновить, есть в ней нужные патчи уже? Или их в основную сборку и не собираются добавлять? Может можно где то почитать об етом, или только обновлять и проверять?

Anonim

Понял, спасибо. Надеюсь его все таки скоро добавят. А пока придется в черный список добавить ети пакеты чтоб не обновлялись.

Feresey

Что-то мне подсказывает что их не добавят никогда. В манжаре кстати их добавили в той же версии 20.5-4.
Как вариант — юзать xorg-server-git из аура. Он поновее будет, и с патчами.

Anonim

У меня xorg-server-git почему то не собирается. Выдает какую то ошибку. Раньше собирался а сейчас перестал и некогда разобраться почему.

Дмитрий

Добрый день открываю лог а там это (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 6.229] (WW) The directory «/usr/share/fonts/OTF» does not exist. [ 6.229] (WW) The directory «/usr/share/fonts/Type1» does not exist. [ 6.230] (WW) fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi". [ 6.230] (WW)fonts.dir’ not found (or not valid) in «/usr/share/fonts/75dpi». [ 7.583] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) [ 7.608] (WW) Falling back to old probe method for modesetting [ 10.007] (WW) NVIDIA(G0): Unable to get display device for DPI computation. [ 10.150] (WW) NVIDIA(G0): Option «PrimaryGPU» is not used [… Подробнее »

Дмитрий

я специально переустановил (все почистил и поставил) и сразу же после всех обновлений поставил video-hybrid-intel-nvidia-440xx-prime , потом дальше по гайду вручную просто добавил в конфиг выше упомянутое и перезагрузился

CPU: 6-Core Intel Core i7-8750H (-MT MCP-) speed/min/max: 800/800/4100 MHz
Kernel: 5.6.11-1-MANJARO x86_64 Up: 11m Mem: 1129.1/15864.4 MiB (7.1%) Storage: 1.14 TiB (0.7% used)

Graphics: Device-1: Intel UHD Graphics 630 driver: i915 v: kernel
Device-2: NVIDIA GP106M [GeForce GTX 1060 Mobile] driver: nvidia v: 440.82
Display: x11 server: X.org 1.20.8 driver: modesetting,nvidia resolution:
OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.0.6

Дмитрий

может что-то щас поменялось после обнов )

Дмитрий

изменил modesetting на intel только одна ошибка убралась про permission остальные на месте [ 5.968] (WW) Failed to open protocol names file lib/xorg/protocol.txt [ 5.969] Current Operating System: Linux rbk 5.6.11-1-MANJARO #1 SMP PREEMPT Wed May 6 10:20:32 UTC 2020 x86_64 (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 5.973] (WW) The directory «/usr/share/fonts/OTF» does not exist. [ 5.973] (WW) The directory «/usr/share/fonts/Type1» does not exist. [ 5.973] (WW) fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi". [ 5.973] (WW)fonts.dir’ not found (or not valid) in «/usr/share/fonts/75dpi». [ 7.357] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or… Подробнее »

Дмитрий

ядро поменял на предыдущее LTS ошибки те же(

Stez

Проблема в том что я не вижу ошибок, только варнинги

Алексей

А что делать если файл Xorg.conf.d есть в каталоге /etc/X11/?

bodryj

Сначала нужно удалить bumblebee, а затем насильно установить драйвер 435 (440) версии (если будет ругаться — не пугайтесь).

Насильно это как? у меня как раз 750m, драйверов в pamac дохрена, зависят ли они от ядра? Искать ли гибрид? Какой же драйвер ставить и как заставить его работать?

Last edited 9 дней назад by bodryj
Stez

В манжаре достаточно установить драйвер из mhwd с добавлением «-prime»
И все должно автоматом настроиться

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: