CMK version:2.5.0p8
OS version:RHEL10
Error message: (none — this is not a crash/error, but a GUI performance regression)
Output of “cmk --debug -vvn hostname”: No errors, host/service checks run normally. This is purely a frontend rendering issue, unrelated to monitoring/check execution.
Description:
Since upgrading from 2.4 to 2.5, the Checkmk GUI is extremely slow/laggy when accessed from a Windows Terminal Server / RDP session without 3D/GPU acceleration. Scrolling, opening menus, and general UI interaction feel sluggish, while the same GUI on a regular PC with GPU acceleration is fast. This behavior did not exist in 2.4.
Root cause found:
The 2.5 UI introduced backdrop-filter:blur(...) CSS rules (e.g. theme.css for the Facelift theme, and the new Vue-based frontend bundle under cmk-frontend-vue/assets/). backdrop-filter is GPU-composited by the browser. Without hardware acceleration, the browser falls back to software rendering for the blur effect, which is very expensive and causes the whole UI to feel slow — confirmed by installing a browser extension that strips/rewrites backdrop-filter, which immediately fixes the issue.
Workarounds:
- Server-side CSS patch (per Checkmk site): Copy the affected CSS files into the site’s
local/override hierarchy (survives updates in principle, but the Vue bundle filename is content-hashed and changes on every rebuild, so this needs to be re-applied after updates) and replace thebackdrop-filtervalue withnone:
grep -rl "backdrop-filter" ~/share/check_mk/web/htdocs --include="*.css"
then mirror the found files under ~/local/share/check_mk/web/htdocs/... and patch:
sed -i -E 's/(-webkit-)?backdrop-filter:[^;]+;/\1backdrop-filter:none;/g' <file>
- Reverse-proxy level patch (no per-site changes needed, survives Checkmk updates): If you already run a local Apache in front of the site (e.g. for Kerberos auth), you can rewrite the CSS response on the fly using
mod_substitute, so you don’t have to touch/re-patch anything inside the OMD site after updates:
<LocationMatch ^/\w+/check_mk/themes/facelift/theme.css>
AddOutputFilterByType SUBSTITUTE text/css
Substitute "s|backdrop-filter:blur(1.5px)|backdrop-filter:none|ni"
</LocationMatch>
<LocationMatch ^/\w+/check_mk/cmk-frontend-vue/assets>
AddOutputFilterByType SUBSTITUTE text/css
Substitute "s|backdrop-filter:blur(1.5px)|backdrop-filter:none|ni"
</LocationMatch>
This approach is nice because it doesn’t require touching the Checkmk site’s file structure at all and keeps working across omd update.
Question to the community / Checkmk team:
-
Is this a known issue for 2.5? I couldn’t find an existing Werk/bug report about it.
-
Would it make sense for Checkmk to guard the
backdrop-filtereffect behind a media query (e.g.prefers-reduced-transparency/@supports) or make it configurable in Global Settings, so RDS/Citrix/thin-client users without GPU acceleration aren’t affected by default?