February 16th, 2022

The Windows HDR Calibration app will soon be coming to PCs

Ana Marta Carvalho
Senior Program Manager

Note: In the meantime, we have launched the Windows HDR Calibration app. Learn more here.

 

When viewing HDR content on Windows, whether gaming, creating content or watching a movie, we all want to have a great experience. But, in some cases (particularly on displays without HDR certification), the displayed content is sometimes brighter than the maximum supported brightness of your display or darker than the minimum supported brightness. This causes a “clipping” effect where you won’t see any detail in the highlights or the shadows of a scene.

We know how frustrating this can be, and we heard your feedback and requests to bring the Xbox HDR Game Calibration app to Windows. In a not-so-distant future, you will be able to improve color accuracy and consistency of your HDR display via the upcoming Windows HDR Calibration app.

The app will be available on the Microsoft Store and will run on HDR-capable displays. Just like on Xbox, the Windows HDR Calibration app will feature three test patterns (recommended by the HDR Gaming Interest Group (HGIG) for a better HDR gaming experience):

  • One to determine the darkest visible detail you can see
  • One to determine the brightest visible detail
  • And finally, one to determine how bright your display can be

Certified displays (by any of the certification programs mentioned here) typically work better out of the box without necessarily needing calibration, but you should still consider using the Windows HDR Calibration app on your HDR display.

If you are on the Windows Insiders Dev channel, you may have noticed a new section “HDR display calibration” under System > Display > HDR settings. This is an early access point for the app, but as it is not live yet, it will simply lead you here 😊.

You’ll hear more from us here and on our Twitter account as soon as it becomes live – stay tuned!

Category
DirectX

Author

Ana Marta Carvalho
Senior Program Manager

Senior Program Manager on the Graphics Team at Microsoft

5 comments

Discussion is closed. Login to edit/delete existing comments.

  • Samir Sleiman · Edited

    Hi,

    When can we expect the Windows HDR Calibration app? We’re now almost two months further.

    Kind regards, Samir

    • Mücahit Simsek

      Als HDR Inhalte Liebhaber würde ich mich auch freuen, wenn wir wissen wann endlich HDR Kalibration Tool erscheint.

  • v00d00m4n

    When this app going to be available? i am tired to wait so many years!

    Also why is Xbox console supports Dolby Vision (which is better HDR format), and why Windows 10-11 does not???

    Please talk with dolby and implement Dolby Vision on system level in WIndows 10 and 11 same way it works on Xbox consoles with indication in Dolby app, PC version of which missing Dolby Vision tab!

    Is it so hard to pay some pennies...

    Read more
  • Kristjan Skutta

    Hi, I wanted to let you know that some of your HDR docs currently state that win32 apps cannot obtain the user white level here: https://docs.microsoft.com/en-us/windows/win32/direct3darticles/high-dynamic-range#step-1-obtain-the-current-sdr-reference-white-level
    although it is actually possible using DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL: https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-displayconfig_sdr_white_level

    This tricked me at first and perhaps other developers would miss it too and not scale their HDR output correctly. I know this is not the ideal place to bring this up, but not sure where else would have been better, thanks!

    Read more
    • Filippo Tarpini

      Microsoft documentation is on Github so you can literally just click edit on any page and make a pull request. As long as it’s an improvement and it makes sense they should accept it.

'; block.insertAdjacentElement('beforebegin', codeheader); let button = codeheader.querySelector('.copy-button'); button.addEventListener("click", async () => { let blockToCopy = block; await copyCode(blockToCopy, button); }); } }); async function copyCode(blockToCopy, button) { let code = blockToCopy.querySelector("code"); let text = ''; if (code) { text = code.innerText; } else { text = blockToCopy.innerText; } try { await navigator.clipboard.writeText(text); } catch (err) { console.error('Failed to copy:', err); } button.innerText = "Copied"; setTimeout(() => { button.innerHTML = '' + svgCodeIcon + ' Copy'; }, 1400); }