AvengeMedia / AvengeMedia/DankMaterialShell
High Hyprland GPU usage when DMS tracks active media players
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Compositor
Hyprland
### Distribution
Arch Linux
### If Other, please specify
_No response_
### Select your Installation Method
Distro Packaging
### Was this your original Installation method?
Yes
### If no, specify
_No response_
### dms doctor -vC
Click to expand
## DMS Doctor Report
**System**
- [ok] Operating System: Arch Linux
- ID: arch, Version: rolling, Arch: amd64
- [ok] Architecture: amd64
- [ok] Display Server: Wayland
- WAYLAND_DISPLAY=wayland-1
**Versions**
- [ok] DMS CLI: dms v1.5.0
- /usr/bin/dms
- [ok] Quickshell: Quickshell 0.3.0 (revision , distributed by Arch Linux)
- /usr/bin/qs
- [ok] DMS Shell: v1.5.0
- /usr/share/quickshell/dms
**Installation**
- [ok] DMS Configuration: Found
- /usr/share/quickshell/dms
- [ok] shell.qml: Present
- /usr/share/quickshell/dms/shell.qml
- [info] Install Type: System package
- /usr/share/quickshell/dms
**Compositor**
- [ok] Hyprland: 0.55.4
- /usr/bin/hyprland
- [info] Active: Hyprland
- [warn] Background Blur: Unsupported
- Compositor does not support ext-background-effect-v1
**Quickshell Features**
- [ok] Polkit: Available
- Authentication prompts
- [ok] IdleMonitor: Available
- Idle detection
- [ok] IdleInhibitor: Available
- Prevent idle/sleep
- [ok] ShortcutInhibitor: Available
- Allow shortcut management (niri)
- [ok] BackgroundBlur: Available
- Background blur API support in Quickshell
**Optional Features**
- [ok] accountsservice: Available
- User accounts
- [ok] power-profiles-daemon: Available
- Power profile management
- [ok] logind: Available
- Session management
- [ok] cups-pk-helper: Available
- Printer management
- [info] I2C/DDC: No monitors detected
- External monitor brightness control
- [ok] qt6-imageformats: Installed (1 formats)
- Formats: GIF (/usr/lib/qt6/plugins/imageformats:/usr/lib64/qt6/plugins/imageformats)
- [ok] kimageformats: Installed (4 formats)
- Formats: AVIF, HEIF, JXL, EXR (/usr/lib/qt6/plugins/imageformats:/usr/lib64/qt6/plugins/imageformats)
- [ok] Terminal: kitty
- [ok] Network: NetworkManager
- NetworkManager present. Using NM API.
- [ok] matugen: Installed
- Dynamic theming
- [ok] dgop: Installed
- System monitoring
- [ok] cava: Installed
- Audio visualizer
- [info] khal: Not installed
- Calendar events
- [info] danksearch: Not installed
- File search
- [info] dankcalendar: Not installed
- Calendar app
- [info] fprintd: Not installed
- Fingerprint auth
**Config Files**
- [ok] settings.json: Present
- /home/anlorsp/.config/DankMaterialShell/settings.json
- [info] clsettings.json: Not yet created
- /home/anlorsp/.config/DankMaterialShell/clsettings.json
- [ok] plugin_settings.json: Present
- /home/anlorsp/.config/DankMaterialShell/plugin_settings.json
- [ok] session.json: Present
- /home/anlorsp/.local/state/DankMaterialShell/session.json
- [ok] dms-colors.json: Present
- /home/anlorsp/.cache/DankMaterialShell/dms-colors.json
**Services**
- [ok] dms.service: enabled, active
- [ok] greetd: enabled
**Environment**
- [info] QT_QPA_PLATFORMTHEME: gtk3
- [info] QS_ICON_THEME: Not set
**Fonts**
- [ok] Normal Font: Noto Sans CJK SC
- Available
- [ok] Monospace Font: 等距更纱黑体 SC
- Available
---
**Summary:** 0 error(s), 1 warning(s), 33 ok
### Description
I am seeing extremely high Hyprland GPU usage on an Intel iGPU when DMS detects and manages an active media player.
Environment:
* Hyprland 0.55.4
* Intel integrated GPU
* `DMS_DANKBAR_LAYER=bottom`
* VA-API hardware decoding
With Brave playing video, Hyprland GPU usage can rise to 70–99%, causing severe stuttering. After pausing the video, Hyprland sometimes remains at very high GPU usage.
The issue is strongly correlated with DMS media integration:
* mpv without mpris plugin is not detected by DMS and does not trigger the issue.
* mpv with mpris plugin is detected by DMS and does trigger the issue.
* Brave is detected by DMS and also triggers the issue.
* Adding the affected player to **Excluded Media Players** reliably prevents the issue.
Visible media UI makes the problem easier to trigger:
* Adding the media widget to the bar increases Hyprland GPU usage.
* Opening the DMS panel containing media controls immediately increases GPU usage.
* Closing the panel lowers it again.
However, visible media UI is not required. I have also seen Hyprland return to 99% GPU usage after leaving a paused video in the background for some time, even with no media widget on the bar and the media panel closed.
With `debug.damage_blink` enabled, DMS causes Hyprland to keep rendering continuously while the issue is active. After exiting DMS, only the video area updates during playback, and rendering stops normally after pausing.
The most reliable workaround so far is excluding the player from DMS media handling.
I can provide logs, `hyprctl layers -j` output, or additional debug information if needed.
### Expected Behavior
_No response_
### Steps to Reproduce
1. Add media control widget to DankBar.
2. Play video using a player with mpris support.
3. Observe title appears in media control widget.
4. Observe high gpu by hyprland usage in intel_gpu_top.
5. Observe the whole screen blinks crazily if `debug.damage_blink` enabled.
### Error Messages/Logs
_No response_
### Screenshots/Recordings
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.