Компания NVIDIA опубликовала первый стабильный выпуск новой ветки проприетарного драйвера NVIDIA 470.57.02. Драйвер доступен для Linux (ARM, x86_64), FreeBSD (x86_64) и Solaris (x86_64).
Основные новшества:
- Добавлена начальная поддержка аппаратного ускорения OpenGL и Vulkan для приложений X11, выполняемых в Wayland-окружениях при помощи DDX-компонента Xwayland. Судя про проведённым тестам, при использовании ветки драйвера NVIDIA 470 производительность OpenGL и Vulkan в X-приложениях, запущенных при помощи XWayland, почти не отличается от запуска под управлением обычного X-сервера.
- Реализована возможность использования технологии NVIDIA NGX в Wine и пакете Proton, развиваемом компанией Valve для запуска Windows-игр в Linux. В том числе в Wine и Proton теперь можно запускать игры, поддерживающие технологию DLSS, позволяющую использовать Tensor-ядра видеокарт NVIDIA для реалистичного масштабирования изображений с использованием методов машинного обучения для увеличения разрешения без потери качества.
Для использования функциональности NGX в Windows-приложениях, запускаемых при помощи Wine, в состав включена библиотека nvngx.dll. На стороне Wine и стабильных выпусков Proton поддержка NGX пока не реализована, но в ветку Proton Experimental уже начато включение изменений для поддержки данной функциональности.
- Добавлена поддержка новых GPU: GeForce RTX 3070 Ti, GeForce RTX 3080 Ti, T4G, A100 80GB PCIe, A16,
PG506-243, PG506-242,
CMP 90HX, CMP 70HX, A100-PG506-207, A100-PG506-217,
CMP 50HX. - Сняты ограничения на число одновременно работающих контекстов OpenGL, которые теперь ограничены только размером имеющейся памяти.
- Добавлена поддержка технологии PRIME для выноса операций отрисовки на другие GPU (PRIME Display Offload) в конфигурациях, в которых исходный и целевой GPU обрабатываются драйвером NVIDIA, а также когда исходный GPU обрабатывается драйвером AMDGPU.
- Добавлена поддержка новых Vulkan-расширений: VK_EXT_global_priority (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT, позволяет использовать асинхронное перепроецирование в SteamVR), VK_EXT_global_priority_query, VK_EXT_provoking_vertex,
VK_EXT_extended_dynamic_state2,
VK_EXT_color_write_enable,
VK_EXT_vertex_input_dynamic_state, VK_EXT_ycbcr_2plane_444_formats,
VK_NV_inherited_viewport_scissor. - Для использования глобальных свойств Vulkan, отличных от VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT, теперь требуется наличие root-доступа или привилегий CAP_SYS_NICE.
- Добавлен новый модуль ядра nvidia-peermem.ko, позволяющий использовать RDMA для прямого доступа сторонних устройств, таких как Mellanox InfiniBand HCA (Host Channel Adapters), к памяти GPU NVIDIA без копирования данных в системную память.
- По умолчанию включена инициализация SLI при использовании GPU с разным объёмом видеопамяти.
- В nvidia-settings и NV-CONTROL по умолчанию предоставлены инструменты для управления кулером для плат, поддерживающих программное управление кулером.
- В состав включена прошивка gsp.bin, которая используется для выноса инициализации и управления GPU на сторону чипа GPU System Processor (GSP).
Одновременно на конференции Game Developers Conference компания NVIDIA объявила об открытии под лицензией MIT исходных текстов SDK-инструментария RTXMU (RTX Memory Utility), позволяющего использовать уплотнение и субраспределение буферов BLAS (bottom level acceleration structures) для значительного сокращения потребления видеопамяти. Уплотнения даёт возможность снизить общее потребление памяти BLAS на 50%, а субраспределение повышает эффективность хранения буферов, за счёт объединения нескольких мелких буферов в страницы, размером
64 KB или 4 MB.
NVIDIA также открыла под лицензией MIT код библиотеки NVRHI (NVIDIA Rendering Hardware Interface) и фреймворка Donut. NVRHI представляет собой абстрактную прослойку, функционирующую поверх разных графических API (Direct3D 11, Direct3D 12, Vulkan 1.2) в Windows и Linux. Donut предоставляет набор готовых компонентов и стадий отрисовки для создания прототипов систем рендеринга, работающих в режиме реального времени.
Кроме того, компания NVIDIA обеспечила поддержку Linux и архитектуры ARM в SDK: DLSS (Deep Learning Super Sampling, реалистичное масштабирование изображений с использованием методов машинного обучения), RTXDI (RTX Direct Illumination, динамическое освещение), RTXGI (RTX Global Illumination, воссоздание отражения света), NRD (NVIDIA Optix AI-Acceleration Denoiser, использование машинного обучения для ускорения реалистичного рендеринга изображений).