01
Fade.
Smooth opening and closing transitions, including interrupted animations.
Beta · v0.3.0-beta.2
Meet Compust: a minimal compositor taking shape in Rust. Animations, blur, and transparency for your existing Xorg or XLibre session.
01
Smooth opening and closing transitions, including interrupted animations.
02
Background blur behind translucent windows, scaled down and back up with bilinear XRender sampling.
03
Application alpha, window opacity, and your global setting, composed together.
04
Rounded window corners, with the shadows and blur that follow them, set globally or per window.
01 / The idea
Your X server handles the display. Your window manager arranges the windows. Compust adds the final visual layer, with a small codebase that people can understand and improve.
Inspired by picom and the tradition of standalone X11 compositors, Compust explores an approachable Rust implementation. Reliability, resource use, and frame pacing are improvements to measure as the project grows.
X11 first. Built for Xorg and XLibre; native Wayland is outside the current scope.
Version 0.3.0-beta.2 brings shadows, rounded corners, fullscreen unredirection, rules by focus, and reloads when the configuration is saved. One recorded desktop has run its code so far, on Xorg under i3. The 1.0 milestone lists what a stable release still needs.
Read the 1.0 milestone02 / Progress
Done
XRender composition, fades, transparency, and blur, checked by pixel tests against a real X server.
Published
Four gates met for its declared scope: window stability, monitors, real desktops, and distribution. Released as 0.2.0-beta.1 to beta.3.
In 0.3.0-beta.1
Configuration discovery, reload without a restart, per-window rules, and blur weighted by opacity.
In 0.3.0-beta.1
Compust benchmark scenes, region repaint, blur reuse, and occlusion, measured on one desktop.
Opt-in in 0.3.0-beta.1
OpenGL ES through DRI3, matching XRender within two levels of color on one recorded desktop. XRender stays the default.
In 0.3.0-beta.2
Window corners rounded with their shadows and the blur behind them, in both renderers, recorded on one display.
Current milestone
Its features are in 0.3.0-beta.2: shadows, fullscreen unredirection, and rules by focus. Still to come: NVIDIA and more desktops, endurance runs, and outside testers.
03 / Tested environments
AMD · XLibre and Xorg
Xmonad on XLibre, on one and two monitors: desktop scenarios with fades, translucency, and blur, monitor changes, and both cables unplugged and reconnected. i3 on Xorg: desktop scenarios, and shadows, focus, and fullscreen suspension in both renderers.
Intel · Xorg
Xmonad, Openbox, and i3. Desktop scenarios, an external display unplugged and reconnected, and suspend and resume.
AMD · XLibre
Xmonad, Openbox, i3, bspwm, and dwm. Desktop scenarios with 0.3.0-beta.1, configuration reloads, Compust benchmark scenes, and the GPU renderer.
Every push also runs 132 X11 tests against Xvfb. Most hardware sessions use synthetic test windows, and the Intel laptop and the XLibre sessions of the Radeon Vega desktop were recorded with the 0.2.0 betas, before the rendering work. NVIDIA drivers and other window managers are untested. See every record in the compatibility matrix.
04 / Documentation
Requirements, installation, configuration, and current limits.
Install the beta, return to your previous compositor, and report problems.
Follow a window from an X11 event to the final frame.
The beta gates, recorded progress, and the 1.0 milestone.
Set up your environment, run tests, and prepare a pull request.
Test a driver, report a rendering issue, improve a translation, or work on the renderer. Contributions in English and Brazilian Portuguese are welcome.