Стан підтримки Wayland у драйверах NVIDIA
Остін Шафер, який працює в компанії NVIDIA над драйвером для платформи Linux, опублікував звіт про стан підтримки Wayland у пропрієтарних драйверах NVIDIA. Він перелічив області, в яких можливості, пов’язані з Wayland, поки що відстають від X11.
Це відставання пов’язане як з проблемами в самому драйвері NVIDIA, так і з загальними обмеженнями протоколу Wayland та композитних серверів на його основі. Інформація відповідає гілці драйверів NVIDIA 575, яка зараз перебуває на стадії бета-тестування.
Обмеження, пов’язані з протоколом Wayland
Деякі можливості поки не планується підтримувати в драйверах NVIDIA на системах з Wayland і Xwayland через обмеження самого протоколу Wayland і композитних серверів:
- Стереовивід з різними буферами для лівого та правого ока через GLX, EGL та Vulkan.
- Режим SLI Mosaic для об’єднання кількох GPU в один логічний GPU.
- Повноцінні налаштування через конфігуратор nvidia-settings через відсутність єдиного механізму конфігурації екранів у Wayland.
Можливості через Vulkan Direct to Display
Водночас деякі функції можна реалізувати в програмах через графічний API Vulkan і розширення VK_KHR_display, яке дозволяє працювати безпосередньо з екраном, минаючи композитний сервер:
- Стереовивід через VK_KHR_multiview з відрисовкою у кілька в’юпортів.
- Режим Vulkan Explicit SLI через VK_KHR_device_group.
- Групи фреймбуферів через VK_NV_present_barrier.
- Блокування кадрів (Frame Lock) і загальні блокування (Genlock).
Майбутній розвиток підтримки Wayland у драйверах NVIDIA
Деякі функції вже знаходяться в розробці або плануються до впровадження в майбутніх випусках драйверів NVIDIA:
- Встановлення за замовчуванням параметра “nvidia-drm modeset=1”.
- Підтримка дисплейних мультиплексорів на ноутбуках з двома GPU для прямого з’єднання дискретного GPU з вбудованим або зовнішнім екраном.
- Розширені режими дисплеїв: деформація, змішування, зміщення пікселів та властивості COLOR_ENCODING/COLOR_RANGE.
- Підтримка в nvidia-drm механізму Presentation Timing для синхронізації виведення кадрів на екран.
- Підтримка API VDPAU для апаратного прискорення обробки відео в різних форматах.
- Підтримка технології vGPU для віртуальних GPU NVIDIA в системах віртуалізації.
Нещодавні покращення у драйвері NVIDIA
З моменту попереднього звіту в драйвер було додано такі можливості:
- Використання VRR (Variable Refresh Rate) в багатомоніторних конфігураціях з Wayland.
- Встановлення за замовчуванням параметра “nvidia-drm fbdev=1”, що вирішує проблеми з некоректним виведенням при використанні одного екрана драйверами nvidia-drm і simpledrm.
- Використання з Xwayland буфера виведення на екран (front-buffer) при подвійній буферизації.
Незважаючи на поточні обмеження, команда NVIDIA активно працює над покращенням підтримки Wayland у своїх драйверах. Завдяки цим зусиллям, розрив між можливостями X11 та Wayland поступово зменшується, що сприяє кращій інтеграції графічних карт NVIDIA з сучасними композитними серверами Linux.