HDR turns off and back on every few seconds on NUC6
Whenever I enable HDR on my NUC6, the output frequently drops out of HDR10 and then immediately switches back into HDR10. I can see this because the TV displays the indicator HDR10 to show it is receiving an HDR stream, then after a short while the image freezes and dims very briefly before resuming and the TV displays the HDR10 indicator again. This usually occurs every few seconds but sometimes it appears to happen a few times per second and other times there might be a pause of ten seconds or so before it happens.
All the following scenarios trigger the issue, which typically occurs within a second or two of HDR becoming enabled:
-
Kodi v21 (compiled for GLES) in GBM mode playing an HDR stream running with any of the kernels drm-tip, 6.8.0-36.36 (Ubuntu stock), 6.9.3 (Ubuntu mainline)
-
Ubuntu 24.04 gnome on kernel 6.8.0-36.36 with Wayland experimental HDR enabled (ie with global.compositor.backend.get_monitor_manager().experimental_hdr = 'on' entered in looking glass).
-
Neon Plasma6 with kernel 6.5 and HDR turned on (via the Display settings and with /etc/environment edited to include KWIN_DRM_ALLOW_INTEL_COLORSPACE=1)
To eliminate issues with the cables or TV, I have tried with 2 different HDMI cables and confirmed that the issue does not occur when using these cables connected to a desktop with an NVIDIA 4070 card running Windows with HDR enabled.
With kernels 6.15 and 6.18, I see an error that looks related because it looks like i915 was expecting SDR but saw HDR. It doesn't happen in kernels 6.9.3 and drm-tip, though. This example is from the neon kernel, but 6.8 gives an identical error):
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: [drm] ERROR [CRTC:59:pipe A] mismatch in infoframes.enable (expected 0x00000006, found 0x00000002)
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: [drm] ERROR mismatch in vsc dp sdp
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: [drm] ERROR expected:
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: DP SDP: VSC, revision 5, length 19
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: pixelformat: RGB
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: colorimetry: BT.2020 RGB
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: bpc: 8
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: dynamic range: CTA range
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: content type: Not defined
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: [drm] ERROR found:
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: DP SDP: VSC, revision 0, length 0
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: pixelformat: RGB
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: colorimetry: sRGB
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: bpc: 0
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: dynamic range: VESA range
Jul 08 03:28:51 neon kernel: i915 0000:00:02.0: content type: Not defined
Since the NUC6 uses a DP-HDMI converter internally, I tried both with and without enable_dp_mst=0 in case this made any difference, but it didn't.
Other info:
uname -a Linux NUC 6.10.0-rc6+ #1 (moved) SMP PREEMPT_DYNAMIC Mon Jul 8 20:07:39 AWST 2024 x86_64 x86_64 x86_64 GNU/Linux
lspci -vnn -d :*:0300 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 500 [8086:5a85] (rev 0b) (prog-if 00 [VGA controller]) DeviceName: CPU Subsystem: Intel Corporation HD Graphics 500 [8086:2067] Flags: bus master, fast devsel, latency 0, IRQ 135, IOMMU group 0 Memory at 90000000 (64-bit, non-prefetchable) [size=16M] Memory at 80000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: [40] Vendor Specific Information: Len=0c <?> Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00 Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Capabilities: [100] Process Address Space ID (PASID) Capabilities: [200] Address Translation Service (ATS) Capabilities: [300] Page Request Interface (PRI) Kernel driver in use: i915 Kernel modules: i915
Machine: NUC6CAYH Vendor: Intel Corp. Version: AYAPLCEL.86A.0076.2023.0710.1018 Release Date: 07/10/2023 HDMI (lspcon) firmware: 1.60