Випуск альтернативного X-сервера yserver 1.5

Відбувся випуск X11-сервера yserver 1.5.0, написаного з нуля мовою Rust та підтримує актуальні розширення протоколу X11. Проект не ставить за мету повторити всі можливості Xorg Server і обмежується тільки функціональністю, необхідною для запуску сучасних середовищ робочого столу, віконних менеджерів, додатків та графічних бібліотек (GTK, Qt, SDL, GLFW). З протестованих оточень відзначені MATE, Xfce, Cinnamon, Sonic та Enlightenment, а також віконні менеджери, такі як icewm, FVWM3, openbox, i3 та wmaker. Код проекту розповсюджується під ліцензією MIT.

У yserver вирішено не підтримувати застарілі та специфічні можливості, такі як обробка кількох X11-екранів в одному сервері (Багатомоніторний висновок підтримується), відмінні від TrueColor режими кольоровості, непрямий рендеринг (indirect GLX), API драйверів DDX, старі методи роботи зі шрифтами та підключення клієнтів з іншим порядком байтів (трансляція між big-endian і little-endian).

Виведення графіки організовано через DRM/KMS та Vulkan-драйвери Mesa. Для керування сеансом та організації доступу до спільно використовуваних пристроїв введення та виведення використовується бібліотека libseat. Крім відокремленого X-сервера поставляється ynest - бекенд для вкладеного запуску, що підтримує роботу з Xwayland або іншого X11-сервера.

Робота протестована на системах GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-драйвер RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-драйвер ANV), NVIDIA X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, а також у системах віртуалізації з virtio-gpu та віртуальним GPU Venus. Підтримується робота в Linux та FreeBSD.

В новой версії:

  • Додано підтримку механізму reverse-PRIME, що дозволяє використовувати інтегрований GPU для рендеригну, а GPU дискретної відеокарти для виведення на екран у ситуації підключення зовнішніх моніторів до портів дискретної відеокарти.
  • Додано підтримку передачі в Mesa даних про частоту оновлення екрана через розширення GLX_OML_sync_control.
  • Реалізовано оптимізацію для зниження затримок у клієнтів з відключеною вертикальною синхронізацією (vsync-off).
  • Забезпечено вилучення імен виробників GLX із відеодрайвера для вибору відповідної клієнтської бібліотеки GLX (наприклад, Mesa або NVIDIA).
  • Реалізовано підтримку об'єктів синхронізації DRI3 1.4 із задіянням примітивів drm_syncob підсистеми ядра DRM (Direct Rendering Manager).
  • Додана підтримка алгоритму відстеження змін на екрані для перемальовування не всього вмісту, а лише частин, що змінюються, застосовуваного в композитних серверах Wayland на базі бібліотеки wlroots.
  • Надано можливість малювання рамок вікна на стороні X11-сервера.
  • Реалізовано складання пактів для архітектури Aarch64, крім x86_64.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster