How does cm_auto_hdr work?

Hey

After the 0.50 release, I saw this option and was wondering how it should be set up

Is it supposed to enable HDR on some criteria? Does the monitor need to have the supports_hdr flag enabled? Does it need to be already in cm=hdr mode?

Thanks!

PS: Is there a way to test this for sure? I have tried it with Sniper Elite 5 on steam in fullscreen mode, but it does not seem to toggle.

My monitor config:

monitorv2 {
    output = $monitor_center
    mode = 3440x1440@175
    position = 1440x560
    scale = 1
    bitdepth = 10
    # cm = hdredid
    vrr = 3
    supports_wide_color = 1
    supports_hdr = 1
    sdrbrightness = 1.15
    sdrsaturation = 1.0
    sdr_min_luminance = 0.005
    sdr_max_luminance = 200
    min_luminance = 0
    max_luminance = 1000
    max_avg_luminance = 200
}

and render:

render {
  cm_fs_passthrough = 0
  cm_auto_hdr = 1
}

Have played around with the cm_auto_hdr values 1 and 2, no difference whatsoever

Running

❯ paru -Qe mesa
mesa 1:25.1.6-1

And the output of hyprctl clients for the game:

Window 55c77c386ea0 -> :
        mapped: 1
        hidden: 0
        at: 1440,560
        size: 3440,1440
        workspace: 5 (5)
        floating: 1
        pseudo: 0
        monitor: 0
        class: steam_app_2169200
        title:
        initialClass: steam_app_2169200
        initialTitle:
        pid: 12952
        xwayland: 1
        pinned: 0
        fullscreen: 2
        fullscreenClient: 2
        grouped: 0
        tags: game*
        swallowing: 0
        focusHistoryID: 2
        inhibitingIdle: 0
        xdgTag:
        xdgDescription:

You can see the description in the wiki

Essentially, it “automatically” adds the hdr or hdredid CM mode to your monitor only if you are on a fullscreen app (presumably, game).

PS: Is there a way to test this for sure? I have tried it with Sniper Elite 5 on steam in fullscreen mode, but it does not seem to toggle.

I don’t really do HDR, I don’t even have an HDR display, so I am unsure how you’d test this other than eyeballing it.

Hmm does it work through setting game or video? I cannot seem to find a way to actually check if the content_type is actually set

I don’t think it cares about the content type, just if the content is HDR. Gamescope IIRC does do CM.