Hello @effectsbot, please copy the contents of Steam Runtime Diagnostics from Steam (Steam -> Help -> Steam Runtime Diagnostics) and put it in a gist, then include a link to the gist in this issue report.
Hello @effectsbot, please copy the contents of Steam Runtime Diagnostics from Steam (
Steam->Help->Steam Runtime Diagnostics) and put it in a gist, then include a link to the gist in this issue report.
Done.
https://gist.github.com/effectsbot/92bb4cc4172927b912b7959d4bfd4b20
I've tested this with Openbox on Xorg as well and it appears to be suffering from the same issue.
Reproduced on NVIDIA (RTX 4090, driver 590.48.01, Arch-based, Wayland). Did some profiling to isolate what the two settings actually do.
dav1dWith both "Enable GPU accelerated rendering in web views" and "Enable hardware video decoding" enabled, pidstat -t shows 15 active dav1d-worker threads (software AV1 decoder) and nvidia-smi dmon reports dec: 0% — the NVDEC hardware decoder is never used.
I tested three configurations and monitored per-thread CPU (pidstat), system CPU (mpstat), and GPU utilization (nvidia-smi dmon/pmon):
| Metric | Both OFF | GPU render ON, HW decode OFF | Both ON |
|---|---|---|---|
| VizCompositorTh CPU% | 97.2% | 4.3% | 2.9% |
| Renderer process CPU% | 22.3% | 22.9% | 15.0% |
| dav1d workers active | yes | yes | yes |
| nvidia-smi DEC% | 0% | 0% | 0% |
"GPU accelerated rendering in web views" is what fixes the performance problem — it moves the compositor from CPU to GPU, eliminating the ~97% CPU bottleneck. "Hardware video decoding" provides a smaller additional CPU reduction but does not actually use hardware decode — dav1d is still doing the work in all cases.
@effectsbot — even though hardware video decoding isn't working, enabling both settings is still worth it. "GPU accelerated rendering in web views" alone eliminates the CPU bottleneck that causes the laggy playback (97% → 4% on the compositor thread).
# GPU decode engine (dec column should be >0 if NVDEC is used):
nvidia-smi dmon -s u -d 1 -c 15
# Per-thread CPU (look for dav1d-worker threads):
pidstat -p $(pgrep -d',' steamwebhelper) -u -t 1 15
System: NVIDIA RTX 4090, driver 590.48.01 (nvidia-open-dkms), EndeavourOS (Arch), kernel 6.18.9, Wayland/KDE Plasma, Steam build 1769025840.
Note: Debug and comment is AI assisted.
I already have both of the aforementioned settings enabled, but I still think it could be better if CEF had the feature flag for hardware accelerated decoding enabled by default.
Chromium/CEF currently only supports hardware accelerated decoding via VA-API, for which Nvidia doesn't have first party support, so those GPUs would have to stick with software decoding until support for the Vulkan Video Decode extensions is merged into Chromium.
There is of course the third party nvidia-vaapi-driver that provides a VA-API implementation based on NVDEC, but support for Chromium remains questionable.
Nothing extracted yet.
Your system information
Steam client version (build number or date): 1759461205
Distribution (e.g. Ubuntu): Arch Linux
Opted into Steam client beta?: No
Have you checked for system updates?: Yes
Steam Logs: steam-logs.tar.gz
GPU: AMD Radeon RX 6650 XT
Please describe your issue in as much detail as possible:
When playing a video inside the Steam client (e.g. from a game's store page), it should be using hardware decoding when "Enable hardware video decoding, if supported" is enabled. However, according to nvtop,
DECremained at 0% when playing a video, meaning that hardware acceleration wasn't utilized.Is hardware video decoding not supported under Xwayland at the moment?Steps for reproducing this issue:
DECvariable next toMEM. It will only appear once hardware video decoding goes above 0%.