Pull to refresh
232.58
ITSumma
Эксперты в производительности

Nvidia тихо выпустила поддержку динамического режима работы Vulkan и OpenGL + GLX в PRIME на Linux

Reading time2 min
Views22K
Компания Nvidia без лишнего шума и анонсов добавила в драйверах версии 435.17 для Linux поддержку работы с Vulkan и OpenGL + GLX в динамическом (on-demand) режиме рендеринга PRIME. Поддержки EGL пока нет.


Вся масштабность анонса в одном скриншоте

PRIME — это Linux-реализация системы распределения рендеринга приложений по нескольким графическим процессорам известной как Nvidia Optimus, что актуально для ноутбуков, оснащенных, например, связкой из встроенного видео Intel HD Graphics и дискретным чипом Nvidia.

Режим PRIME актуален для тех, кто пытается сэкономить заряд батареи, при этом сохраняя возможность при необходимости максимально использовать ресурсы системы. Он позволяет рендерить на более производительном дискретном чипе какое-то конкретное приложение, а для работы всего остального — задействовать встроенное в CPU видео.

Для работы в режиме PRIME вам понадобится X Server, а также желание пропатчить его вручную. Коммиты, которые позволяют запустить вышеупомянутые изменения, уже есть в мастер-ветке проекта X Server на Git, но еще не вошли ни в один из релизов.

NVIDIA's PRIME render offload support requires the following git commits in the X.Org X server:

7f962c70 — xsync: Add resource inside of SyncCreate, export SyncCreate
37a36a6b — GLX: Add a per-client vendor mapping
8b67ec7c — GLX: Use the sending client for looking up XID's
56c0a71f — GLX: Add a function to change a clients vendor list

b4231d69 — GLX: Set GlxServerExports::{major,minor}Version

Полную информацию по сборке X Server и настройке экранов можно найти тут.

У пользователей Ubuntu 18.04 и 19.04 есть альтернатива и они могут воспользоваться собранным на стороне Nvidia ppa-репозиторием.

Также вам потребуется настроить переменные среды для выгрузки рендера разных типов приложений.

Для приложений Vulkan нужно использовать __NV_PRIME_RENDER_OFFLOAD=1

Например:

__NV_PRIME_RENDER_OFFLOAD=1 vkcube.

Для приложений GLX вам нужно использовать оба:

__NV_PRIME_RENDER_OFFLOAD=1 и __GLX_VENDOR_LIBRARY_NAME=nvidia.

Например:

__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
.



Все ссылки:


Tags:
Hubs:
Total votes 25: ↑25 and ↓0+25
Comments7

Other news

Information

Website
www.itsumma.ru
Registered
Founded
Employees
101–200 employees
Location
Россия
Representative
ITSumma