Bug 511101 - kwin 6.5.0 seems to break gamescope HDR support
Summary: kwin 6.5.0 seems to break gamescope HDR support
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: colour-management (other bugs)
Version First Reported In: 6.5.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-25 15:58 UTC by FK
Modified: 2025-10-26 13:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description FK 2025-10-25 15:58:30 UTC
SUMMARY
After the update to 6.5.0 I'm not able to use HDR within gamescope anymore. HDR through mpv / proton-ge (wayland) works as expected.

STEPS TO REPRODUCE
1. Enable HDR
2. start a fullscreen game in gamescope using --hdr-enabled (i.e., gamescope -f -W 1920 -H 1080 --hdr-enabled --hdr-debug-force-output --backend wayland --force-grab-cursor  --adaptive-sync --hdr-itm-target-nits 825 --rt -- %command%)

OBSERVED RESULT
No HDR visible. In-game option for HDR disabled.

Using WAYLAND_DEBUG and grepping for "wp_image_description_creator_params_v1" stays empty

I can see: 
[gamescope] [Info]  xdg_backend: uMaxContentLightLevel: 80
[gamescope] [Info]  xdg_backend: HDR INFO
[gamescope] [Info]  xdg_backend:   cv_hdr_enabled: true
[gamescope] [Info]  xdg_backend:   uTF: GAMMA22
[gamescope] [Info]  xdg_backend:   bExposeHDRSupport: false
[gamescope] [Info]  xdg_backend: uMaxContentLightLevel: 840 (<--- switching HDR on/off)
[gamescope] [Info]  xdg_backend: HDR INFO
[gamescope] [Info]  xdg_backend:   cv_hdr_enabled: true
[gamescope] [Info]  xdg_backend:   uTF: GAMMA22
[gamescope] [Info]  xdg_backend:   bExposeHDRSupport: false

With gamescope option "--hdr-debug-force-output" I get the following output:
  pEngineName: (null)
  engineVersion: 0
  apiVersion: 4198400
[gamescope] [Warn]  xwm: got the same buffer committed twice, ignoring.
[Gamescope WSI] Creating Gamescope surface: xid: 0x200009b
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
[Gamescope WSI] Made gamescope surface for xid: 0x200009b
[Gamescope WSI] Surface state:
  steam app id:                  548430
  window xid:                    0x200009b
  wayland surface res id:        5
  layer client flags:            0x4
  server hdr output enabled:     true
  hdr formats exposed to client: true
[Gamescope WSI] Creating swapchain for xid: 0x200009b - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_A2B10G10R10_UNORM_PACK32 - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true
[Gamescope WSI] Created swapchain for xid: 0x200009b swapchain: 0x7f47d0110180 - imageCount: 3

but still no HDR option in the game.

EXPECTED RESULT
HDR should work

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.5.0
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.4-arch2-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 PRO 4750U with Radeon Graphics
Memory: 48 GiB of RAM (46.3 GiB usable)
Graphics Processor: AMD Radeon Graphics

Gamescope version: 3.16.17 and git

ADDITIONAL INFORMATION
Comment 1 Zamundaaa 2025-10-25 21:28:57 UTC
This needs fixing in gamescope, see https://github.com/ValveSoftware/gamescope/pull/1999
Comment 2 FK 2025-10-26 10:07:34 UTC
(In reply to Zamundaaa from comment #1)
> This needs fixing in gamescope, see
> https://github.com/ValveSoftware/gamescope/pull/1999

Thanks, this fixes my issue.

Wonder whether a detection of "HDR is enabled" is actually useful there, or should only depend on --hdr-enabled and further whatever the user configures in the app. Then kwin should just take care of HDR to SDR transformation if the setting is off.
Comment 3 Zamundaaa 2025-10-26 13:49:27 UTC
Yeah, mirroring whether the compositor supports HDR might be better