Компания NVIDIA представила выпуск новой ветки проприетарного драйвера NVIDIA 545.29.02. Драйвер доступен для Linux (ARM64, x86_64), FreeBSD (x86_64) и Solaris (x86_64). NVIDIA 545.x стала шестой стабильной веткой после открытия компанией NVIDIA компонентов, работающих на уровне ядра. Исходные тексты модулей ядра nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory) из новой ветки NVIDIA, а также используемые в них общие компоненты, не привязанные к операционной системе, опубликованы на GitHub. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.
Основные новшества:
- Добавлена экспериментальная поддержка HDMI с 10 битами на цветовой канал (включается через параметр “hdmi_deepcolor=1”).
- Для механизма KMS (Kernel Mode Setting) реализована поддержка свойств CRTC (CRT Controller) CTM, DEGAMMA_LUT и GAMMA_LUT, необходимых для реализации ночного режима в окружениях GNOME и KDE, использующих протокол Wayland.
- Для композитных серверов на базе протокола Wayland, поддерживающих режим “DRM leasing”, добавлена поддержка шлемов виртуальной реальности, таких как SteamVR. Для работы требуется наличие версий wayland-protocols 1.22+ и xwayland 22.1.0+. Работа протестирована с композитными серверами Kwin 5.24 и Sway 1.7.
- Добавлен драйвер NVIDIA VDPAU для Xwayland, позволяющий обеспечить поддержку API VDPAU (Video Decode and Presentation) для X11-приложений, запускаемых при помощи Xwayland.
- В модуль nvidia-drm встроена экспериментальная поддержка консолей на базе фреймбуфера, которую можно использовать в Linux вместо штатной загрузочной консоли, предоставляемой такими драйверами, как efifb и vesafb. Поддержка консоли в nvidia-drm включается при загрузке модуля с параметрами “modeset=1” и “fbdev=1”.
- В открытых модулях для ядра реализована поддержка GPU серий GeForce и Workstation.
- Добавлена экспериментальная поддержка механизма динамического управления энергопотреблением RTD3 (Runtime D3) на GPU для ПК.
- Добавлена поддержка EGL-расширения EGL_ANDROID_native_fence_sync, а также Vulkan-расширений VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT и VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, доступных при загрузке модуля ядра nvidia-drm с параметром “modeset=1”.
- В инсталлятор nvidia-installer добавлена возможность установки
нового драйвера при наличии в системе уже загруженного драйвера NVIDIA. - Налажена работа режима VRR (Variable Refresh Rate) в окружениях на базе Wayland.
- В состав включена библиотека libnvidia-gpucomp.so, используемая для компиляции шейдеров.
- Удалена библиотека libnvidia-vulkan-producer.so, которая больше не требуется в Wayland WSI (Window System Integration).
- Добавлена поддержка передачи информации о высоком динамическом диапазоне яркости (HDR) через DRM-свойство HDR_OUTPUT_METADATA.
- В Vulkan Wayland WSI добавлена поддержка технологии PRIME для выноса операций рендеринга на другие GPU (PRIME Render Offload).
Дополнительно можно отметить корректирующие выпуски прошлых веток драйверов NVIDIA 470.223.02 (для GPU GKxxx “Kepler”) и 535.129.03.