Phoenix: A modern X server written from scratch in Zig
4 months ago
- #Zig
- #X-server
- #Linux
- Phoenix is a new X server written in Zig, designed as a modern alternative to Xorg.
- Currently, Phoenix can only run nested within an existing X server and supports GLX, EGL, and Vulkan graphics.
- Goals include simplicity (supporting a subset of X11 protocol for modern apps), security (with Zig's safety features), and better hardware support (multi-monitor, VRR, HDR).
- Security features include automatic protocol message parsing, application isolation, and permission prompts for interactions.
- Improvements over Xorg include no tearing by default, built-in compositor, and lower vsync/compositor latency.
- Phoenix aims to support new standards like per-monitor DPI and extend the X11 protocol for features like HDR.
- Wayland compatibility is planned, either natively or via a bridge like 12to11.
- Non-goals include replacing Xorg entirely, supporting X11 screens, and implementing GrabServer or indirect GLX.
- Differences from X11 include not implementing mandatory font operations and using UTF-8 for strings unless specified otherwise.
- Installation involves Zig build commands, with dependencies including Zig 0.14.1, x11, wayland, drm, and OpenGL.