HDR Playback in VLC: Passthrough, Tone Mapping & Verification

Advanced Last updated: Applies to: Windows 10/11 + macOS + Linux · VLC 3.0.x

Playing an HDR file is easy; playing it correctly is not. Out of the box, VLC either tone-maps HDR to SDR (colors look flat) or, on Windows, sends the raw signal to a screen that may or may not be in HDR mode (colors look gray and washed out). This guide explains both modes, how to choose, and how to verify what your screen is actually receiving.

Step 1 — Understand the two HDR paths

  • Passthrough — VLC sends the untouched HDR signal to the display, which shows true HDR. Requires: HDR-capable display, HDR enabled in the OS, GPU/display connected over HDMI 2.0+/DP 1.4+, and the right VLC output module.
  • Tone mapping — VLC converts HDR to SDR in software. The picture always looks "correct" on any screen, but you lose the dynamic-range punch.
  • Rule of thumb: on an HDR TV/monitor, use passthrough. On an SDR screen, use tone mapping. The worst outcome — washed-out gray — happens when passthrough is on but the display is not actually in HDR mode.

Step 2 — Windows: enable HDR passthrough

  1. Turn on Windows HDR: Settings > System > Display > "Use HDR" (Windows 11) or Windows HD Color > "Play HDR games and apps" (Windows 10).

    Windows reports an HDR display.

  2. Open VLC Tools > Preferences > "All" > Video > Output, and set Output to "Direct3D11 video output".

    The D3D11 output is selected.

  3. In Video > Output modules > Direct3D11, tick "HDR metadata / HDR10 output" (and leave the HDR tone-mapping options at default).

    HDR passthrough is enabled.

  4. Save, restart VLC, and play an HDR file (e.g. an HDR10 MKV with the DV/HEVC main10 profile).

    The screen shows true HDR.

NoteIf the image looks gray/washed out, the display is not receiving an HDR signal — re-check Step 1 and the OS HDR toggle, then see the HDR-not-working fix.

Step 3 — macOS and Linux: the tone-mapping path

  1. macOS: leave the output as CoreAnimation/OpenGL — VLC 3.0 tone-maps HDR10 to the display’s SDR range automatically and reliably. True HDR passthrough on macOS is limited by the OS’s media pipeline, not by VLC.

    HDR looks correct (tone-mapped) on any Mac screen.

  2. Linux: set Video > Output to "OpenGL" (or VDPAU/VA-API for NVIDIA/AMD), and enable "Tone mapping" under Video > Output modules > OpenGL if your build exposes it.

    Colors are tone-mapped instead of clipped.

  3. Avoid forcing HDR passthrough on SDR hardware — the result is worse than tone mapping.

    You chose the right mode for the hardware.

Step 4 — Verify HDR is really active

  1. On Windows, press Win+Alt+B or check Settings > System > Display — "HDR" must be On with "HDR certified" displayed.

    The OS confirms HDR.

  2. During playback, open VLC Tools > Media Information and look at the video codec line — it should show "HEVC Main10" and an HDR10 metadata tag (PQ, BT.2020).

    The file is genuine HDR.

  3. Visually: true HDR highlights should be noticeably brighter with deep blacks; a gray-looking image means the chain is broken somewhere.

    HDR is verified end-to-end.

  4. If your TV has an info button (e.g. "Info" or the green button on LG/Samsung), press it during playback — it shows the incoming signal format (HDR10, 4:2:0, 10-bit).

    The TV confirms the signal.

Frequently asked questions

Why does HDR look washed out in VLC on Windows?
The D3D11 output is sending HDR while Windows has HDR disabled, or vice versa. Enable Windows HDR, use D3D11 with HDR output ticked, and restart VLC.
Does VLC support Dolby Vision?
VLC 3.0 reads the base layer of DV files (they play as HDR10 or SDR depending on the file). Full DV profile 7 metadata is not processed — for reference-grade DV, use a player/hardware that supports it.
Should I use tone mapping or passthrough on a 400-nit HDR monitor?
Passthrough — the monitor’s HDR mode, even if modest, beats software tone mapping for brightness. Tone mapping only wins when the screen is genuinely SDR.
Is HDR playback CPU/GPU heavy?
Passthrough is nearly free. Software tone mapping adds noticeable GPU load — on weak hardware, prefer passthrough or lower the resolution.