Yserver: X11 server mới cho Linux, viết lại từ đầu bằng Rust

Tin hay không tùy bạn, nhưng ngay cả trong thời đại Wayland thống trị, việc phát triển X11 server mới vẫn đang diễn ra. Tôi nói vậy vì một X11 server mới vừa xuất hiện trong hệ sinh thái display stack của Linux.

Yserver — một dự án được viết lại từ đầu bằng Rust — vừa đạt phiên bản 1.0, đánh dấu bản phát hành ổn định (stable) đầu tiên của một nỗ lực nhằm mang đến một X11 server hiện đại cho các hệ thống Linux ngày nay.

Theo nhóm phát triển, dự án không nhắm tới việc sao chép X.Org Server theo từng tính năng. Thay vào đó, mục tiêu của nó là hỗ trợ các môi trường desktop, trình quản lý cửa sổ và ứng dụng hiện đại, đồng thời loại bỏ những thành phần X11 cũ kỹ như đa màn hình (multiple screens), visual không phải TrueColor, indirect GLX, ABI driver DDX, và các client bị hoán đổi endian.

Vậy là có vẻ X11 vẫn chưa chịu lặng lẽ rút lui. Khi XLibre đã thu hút sự chú ý mới cho mảng này, Yserver nay bổ sung thêm một diễn biến đáng chú ý nữa — trong bối cảnh tương lai dài hạn của X11 vẫn còn bất định trong hệ sinh thái desktop Linux.

Và dù hầu hết các desktop lớn giờ đây mặc định dùng Wayland, X11 vẫn được sử dụng rộng rãi, đặc biệt với những người phụ thuộc vào quy trình làm việc cũ, các trình quản lý cửa sổ cụ thể, hoặc những ứng dụng chạy tốt hơn trên X11.

Hiện tại, tính năng chính của Yserver là server DRM/KMS độc lập, có thể chạy trọn vẹn các phiên desktop MATE, Xfce và Cinnamon. Dự án cũng đã thử nghiệm các trình quản lý cửa sổ như FVWM3, e16 và Window Maker.

Bên cạnh đó, Yserver cung cấp nhiều extension X11, gồm BIG-REQUESTS, Composite, DAMAGE, DPMS, DRI3, GLX, MIT-SHM, Present, RANDR, RENDER, SHAPE, SYNC, XFIXES, XInputExtension, XKEYBOARD và XTEST.

Quá trình thử nghiệm phần cứng của dự án bao gồm AMD, Intel, NVIDIA với driver độc quyền, Snapdragon X1 với đồ họa Adreno, các máy Apple M1 và M2 chạy Asahi Linux, và virtio-gpu trong môi trường ảo hóa. Các phiên desktop đã thử nghiệm gồm MATE, Xfce và Cinnamon.

Tuy nhiên, vẫn còn một số hạn chế. Ví dụ, GLX_EXT_texture_from_pixmap đã được triển khai và kiểm thử trên phần cứng AMD, Intel, Asahi và Qualcomm, nhưng không hoạt động với driver độc quyền của NVIDIA. Việc chuyển VT (VT switching) cũng bị hạn chế, tùy vào cách khởi chạy server, đặc biệt trong các phiên LightDM.

Yserver có thể được khởi chạy trực tiếp từ TTY hoặc dùng cùng LightDM cho việc đăng nhập đồ họa. Nó yêu cầu một Rust toolchain ổn định gần đây cùng các phụ thuộc hệ thống như libseat, libxkbcommon, libinput, fontconfig và các thành phần đồ họa liên quan.

Ở giai đoạn này, cần lưu ý rằng Yserver là một dự án còn mang tính thử nghiệm nhưng có ý nghĩa về mặt kỹ thuật, và không phải là bản thay thế trực tiếp (drop-in) cho X.Org Server. Dù vậy, khả năng chạy trọn vẹn các phiên MATE, Xfce và Cinnamon khiến bản phát hành ổn định đầu tiên của nó rất đáng chú ý.

Để biết thêm chi tiết, xem kho GitHub của dự án.

Nguồn: Linuxiac

Leave a Reply

Your email address will not be published. Required fields are marked *