Суть предложения: от хаоса к контролю
Николя Фрарроли (Nicolas Frattaroli) из Collabora представил серию из 25 патчей, внедряющих новый пользовательский API (uAPI) для управления Variable Refresh Rate (VRR) в Linux. Главная цель — дать приложениям, играм и композиторам возможность явно задавать целевой диапазон или фиксированную частоту обновления. Это позволяет избежать «реальных» проблем, когда VRR работает в неоптимальных диапазонах, вызывая видимое мерцание яркости (brightness flicker) или дергание (judder).
Технические детали и поддержка драйверов
Предлагаемое решение не только ограничивает диапазон, но и добавляет свойство коннектора для QMS (Quick Media Switching). Это позволяет сигнализировать о предстоящем изменении частоты заранее, что критично для медиаплееров и телевизоров, где сложные алгоритмы обработки не должны отключаться из-за внезапных скачков частоты. Патчи уже реализуют «Game Mode» VRR для помощников состояния HDMI и драйвера Rockchip RK3588.
Ключевые возможности нового интерфейса
| Функция | Описание | Польза для пользователя |
|---|---|---|
| Ограниченный диапазон VRR | Задание минимальной и максимальной частоты, в которой должен работать VRR | Исключение диапазонов, вызывающих мерцание яркости |
| Фиксированная цель | Установка жесткой целевой частоты обновления | Максимальная стабильность изображения для контента с постоянной частотой |
| QMS (Quick Media Switching) | Предварительное уведомление о смене частоты | Плавный переход в медиаплеерах без отключения обработки видео |
Статус разработки и доступность
Инициатива была обсуждена на хакатоне Display Next Hackfest текущего года. Исходный код (RFC-патчи) доступен на рассылке dri-devel. Для тестирования также подготовлена ветка vrr-limiter в Git, содержащая патчи против референсного композитора Weston. Это первый шаг к стандартизации управления VRR на уровне ядра Linux, что в будущем позволит разработчикам игр и приложений тонко настраивать вывод изображения без участия пользователя.
Источник: Phoronix ↗
