
PlexyDesk. A display server and desktop shell written in C/C++ that renders everything with OpenGL SDF shaders, real-time Gaussian blur, glass materials with refraction and chromatic aberration. The goal: macOS-level visual polish on Linux, without bolting effects onto an existing compositor.
What it does today
- Glass materials : multi-level blur, fresnel rim lighting, and refraction
- SDF rendering : resolution-independent rounded rects, per-corner radius, elevation shadows
- macOS-style dock : icon magnification, bounce-to-launch, running indicators
- Genie minimize | GPU mesh deformation, just like macOS
- Window physics | cloth simulation with spring damping - compiz like
- Widget toolkit | buttons, sliders, text input, flexbox layout — all GPU-rendered
- Zero-copy buffer sharing | clients submit DMA-BUF frames, no copies
- X11 app support | Firefox, GTK apps, etc. via integrated Xwayland
PlexyDesk implements its own display protocol optimized for GPU-rendered UI. Clients render locally using libplexycanvas (SDF shaders, FreeType text, flexbox layout) and submit frames over Unix sockets. A client crash doesn't take down the compositor.
It's reaching the point where real apps run on it. Firefox works. GTK apps work. The dock launches apps. Windows minimize with a genie effect. There's still a lot to do but the hard parts (the protocol, buffer sharing, the rendering pipeline) are working.
I'm building this in the open and would love feedback from anyone interested in Linux graphics, compositor internals, or just making Linux desktops look better.
Star the repo, open issues, or just say hi on discord [https://discord.gg/7ckXmcns] I'll be posting build logs here as the project progresses. and to read more about plexydesk visit [https://plexydesk.com]
Top comments (0)