Конец эпохи неатомарных режимов
Драйвер Nouveau, открытый драйвер для видеокарт NVIDIA, наконец-то готовится изменить поведение по умолчанию. Разработчик из Red Hat Лайд Пауль (Lyude Paul) представил серию патчей, которые включают Atomic Mode-Setting (AMS) для всех поддерживаемых устройств без необходимости ручной настройки. Это решение устраняет одну из последних крупных архитектурных отсталостей среди современных драйверов DRM в ядре Linux.
Зачем это нужно пользователю
Atomic Mode-Setting позволяет пользовательским композиторам (таким как KWin, Mutter или Wayland-компоузеры) передавать полную конфигурацию оборудования ядру в виде единой атомарной транзакции. На практике это означает:
- Значительное снижение мерцания экрана (screen flickering) при переключении разрешений или частоты обновления.
- Более предсказуемое поведение при смене видеорежимов.
- Изоляцию ошибок: если одна часть конфигурации некорректна, система не применит её частично, а откатит всё обратно, предотвращая «синие экраны» или зависания дисплея.
Технические детали и поддержка оборудования
Важно отметить, что AMS не будет принудительно включен для всех карт. Архитектура NV50 (GeForce 8 серии) и новее получают эту функцию по умолчанию. Устройства серии NV04 (очень старые карты GeForce 6/7) остаются без изменений, так как атомарный режим для них никогда не был реализован. Также добавлена отладочная переменная nouveau.atomic для контроля поведения в логах ядра.
| Категория | Детали |
|---|---|
| Архитектура | NV50 (GeForce 8 серия) и новее |
| Исключения | NV04 (GeForce 6/7 серия) — AMS не поддерживается |
| Автор патча | Lyude Paul (Red Hat) |
| Статус | Готов к мержу, ожидается в ядре после v7.3 |
| Эффект | Устранение битрот-эффектов в пользовательском пространстве, повышение стабильности |
Почему это важно сейчас
Ранее Nouveau поддерживал AMS, но он был отключен по умолчанию из-за нехватки тестовых клиентов. Сегодня ситуация изменилась: поддержка неатомарных драйверов в пользовательском пространстве начинает деградировать (bitrot), что приводит к новым ошибкам. Включение AMS по умолчанию решает эти проблемы «из коробки». Лайд Пауль отмечает, что на его машинах с включенным AMS драйвер работает стабильно, за исключением единичного бага с мерцанием, который, вероятно, не связан с самой функцией атомарности.
Когда ждать обновления
С учетом текущих сроков разработки, маловероятно, что патчи попадут в релиз Linux v7.3. Однако ожидается, что изменение будет интегрировано в ядро вскоре после этого цикла, что сделает Nouveau более конкурентоспособным и стабильным решением для современных десктопов на базе NVIDIA.
Источник: Phoronix ↗
