Picom Compositor Setup
Picom is a lightweight compositor for X11 that provides window transparency, shadows, fading, and blur effects.Overview
Configuration file:~/.config/picom/picom.conf
Picom enhances the visual experience of i3 window manager with modern visual effects while maintaining performance.
Basic Configuration
Backend Settings
The GLX backend provides the best performance and compatibility with modern graphics drivers.
Backend Options Explained
Backend Options Explained
- glx - OpenGL backend (recommended)
- xrender - X Render backend (fallback for older systems)
- xr_glx_hybrid - Hybrid mode
glx-no-stencil- Disables stencil buffer for better performanceglx-copy-from-front- Disabled for better performancevsync- Synchronizes rendering with monitor refresh rate
Shadow Configuration
Enable and Configure Shadows
Shadow Parameters
| Parameter | Value | Description |
|---|---|---|
shadow | true | Enable client-side shadows |
shadow-radius | 7 | Blur radius in pixels |
shadow-opacity | 0.4 | Shadow opacity (0.0-1.0) |
shadow-offset-x | -7 | Horizontal offset |
shadow-offset-y | -4 | Vertical offset |
Shadow Exclusions
Excluding notifications and specific applications prevents unwanted shadow artifacts.
Fading Effects
Fade Configuration
Fading Parameters
Fade Settings Explained
Fade Settings Explained
- fading: Enable fade effects
- fade-in-step: Opacity increase per step (0.01-1.0)
- fade-out-step: Opacity decrease per step (0.01-1.0)
- fade-delta: Time between steps in milliseconds
- no-fading-openclose: Whether to disable fade on window open/close
fade-in-step = 0.03withfade-delta = 7means ~233ms to fully fade in- Lower values = smoother but longer animations
- Higher values = faster but choppier transitions
Fade Exclusions
Transparency and Opacity
Opacity Settings
Application-Specific Opacity
Opacity Rule Syntax
Finding Window Classes
Focus Exclusions
Background Blur
Blur Configuration
Blur Methods
Blur Methods
- dual_kawase - Fast and high-quality (recommended)
- kawase - Similar to dual_kawase
- gaussian - Traditional Gaussian blur
- box - Simple box blur
- kernel - Custom kernel blur
- none - Disable blur
- Range: 1-20
- Lower = subtle blur
- Higher = intense blur (more GPU intensive)
Blur Exclusions
Excluding docks and desktop prevents blurring where it’s not needed, improving performance.
Window Type Rules
Window Type Configuration
Available Window Types
Window Type Reference
Window Type Reference
| Type | Description |
|---|---|
tooltip | Tooltip windows |
dock | Dock/panel windows (like Polybar) |
dnd | Drag-and-drop windows |
popup_menu | Popup menus |
dropdown_menu | Dropdown menus |
menu | Menu windows |
utility | Utility windows |
toolbar | Toolbar windows |
splash | Splash screens |
dialog | Dialog windows |
normal | Normal windows |
notification | Notification windows |
combo | Combo boxes |
desktop | Desktop windows |
General Settings
Detection and Optimization
Settings Explained
Settings Explained
- mark-wmwin-focused: Mark window-manager windows as focused
- mark-ovredir-focused: Mark override-redirect windows as focused
- detect-rounded-corners: Auto-detect rounded corners
- detect-client-opacity: Detect client-side opacity
- detect-transient: Detect transient windows
- detect-client-leader: Group windows by leader
- use-damage: Enable damage tracking (better performance)
- log-level: Logging verbosity (debug, info, warn, error)
Starting Picom
Launch from i3
Add to i3 config:Command Line Options
Advanced Configuration
Corner Radius
Picom doesn’t have built-in corner rounding. Use picom-jonaburg-git fork for this feature.
Animation Settings
For custom animations, consider using picom-animations fork:Performance Tuning
Performance Optimization
Performance Optimization
For better performance:For better quality:
Troubleshooting
Common Issues
Screen Tearing
Screen Tearing
Solution:If still experiencing tearing, try:
Performance Issues
Performance Issues
Solutions:
- Disable blur:
- Reduce shadow quality:
- Use xrender backend:
Transparency Not Working
Transparency Not Working
Check:
- Verify opacity rules:
- Test with specific window:
- Ensure no conflicts with other compositors:
Shadows Flickering
Shadows Flickering
Solutions:
- Disable shadow on problematic windows:
- Adjust shadow settings:
Integration with i3
Auto-start Configuration
In~/.config/i3/config:
Restart Picom
Add to i3 config for quick restart:Additional Resources
- Picom GitHub
- Picom Wiki
- Sample configs:
/usr/share/doc/picom/picom.conf.example