Компания NVIDIA опубликовала стабильный выпуск новой ветки проприетарного драйвера NVIDIA 555.58. Драйвер доступен для Linux (ARM64, x86_64), FreeBSD (x86_64) и Solaris (x86_64). NVIDIA 550.x стала седьмой стабильной веткой после открытия компанией NVIDIA компонентов, работающих на уровне ядра. Исходные тексты модулей ядра nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory) из новой ветки NVIDIA, а также используемые в них общие компоненты, не привязанные к операционной системе, размещены на GitHub. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.
Основные изменения:
- На системах с GPU на базе Turing (GeForce GTX 1600 и RTX 2000) и более новых микроархитектур, оснащённых микроконтроллером GSP (GPU System Processor), в который вынесены операции инициализации и управления GPU, по умолчанию задействован код, использующий вызовы из прошивки к GSP. Для отключения использования прошивки GSP в модуле ядра можно использовать параметр “NVreg_EnableGpuFirmware=0”.
- Добавлена поддержка Waland-протокола linux-drm-syncobj-v1, который предоставляет инструменты для явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер. С практической стороны реализация протокола позволяет использовать на системах с драйверами NVIDIA механизм “explicit sync“, дающий возможность снизить задержки, избавиться от появления артефактов и устранить подвисаний при выводе графики на системах с GPU NVIDIA и включённой поддержкой Wayland.
- Минимально поддерживаемая версия ядра Linux увеличена с 3.10 до 4.15.
- В Vulkan Wayland WSI (Window System Integration) добавлена поддержка режима мгновенного отображения (immediate presentation), обеспечивающего отрисовку выводимого приложениями содержимого без ожидания композитным менеджером завершения вертикального гасящего импульса, что может привести к разрывам изображения при выводе.
- Включена по умолчанию поддержка HDMI с 10 битами на цветовой канал (отключается через параметр “hdmi_deepcolor=0”).
- В инталляторе nvidia-installer реализован вывод запроса, позволяющего выбрать между открытыми и проприетарными модулями ядра Linux, на системах в которых они поддерживаются. В версии драйверов NVIDIA 560 открытые модули планируют задействовать по умолчанию.
- Предоставлена возможность использования EGL вместо GLX в качестве драйвера OpenGL ICD (Installable Client Driver) для API захвата экрана NvFBC (NVIDIA Frame Buffer Capture).
- Временно отключена поддержка OpenGL-расширения GLX_EXT_buffer_age extension для Xwayland из-за ошибки, приводящей к нарушению отрисовки.
- Удалена поддержка режима Base Mosaic, который ранее был доступен только для некоторых GPU и ограничивался поддержкой не более 5 экранов.
Release.
Ссылка here.