Public bug reported:

[ Summary ]

libdisplay-info only derives HDR capabilities (PQ EOTF, BT.2020
colorimetry, luminance) from a CTA-861 HDR Static Metadata Data Block
(and Colorimetry Data Block). Some current OLED laptop panels do not
ship such a block at all, neither in a CTA-861 extension nor nested
inside the DisplayID v2 extension. Instead they declare HDR exclusively
through native DisplayID 2.0 data blocks:

* Display Parameters Data Block (0x21): primaries, white point, max/min 
luminance, device technology
* Display Interface Features Data Block (0x26): "Supported color space and EOTF 
standard combination: BT.2020/SMPTE ST 2084"

Because di_info_get_hdr_static_metadata() /
di_info_get_supported_signal_colorimetry() ignore these blocks,
compositors (mutter, KWin, wlroots, ...) conclude the display is SDR-
only and no HDR toggle is offered.

This is different from bug #2161800 (CTA-861 blocks nested inside
DisplayID v2, fixed upstream in libdisplay-info 0.4.0 by "info: search
CTA blocks in DisplayID v2 extensions"). On this panel the nested
CTA-861 DisplayID Data Block contains only an AMD Vendor-Specific Data
Block, so 0.4.0 does not help either. I checked current upstream master
(af382cf, 2026-10-25): derive_hdr_static_metadata() in info.c still only
looks at DI_CTA_DATA_BLOCK_HDR_STATIC_METADATA.

Note that Microsoft documents exactly this layout as the required one for 
Windows 11 (HDR properties specified with a DisplayID 2.0 Display Parameters 
block for colorimetry and a DisplayID 2.0 Display Features block for EOTF 
support), so more panels are likely to ship like this:
https://learn.microsoft.com/en-us/windows-hardware/design/component-guidelines/display

[ Hardware ]

* Lenovo Yoga Pro 7 15ASH11 / Yoga Pro 7a Gen 11 (15" AMD), machine type 83W5
* AMD Ryzen AI Max+ 388, integrated graphics (amdgpu), internal eDP-1
* Panel: 15.3" 2560x1600 OLED, 165 Hz, marketed as VESA DisplayHDR True Black 
1000, 100% DCI-P3, 500 nits
* EDID: LEN 0x8a14 "LEN153WQXGA", base EDID + 2 DisplayID 2.0 extension blocks 
(attached)

[ Relevant edid-decode output ]

Block 1, DisplayID Extension Block:
  Version: 2.0
  Display Parameters Data Block (0x21):
    Native Color Chromaticity:
      Primary #1:  (0.683105, 0.316895)
      Primary #2:  (0.233887, 0.733887)
      Primary #3:  (0.137939, 0.042969)
      White Point: (0.312988, 0.329102)
    Native Maximum Luminance (Full Coverage): 507.500000 cd/m^2
    Native Maximum Luminance (10% Rectangular Coverage): 1100.000000 cd/m^2
    Native Minimum Luminance: 0.000170 cd/m^2
    Native Color Depth: 12 bpc
    Display Device Technology: Organic LED
    Native Gamma EOTF: 2.20
  Display Interface Features Data Block:
    Supported bpc for RGB encoding: 10
    Supported color space and EOTF standard combination 1: BT.2020/SMPTE ST 2084

Block 2, DisplayID Extension Block:
  Version: 2.0
  ...
  CTA-861 DisplayID Data Block:
    Vendor-Specific Data Block (AMD), OUI 00-00-1A:
      Version: 3.3
      Minimum Refresh Rate: 48 Hz
      Maximum Refresh Rate: 165 Hz
      Maximum luminance: 143 (1107.128 cd/m^2)

(no Colorimetry Data Block, no HDR Static Metadata Data Block anywhere
in the EDID)

[ Steps to reproduce ]

1. Boot Ubuntu 26.04 GNOME (Wayland) on the laptop above.
2. Open Settings -> Displays: there is no HDR switch.
3. Query the color modes mutter exposes:

   gdbus call --session --dest org.gnome.Mutter.DisplayConfig \
     --object-path /org/gnome/Mutter/DisplayConfig \
     --method org.gnome.Mutter.DisplayConfig.GetCurrentState \
     | grep -oE "'supported-color-modes': <[^>]*>"

[ Actual result ]

'supported-color-modes': <[uint32 0, 2]>

i.e. only META_COLOR_MODE_DEFAULT (0) and META_COLOR_MODE_SDR_NATIVE
(2). META_COLOR_MODE_BT2100 (1) is missing, because mutter (meta-output-
kms.c) only sets BT2020 / PQ support from
edid_info->colorimetry.bt2020_rgb and edid_info->hdr_static_metadata,
both of which come back empty from libdisplay-info.

[ Expected result ]

libdisplay-info reports PQ EOTF and BT.2020 RGB support (and the
luminance values) derived from the DisplayID 2.0 Display Interface
Features and Display Parameters data blocks when no CTA-861 HDR Static
Metadata / Colorimetry block is present, so that mutter offers BT.2100
(HDR) mode.

[ Versions ]

* Ubuntu 26.04.1 LTS
* libdisplay-info3 0.3.0-1
* libmutter-18-0 50.1-0ubuntu2.5 / gnome-shell 50.1-0ubuntu1.5
* linux-image-7.0.0-42-generic 7.0.0-42.42

[ Attachments ]

* edid-lenovo-yoga-pro-7-15ASH11.bin: raw EDID from 
/sys/class/drm/card1-eDP-1/edid
* edid-decode-lenovo-yoga-pro-7-15ASH11.txt: full edid-decode output

** Affects: libdisplay-info (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 hdr resolute

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2173160

Title:
  libdisplay-info ignores HDR capabilities declared only in DisplayID
  2.0 blocks (no CTA-861 HDR Static Metadata), HDR unavailable on Lenovo
  Yoga Pro 7 15ASH11 OLED

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libdisplay-info/+bug/2173160/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to