Yserver: Máy chủ X11 hiện đại viết bằng Rust, loại bỏ các tính năng thừa thãi của Xorg
Yserver là một dự án máy chủ X11 mới được viết hoàn toàn bằng ngôn ngữ Rust, nhằm mục đích cung cấp giải pháp thay thế thực tế cho Xorg trên các hệ thống Linux hiện đại. Dự án này loại bỏ các gánh nặng thừa kế cũ kỹ nhưng vẫn hỗ trợ chạy đầy đủ các môi trường desktop phổ biến như MATE, XFCE và Cinnamon.

Yserver: Máy chủ X11 hiện đại viết bằng Rust, loại bỏ các tính năng thừa thãi của Xorg
Yserver là một dự án máy chủ X11 mới được viết hoàn toàn bằng ngôn ngữ Rust, nhằm mục đích cung cấp giải pháp thay thế thực tế cho Xorg trên các hệ thống Linux hiện đại. Dự án này loại bỏ các gánh nặng thừa kế cũ kỹ nhưng vẫn hỗ trợ chạy đầy đủ các môi trường desktop phổ biến như MATE, XFCE và Cinnamon.
Mục tiêu thiết kế
Khác với việc sao chép hoàn toàn Xorg, mục tiêu của Yserver là tạo ra một máy chủ X11 thực tế có thể vận hành các môi trường desktop, trình quản lý cửa sổ và ứng dụng trên Linux hiện đại. Để đạt được điều này, dự án đã loại bỏ các "gánh nặng thừa kế" (legacy baggage) như hỗ trợ đa màn hình theo kiểu cũ, chế độ màu non-TrueColor, indirect GLX, ABI driver DDX, và các client endian-swapped.
Tính năng và Môi trường hỗ trợ
Hiện tại, Yserver (dưới dạng độc lập DRM/KMS) đã có khả năng chạy đầy đủ các môi trường desktop như MATE, XFCE và Cinnamon. Ngoài ra, các trình quản lý cửa sổ khác như FVWM3, e16 và wmaker cũng đã được thử nghiệm và hoạt động tốt.
Dự án hỗ trợ danh sách các phần mở rộng (extensions) khá đầy đủ để đảm bảo tính tương thích với các ứng dụng đồ họa hiện đại, bao gồm:
- Composite, DAMAGE, RENDER, SHAPE
- DRI3, GLX (bao gồm GLX_EXT_texture_from_pixmap)
- RANDR, XFIXES, XInputExtension, XKEYBOARD
- MIT-SHM, SYNC, Present và nhiều phần mở rộng khác.
Tương thích phần cứng
Yserver đã được triển khai và kiểm thử trên nhiều nền tảng phần cứng và driver khác nhau:
- AMD: Ryzen 9 6900HX (RDNA2), i9 13900k + RX580.
- Intel: i5-7200U (Kaby Lake).
- Apple Silicon: MacBook Air M1 và MacBook Pro M2 chạy Asahi Linux (sử dụng apple-drm KMS và Mesa AGX-V).
- Qualcomm: Snapdragon X1 X1E80100 (Adreno X1).
- Máy ảo: virtio-gpu bên trong virtme-ng.
Tuy nhiên, tác giả lưu ý rõ ràng rằng dự án không thể hoạt động với driver độc quyền của Nvidia. Đối với driver mã nguồn mở Nouveau, việc hỗ trợ là chưa chắc chắn và chưa được kiểm thử đầy đủ.
Cài đặt và Sử dụng
Yserver sử dụng libseat để quản lý seat nếu có sẵn, hoặc có thể điều khiển atomic KMS trực tiếp. Dự án yêu cầu toolchain Rust ổn định và các thư viện phụ thuộc như libxkbcommon, libinput, shaderc, và fontconfig.
Người dùng có thể tích hợp Yserver với trình quản lý hiển thị Lightdm bằng cách cấu hình file lightdm.conf.d, hoặc chạy trực tiếp từ TTY bằng lệnh just startx.
Dự án hiện đang được cấp phép theo giấy phép MIT và mã nguồn có sẵn trên GitHub để cộng đồng đóng góp.



