Состоялся выпуск 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 이외의 색상 모드, 간접 렌더링(간접 GLX), DDX 드라이버 API, 레거시 글꼴 처리, 바이트 순서가 다른 클라이언트 연결(빅 엔디안에서 리틀 엔디안으로의 변환) 등이 포함됩니다.
그래픽 출력은 DRM/KMS 및 Mesa Vulkan 드라이버를 통해 제공됩니다. libseat 라이브러리는 세션 관리 및 공유 입력/출력 장치 접근에 사용됩니다. 전용 X 서버 외에도 Xwayland 또는 기타 X11 서버에서 실행을 지원하는 중첩 실행 백엔드인 ynest가 제공됩니다.서버.
Работа протестирована на системах в GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-драйвер RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-драйвер ANV), NVIDIA GTX 1050, Snapdragon X1 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
