We’ve got more X11-related news this day, the day of Xmas.
Phoenix is a new X server, written from scratch in Zig (not a fork of Xorg server). This X server is designed to be a modern alternative to the Xorg server.
↫ Phoenix’ readme page
Phoenix will only support a modern subset of the X11 protocol, focusing on making sure modern applications from roughly the last 20 years or so work. It also takes quite a few pages out of the Wayland playbook by not having a server driver interface and by having a compositor included. On top of that, it will isolate applications from each other, and won’t have a single framebuffer for all displays, instead allowing different refresh rates for individual displays. The project also intends to develop new standards to support things like per-monitor DPI, among many other features.
That’s a lot of features and capabilities to promise for an X server, and much like Wayland, the way they aim to get there is by effectively gutting traditional X and leaving a ton of cruft behind. The use of Zig is also interesting, as it can catch some issues before they affect any users thanks to Zig’s runtime safety option. At least it’s not yet another thing written in Rust like every other project competing with an established project.
I think this look like an incredibly interesting project to keep an eye on, and I hope more people join the effort. Competition and fresh, new ideas are good, especially now that everything is gravitating towards Wayland – we need alternatives to promote the sharing of ideas.

“I think this look like an incredibly interesting project to keep an eye on,”
I don’t think so.
– it rewrites an old protocol (X11) instead of the future protocol (Wayland).
– instead of the uutils coreutils and other projects, the rewrite have not a lesser restricted license, for Phoenix it have a more restricted license: X11 have the X11-license and the rewrite Phoenix the GPLv3
– still very early stage: Look at the source code. Only some files. And all have only a few lines of code.
I don’t understand why it’s good it’s not written in rust? I don’t necessarily think everything has to be in rust, but why is it not being in rust a benefit?
“I don’t necessarily think everything has to be in rust,”
I think, that in Rust written is better then in Zig written. Not because the language is better or so, but because Rust is the new standard.
The old stadard are C and C++. The Linux kernel is wriiten in it. The Windows-kernel and most other parts of Windows are written in it. The xnu-Kernel of macOS and iOS is mostly wriiten in C and other programs in Objective C/C++. Swift comes only on the top of the operating system.
Now the Windows-kernel allowes modules in Rust. Same with Linux. On Linux tools like the coreutils are rewritten in Rust. Rust is now the new de-facto-standard for low level parts, which have to be secure.
And then there are people who prefer Zig, D, Go or any other language. Who should read the code of programs in 100 different languages?