Skip to content

High RAM CPU Usage

CuB3y0nd edited this page Aug 9, 2023 · 2 revisions

The most likely cause for this behavior is the picom configuration. We all have different hardware, different graphics drivers, etc etc.

I tested my dotfiles on 3 different machines, with high-end, mid-range and low-end hardware.

On modern and mid-range hardware the best working backend is "glx" on low end hardware the best working is "xrender".

My dotfiles use the glx backend by default.


But if you have been experiencing high ram consumption and/or CPU usage, you should try changing the backend used.

To do this see the picom.conf file located at ~/.config/bspwm/picom.conf

Save the settings and reboot.


In November 14 2022, the new picom release make experimental-backends as default and add the legacy-backends option.

For that reason in my bspwmrc configuration file I added the following code starting at line 76:

# Launch picom // If you have old hardware or encounter problems
# uncomment the picom "--legacy-backends" line and comment the current one.
picom --config "$HOME"/.config/bspwm/rices/"$RICETHEME"/picom.conf &
#picom --legacy-backends --config "$HOME"/.config/bspwm/rices/"$RICETHEME"/picom.conf &

If you have low-end or old hardware, it is probably better that you use the option picom --legacy-backends --config "$HOME"/.config/bspwm/rices/"$RICETHEME"/picom.conf &

And keep the configuration backend="xrender"; in picom.conf

If your hardware is high-end or is not old, possibly the best configuration will be to keep the default option picom --config "$HOME"/.config/bspwm/rices/"$RICETHEME"/picom.conf &

With the configuration backend="glx"; in picom.conf

There is also a new backend called "egl" maybe you should try it!


There are many options that you can change in the picom.conf file, I left the most generic ones active and by default functional for all or the vast majority.

But you must test your configuration and adapt it to your hardware and needs. The dotfiles are just a starting point.

Reference

Clone this wiki locally