Розробник із KDE Ксавер Хьюгл представив новий протокол Wayland, який покращує роботу зовнішніх відеокарт у Linux. Завдяки цьому виправленню продуктивність у грі Cyberpunk 2077 зросла з 27 до 50 кадрів на секунду при використанні зовнішньої відеокарти AMD Radeon RX 5700 XT.
Новий протокол linux-dmabuf версії 6 дозволяє композитору Wayland підтримувати кілька графічних процесорів одночасно. Це дає змогу уникнути зайвого копіювання даних між інтегрованою та дискретною графікою, що особливо актуально для ноутбуків із двома відеокартами та систем із зовнішніми GPU (eGPU). Зазвичай у таких конфігураціях кадри рендеряться на виділеному GPU, потім копіюються в системну пам’ять, після чого інтегрована графіка імпортує і компонувує їх для виводу на екран. Цей процес збільшує затримку і навантаження на пропускну здатність пам’яті, PCIe або USB-C.
Хьюгл протестував новий протокол на ноутбуці Framework Laptop 13 із зовнішньою відеокартою RX 5700 XT і монітором із роздільною здатністю 5120×1440 та частотою оновлення 120 Гц. У тесті vkcube з попередньою реалізацією Mesa частота кадрів не перевищувала 55 FPS, хоча максимальна частота монітора становить 120 Гц. Після впровадження linux-dmabuf 6 vkcube досяг повної частоти оновлення 120 FPS.
За словами Ксавера Хьюгла, оновлений протокол дозволяє додаткам вказувати, на якому GPU має імпортуватися кожен буфер, що дає змогу зберігати відрендерені кадри безпосередньо на виділеному GPU. Підтримка KWin вже додана, а найближчим часом очікується інтеграція з Mesa. Водночас NVIDIA також працює над власною реалізацією, але поки що відповідного драйвера немає.
Інформація про нововведення надійшла з блогу розробника Ксавера Хьюгла та джерел VideoCardz.

