Main Page
PlexyDesk
PlexyDesk is a GPU-accelerated display server and desktop shell for Linux. It renders window chrome, the dock, the menubar, and client widgets with OpenGL, signed distance field rendering, blur, and glass-style materials. Client applications render locally with libplexycanvas and submit frames to the compositor using DMA-BUF-backed buffers.
| Focus | GPU-accelerated compositor and desktop shell for Linux |
|---|---|
| Runtime | plexyshell
|
| Client stack | libplexy, libplexycanvas, libplexyui
|
| Build system | GNU Make with C11 and C++20 |
| License | AGPL-3.0-only |
What makes it interesting
- GPU-first desktop shell with compositor effects built into the core runtime
- Custom display protocol optimized for local client rendering and DMA-BUF frame handoff
- macOS-inspired polish including blur, glass materials, dock magnification, and animated window effects
- Multi-monitor oriented architecture with a built-in shell instead of a separate panel-and-window-manager stack
Core features
- Glass materials with blur, refraction, and shader-based visual effects
- Resolution-independent SDF rendering for chrome and widgets
- Built-in dock with hover magnification, launch animation, and running indicators
- Menubar integration with application title, menus, and clock
- PlexyUI widget toolkit with buttons, sliders, text input, sidebars, drawers, list views, and more
- Client isolation: applications render locally and submit frames to the compositor instead of drawing directly into the shell
- Native compositor work plus active bridge work around Wayland and X11 compatibility
Quick start
# Install dependencies on Debian/Ubuntu ./install-deps.sh # Build the compositor make # Run PlexyDesk ./plexyshell
For debug builds:
BUILD_MODE=debug make
Documentation guide
- Getting Started - dependencies, build, run, systemd service, and package workflow
- Architecture - compositor model, client libraries, protocol flow, and repository layout
- Developer Guide - what to read first and where to work in the source tree
- Examples - minimal PlexyUI code plus example programs worth studying
- Development Status - current shape of the project and useful implementation notes
Repository map
| Area | Purpose |
|---|---|
src/
|
Compositor, backend, renderer, input, protocol, and shell code |
lib/
|
Client-side support libraries and event loop code |
include/plexy/
|
Public API headers such as plexy_ui.h
|
examples/
|
Small client and UI examples |
apps/
|
Application experiments such as terminal, browser, clock, calculator, and file manager |
scripts/
|
Packaging, systemd, and development helpers |
docker/
|
Ubuntu container workflow for building .deb packages
|
tasks/
|
Engineering notes, implementation summaries, and optimization work |
Project status
PlexyDesk is under active development. The rendering pipeline, compositor shell, dock, menubar, and widget toolkit are all present, but the project should still be treated as a developer-facing system rather than a finished general-purpose desktop environment.
Suggested next pages
If you are starting from source, begin with Getting Started. If you want to understand the shape of the codebase before building, start with Architecture and Developer Guide.
This page has not yet been filed in a published category.