Jos Dehaes shipped YSERVER 1.3, introducing FreeBSD support, Xinerama, and display hotplug to the Rust X11 display server built with Anthropic's Claude Code tooling. The project targets a replacement for the X.Org Server by removing legacy constraints like the DDX driver ABI while retaining essential extensions such as DRI3, RANDR, and XFIXES. YSERVER now supports a broad hardware range including Apple Silicon, Qualcomm Snapdragon, and NVIDIA GPUs, and has already accumulated 438 stars and 1,416 commits since its public debut on June 11. While the server offers modern architecture with single-threaded Vulkan rendering and compositor-native output, it continues to follow X11's trust model without Wayland-style per-client isolation.
YSERVER 1.3 Lands with FreeBSD and Xinerama for the Rust X11 Server
YSERVER version 1.3 has arrived. Jos Dehaes shipped FreeBSD support, Xinerama, display hotplug, and VT switching for the Rust X11 display server on July 2. The update follows a rapid sprint since the project's public debut on June 11.
The project, built using Anthropic's Claude Code tooling, positions itself as a modern alternative to the X.Org Server. YSERVER is not attempting a 1:1 clone of xserver internals. Dehaes is focused on a practical X11 server that runs real desktop environments while dropping non-TrueColor visuals, indirect GLX, endian-swapped clients, and the DDX driver ABI.
FreeBSD is now in. Xinerama multi-monitor support is in. So is direct-mode VT switching. Dehaes also added runtime XKB layout switching, xauth support, and RANDR gamma correction for tools like redshift. On top of that, Alpine Linux builds work via musl, and pointer barriers landed through XFIXES.
The repository is already seeing traction. YSERVER has 1,416 commits and 438 stars as of today. That's dense activity for a display server rewrite in its second week of public life.
Under the hood
The architecture takes a different path from xserver. The core is single-threaded. There's no Arc<Mutex<ServerState>> and no per-client pump threads. The protocol invariants stay obvious.
Rendering happens via Vulkan directly. The pipeline bypasses EGL, GBM, and Mesa GL intermediaries. Dehaes splits the codebase into yserver-protocol for wire-level encode/decode, yserver-core for backend-agnostic logic, and yserver for the main binary.
Dehaes tested YSERVER end-to-end with Cinnamon, MATE, and XFCE. Window managers like i3wm, Bspwm, Awesome, and FVWM3 also run fine. Compositors including Picom and Compiz work as expected.
Hardware coverage is surprisingly wide. The project has been verified across:
- AMD Ryzen 9 6900HX with RDNA2 (Mesa RADV).
- Intel i9-13900K with RX 580 (Mesa RADV).
- Intel i5-7200U with Kaby Lake (Mesa ANV).
- NVIDIA GTX 1050 via the proprietary driver.
- Qualcomm Snapdragon X1 using Turnip.
- Apple M1 and M2 via Asahi DRM/KMS.
- Virtual machines with virtio-gpu via Venus passthrough.
FreeBSD testing ran on GhostBSD with the i9-13900K platform.
Keep in mind that YSERVER ships as compositor-native. Tear-free presentation is the default. Each output gets its own refresh rate and mode configuration. The FrameBuilder component, introduced in a recent stage, coalesces thousands of paint operations into a single Vulkan command submission per vblank. That matters when you're dragging windows across a MATE desktop.
Security and caveats
Security-wise, it's still X11. The design doc flags that YSERVER doesn't enforce per-client capability restrictions. A client can read other clients' windows, observe global input, and inspect the clipboard.
If you need Wayland-style isolation, this isn't your display server. However, for a rewrite of a protocol designed in the 90s, that's expected behavior. Xauth support is in, though xhost ACL support is missing since the server uses unix socket connections only.
The extension list covers what real-world clients actually need: Composite, DAMAGE, DPMS, DRI3, GLX (direct rendering only), Generic Event Extension, MIT-SCREEN-SAVER, MIT-SHM, Present, RANDR, RENDER, SHAPE, SYNC, X-Resource, XFIXES, XINERAMA, XInputExtension, XC-MISC, XKEYBOARD, and XTEST.
YSERVER arrives as X11 continues to serve as a critical display layer despite Wayland's slow creep into enterprise and legacy workflows. Dehaes says the project isn't aiming to replace Wayland compositors. It's providing a modern, safe X11 server for users who still need the protocol.
The code is MIT licensed and builds from source on Arch Linux, Ubuntu, Alpine, and FreeBSD. Dependencies include seatd, libxshmfence, libxkbcommon, libinput, and shaderc. It integrates with LightDM by pointing /etc/lightdm/lightdm.conf.d/99-yserver.conf at the binary, or you can start it directly on a free TTY with just startx.
Head here to get the source code.
