Остін Шафер (Austin Shafer), що працює в компанії NVIDIA над драйвером для платформи Linux, опублікував звіт з інформацією про стан підтримки Wayland у пропрієтарних драйверах NVIDIA, і перерахував області в яких пов'язані з Wayland можливості поки що відстають від X11. Відставання пов'язане як із проблемами у самому драйвері NVIDIA, так і із загальними обмеженнями протоколу Wayland та композитних серверів на його основі. Інформація відповідає галузі драйверів NVIDIA 575, що знаходиться на стадії бета-тестування.
Можливості, які поки що не планується підтримувати в драйверах NVIDIA на системах з Wayland та Xwayland через обмеження протоколу Wayland та композитних серверів:
- Стеревивід (формування стереокартинки з різними буферами для лівого та правого ока), використовуючи GLX, EGL та Vulkan.
- Режим SLI Mosaic дозволяє об'єднати кілька GPU в один логічний GPU для створення великого віртуального екрану, що складається з декількох дисплеїв.
- Конфігуратор nvidia-settings не дозволяє досягти ідентичного рівня налаштувань у різних композитних менеджерах, оскільки на системах з Wayland відсутній єдиний механізм конфігурації екранів.
Деякі функції не вдається реалізувати через неможливість забезпечити їхню однакову підтримку в різних композитних серверах Wayland. Але при цьому дані можливості можуть бути реалізовані в додатках, використовуючи графічний API Vulkan і Vulkan-розширення VK_KHR_display (Vulkan Direct to Display), що дозволяє безпосередньо працювати з екраном, минаючи композитний сервер. Через Vulkan та пряму взаємодію з GPU буде надано можливість використання в додатках наступних функцій (додавання підтримки може вимагати внесення змін до додатків):
- Стереовивід (може бути реалізований через VK_KHR_multiview з відмальовуванням у кілька в'юпортів).
- Режим Vulkan Explicit SLI (через VK_KHR_device_group).
- Групи фреймбуферів (Swap Group через VK_NV_present_barrier).
- Блокування кадрів (Frame Lock) та загальні блокування (Genlock).
Можливості, які вже знаходяться у розробці або які планується додати у майбутніх випусках драйверів NVIDIA:
- Підтримка використання з Wayland дисплейних мультиплексорів (mux), що використовуються на ноутбуках із двома GPU (інтегрованим та дискретним) для прямого з'єднання дискретного GPU c вбудованим або зовнішнім екраном. У конфігураціях з X-сервером дисплейний мультиплексор може автоматично перемикати виведення на екран, коли повноекранний додаток використовує дискретний GPU. В оточеннях на базі Wayland ця можливість поки що не підтримується через відсутність підтримки такого перемикання на композитних серверах.
- Розширені режими дисплеїв, такі як деформація, змішування, зміщення пікселів та властивості COLOR_ENCODING/COLOR_RANGE. Для використання в композитних серверах ці можливості можуть бути реалізовані через властивості DRM.
- Підтримка nvidia-drm (Direct Rendering Manager) механізму Presentation Timing для синхронізації виведення кадрів на екран.
- Підтримка API VDPAU (Video Decode and Presentation) для залучення в оточеннях на базі Wayland механізмів апаратного прискорення для обробки відео в різних форматах та винесення на бік GPU таких завдань, як пост-обробка, злиття (compositing), відображення та декодування відео.
- Підтримка в системах на базі Wayland технології vGPU, що дозволяє використовувати віртуальні GPU NVIDIA у системах віртуалізації для поділу ресурсів фізичного GPU NVIDIA.
Можливості, додані до драйвера з минулого звіту:
- Використання VRR (Variable Refresh Rate) у багатомоніторних конфігураціях в оточеннях з Wayland.
- Визначення за замовчуванням параметра nvidia-drm fbdev=1, що вирішило проблеми некоректним виведенням при використанні одного екрана драйверами nvidia-drm і simpledrm.
- Стандартне значення параметра «nvidia-drm modeset=1».
- Використання з Xwayland буфер виведення на екран (front-buffer) при подвійній буферизації.
Джерело: opennet.ru
