AvengeMedia / AvengeMedia/DankMaterialShell

High Hyprland GPU usage when DMS tracks active media players

Open
#2,863 8 comments 0 reactions 1 assignee Claimed by @bbedward View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.