История с поддержкой современных HDMI-функций в открытых драйверах Linux напоминает детектив. Поскольку спецификации HDMI 2.1 и выше закрыты HDMI Forum, разработчикам приходится идти окольными путями. Томаш Пакула (Tomasz Pakuła) представил вторую, доработанную версию патчей для драйвера AMDGPU, которые добавляют две ключевые игровые технологии для HDMI: Variable Rate Refresh (VRR, аналог FreeSync) и Auto Low Latency Mode (ALLM). Эти патчи — результат анализа обратной инженерии и ограниченной публичной информации.
Что реализуют новые патчи?
Основная цель — догнать по функциональности DisplayPort, где FreeSync/Adaptive-Sync работает уже давно.- HDMI Variable Rate Refresh (VRR): Технология, синхронизирующая частоту обновления монитора с FPS игры, устраняя разрывы кадров и делая геймплей плавным.
- HDMI Auto Low Latency Mode (ALLM): Автоматическое переключение монитора в игровой режим с минимальной задержкой ввода (input lag), когда система обнаруживает запуск игры.
Ключевые изменения во второй версии патчей
Первая версия вызвала обсуждение в сообществе, и вторая итерация включает важные доработки:- Исправление значения BRR: Максимальное значение для BRR (Blanking Refresh Rate) исправлено на 1023 (максимум для 10-битного поля).
- Умный триггер для ALLM: Режим ALLM теперь активируется только если уже активен VRR или если контент помечен как «Игра» (Content Type Hint). Это предотвращает ложные срабатывания. Поддержка метки типа контента уже есть в AMDGPU.
- Гибкое управление через параметры ядра: Добавлены два новых модульных параметра:
- amdgpu.allm_mode= (0 – выключить, 1 – динамически по VRR/игре [по умолчанию], 2 – всегда включён).
- amdgpu.hdmi_vrr_desktop_mode= (true – VRR всегда активен в рабочем столе [по умолчанию, как в Windows], false – отключить эту функцию). Включение этого режима исправляет множество проблем с мерцанием и артефактами при входе/выходе из VRR.
- Централизация логики: Проверка HDMI VIC-режимов вынесена в единую функцию, чтобы избежать ошибок при обработке 3D и ALLM в разных местах кода.
Почему это важно и каковы перспективы?
- Справедливость для пользователей HDMI: Владельцы современных телевизоров и мониторов с HDMI, но без DisplayPort, наконец-то получат доступ к плавному геймплею и низкой задержке на Radeon под Linux.
- Технический подвиг: Патчи — яркий пример того, как сообщество справляется с искусственными ограничениями, наложенными консорциумами. Это разработка «вслепую», но она работает.
- Правовые риски: Главный вопрос — пропустят ли эти патчи юристы AMD и согласятся ли инженеры компании влить их в основную ветку upstream, учитывая юридическую серость области обратной инженерии HDMI.
- Сроки: Патчи опоздали для включения в грядущий цикл ядер Linux 6.20/7.0. Оптимистичный сценарий — они могут быть приняты и попасть в ядро к лету 2026 года, если не встретят препятствий.
Обновлённая серия патчей сейчас доступна для обсуждения в рассылке разработчиков графики DRI. Сообществу предлагается протестировать и высказать своё мнение.