# yshui/picom

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yshui-picom).**

4,667 stars · 615 forks · C · other

## Links

- GitHub: https://github.com/yshui/picom
- Homepage: https://picom.app/
- awesome-repositories: https://awesome-repositories.com/repository/yshui-picom.md

## Topics

`compositor` `compton` `linux` `x11` `xcb` `xcompmgr` `xorg`

## Description

picom is a lightweight X11 compositor that adds visual enhancements to the X Window System desktop, including configurable drop shadows behind windows, per-window transparency, and composite effects such as blur and fading. It manages window opacity so that content behind windows can become partially visible, and it renders shadows to improve the sense of depth and separation between overlapping windows.

Under the hood, picom uses a damage-event-driven render loop that redraws only the regions of the screen that have changed, minimising unnecessary full-frame renders. A double-buffered compositing pipeline renders offscreen into a back buffer while the front buffer displays the last complete frame, then swaps to avoid tearing. The compositor abstracts OpenGL context creation and buffer swapping behind interchangeable GLX and EGL backends, and applies Gaussian blur and drop shadow effects via custom GLSL fragment shaders during the compositing pass. A config-file rule engine evaluates conditional window-matching rules at runtime to apply per-window settings for transparency, shadow, and blur.

Users can fine-tune compositor performance to reduce tearing and improve responsiveness, customise the desktop aesthetic with effects like blur and fading, and define and test per-window rules that control the compositor’s behaviour. A built-in window rule testing tool helps identify which patterns match a selected window.

## Tags

### Graphics & Multimedia

- [X11](https://awesome-repositories.com/f/graphics-multimedia/compositors/x11.md) — Configuring and running a compositor on X11 to manage window rendering with effects like transparency and shadows.
- [Damage-Event-Driven](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/canvas-vector-graphics/custom-shape-rendering/custom-renderable-interfaces/frame-based-render-hooks/render-loops/damage-event-driven.md) — Triggers partial screen redraws only for regions that reported damage, minimising unnecessary full-frame renders.
- [Composite Visual Effects](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/visual-effects/visual-effect-shaders/composite-visual-effects.md) — Supports composite graphical effects like blur, fading, and animation for enhanced visuals. ([source](https://picom.app/))

### Software Engineering & Architecture

- [GLX/EGL Backend Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/execution-backend-abstractions/glx-egl-backend-abstractions.md) — Abstracts OpenGL context creation and buffer swapping behind interchangeable GLX and EGL backends for X11 window-system integration.

### System Administration & Monitoring

- [Double-Buffered Rendering](https://awesome-repositories.com/f/system-administration-monitoring/terminal-buffering-systems/double-buffering/graphical-frame-buffers/double-buffered-rendering.md) — Renders offscreen into a back buffer while the front buffer displays the last complete frame, then swaps to avoid tearing.

### User Interface & Experience

- [Offscreen Blur and Shadow Shaders](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/blur-effects/gaussian-blur-implementations/offscreen-blur-and-shadow-shaders.md) — Applies Gaussian blur and drop shadow effects via custom GLSL fragment shaders during the compositing pass.
- [Window Transparency Managers](https://awesome-repositories.com/f/user-interface-experience/application-state-managers/window-visibility-controllers/window-transparency-managers.md) — Controls per-window opacity, allowing content behind windows to be partially visible.
- [Window Rules](https://awesome-repositories.com/f/user-interface-experience/application-window-managers/window-rules.md) — Evaluates conditional window-matching rules at runtime to apply per-window transparency, shadow, and blur settings.
- [Composite Effects Engines](https://awesome-repositories.com/f/user-interface-experience/composite-transformation-effects/composite-effects-engines.md) — Applies graphical effects like blur, fading, and smooth transitions to windows.
- [Surface Shadows](https://awesome-repositories.com/f/user-interface-experience/shadow-utilities/surface-shadows.md) — Renders configurable drop shadows behind windows to enhance depth and separation on screen.
- [Window Transparency and Shadows](https://awesome-repositories.com/f/user-interface-experience/shadow-utilities/surface-shadows/window-transparency-and-shadows.md) — Adds transparency and drop shadows to windows via an X11 compositor for visual depth and separation.
- [X11 Composite Overlay Windows](https://awesome-repositories.com/f/user-interface-experience/ui-overlay-frameworks/window-based-overlays/x11-composite-overlay-windows.md) — Creates an overlay window managed by the X composite extension to capture and compose all visible windows onto a single framebuffer.
- [Window Shadow Effects](https://awesome-repositories.com/f/user-interface-experience/window-effects/window-shadow-effects.md) — Provides drop shadow effects behind windows to emphasize depth and separation. ([source](https://picom.app/))
- [Window Transparency](https://awesome-repositories.com/f/user-interface-experience/window-effects/window-transparency.md) — Adjusts window opacity so that underlying content becomes partially visible through the window. ([source](https://picom.app/))
- [Window Rule Testing](https://awesome-repositories.com/f/user-interface-experience/application-window-managers/window-rules/window-rule-testing.md) — Tests window rules against a selected window to identify which rules match and which do not. ([source](https://picom.app/picom-inspect.1.html))
- [Desktop Environment Customizers](https://awesome-repositories.com/f/user-interface-experience/desktop-environment-customizers.md) — Customizes the look and feel of a desktop environment by enabling compositor effects like blur and fading.

### Operating Systems & Systems Programming

- [Compositor Performance Tuning](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/display-compositors/gaming-compositor-tuning/compositor-performance-tuning.md) — Optimizes compositor settings and window rules to minimize tearing and improve responsiveness on X11.
