Intel graphics: 24 bit on HDR monitor if laptop is closed

Hello,

The problem: when laptop (ThinkPad X1 gen 8) is closed, my external monitor color depth drops to 24 bit.
Works fine on Ubuntu Live.
Same with kernel 7.0.4-200.

I contacted Intel support, they said they mainly support Ubuntu, and suggested to talk to the distribution maintainers.

What is different with Intel drivers in Fedora?


Found that mutter should have selected 59.997 refresh rate instead of 60.
When I set 59.997 rate (second 60 in Gnome settings), I get 30 bit.

Could you pls post the decoded EDID table for the external monitor?

edid-decode (hex):

00 ff ff ff ff ff ff 00 10 ac 77 43 4c 52 51 41
1e 23 01 04 b5 46 27 78 3b 6b f5 ad 50 41 b1 24
0c 50 54 a5 4b 00 d1 00 d1 c0 b3 00 a9 40 a9 c0
81 80 81 00 71 4f 4d d0 00 a0 f0 70 3e 80 30 20
35 00 b9 88 21 00 00 1a 00 00 00 ff 00 42 56 54
42 36 38 34 0a 20 20 20 20 20 00 00 00 fc 00 44
45 4c 4c 20 55 33 32 32 35 51 45 0a 00 00 00 fd
0c 30 78 14 14 6e 01 0a 20 20 20 20 20 20 02 22

02 03 2c f1 51 76 61 60 5f 5e 5d 3f 10 1f 22 21
20 04 13 03 12 01 23 09 7f 07 83 01 00 00 e2 00
ea e6 06 07 01 75 75 1b e3 05 c3 01 6f c2 00 a0
a0 a0 55 50 30 20 35 00 b9 88 21 00 00 1a 56 5e
00 a0 a0 a0 29 50 30 20 35 00 b9 88 21 00 00 1a
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d2

70 12 79 03 00 03 01 14 ce ac 01 04 ff 0e 9f 00
2f 80 1f 00 6f 08 7e 00 02 00 04 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 90

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: DEL
    Model: 17271
    Serial Number: 1095848524 (0x4151524c)
    Made in: week 30 of 2025
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 70 cm x 39 cm
    Gamma: 2.20
    DPMS levels: Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    First detailed timing includes the native pixel format and preferred refresh rate
    Display supports continuous frequencies
  Color Characteristics:
    Red  : 0.6767, 0.3144
    Green: 0.2558, 0.6943
    Blue : 0.1435, 0.0498
    White: 0.3134, 0.3291
  Established Timings I & II:
    IBM     :   720x400    70.081663 Hz   9:5     31.467 kHz     28.320000 MHz
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x06:   640x480    75.000000 Hz   4:3     37.500 kHz     31.500000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x0b:   800x600    75.000000 Hz   4:3     46.875 kHz     49.500000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
    DMT 0x12:  1024x768    75.028582 Hz   4:3     60.023 kHz     78.750000 MHz
    DMT 0x24:  1280x1024   75.024675 Hz   5:4     79.976 kHz    135.000000 MHz
  Standard Timings:
    DMT 0x45:  1920x1200   59.884600 Hz  16:10    74.556 kHz    193.250000 MHz
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
    DMT 0x33:  1600x1200   60.000000 Hz   4:3     75.000 kHz    162.000000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
    DMT 0x15:  1152x864    75.000000 Hz   4:3     67.500 kHz    108.000000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Display Product Serial Number: 'BVTB684'
    Display Product Name: 'DELL U3225QE'
    Display Range Limits:
      Monitor ranges (Range Limits Only): 48-120 Hz V, 275-275 kHz H, max dotclock 1100 MHz
  Extension blocks: 2
Checksum: 0x22

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans IT Video Formats by default
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC 118:  3840x2160  120.000000 Hz  16:9    270.000 kHz   1188.000000 MHz
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC  96:  3840x2160   50.000000 Hz  16:9    112.500 kHz    594.000000 MHz
    VIC  95:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
    VIC  94:  3840x2160   25.000000 Hz  16:9     56.250 kHz    297.000000 MHz
    VIC  93:  3840x2160   24.000000 Hz  16:9     54.000 kHz    297.000000 MHz
    VIC  63:  1920x1080  120.000000 Hz  16:9    135.000 kHz    297.000000 MHz
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC  34:  1920x1080   30.000000 Hz  16:9     33.750 kHz     74.250000 MHz
    VIC  33:  1920x1080   25.000000 Hz  16:9     28.125 kHz     74.250000 MHz
    VIC  32:  1920x1080   24.000000 Hz  16:9     27.000 kHz     74.250000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC  19:  1280x720    50.000000 Hz  16:9     37.500 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC  18:   720x576    50.000000 Hz  16:9     31.250 kHz     27.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 192 176.4 96 88.2 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Video Capability Data Block:
    YCbCr quantization: Selectable (via AVI YQ)
    RGB quantization: Selectable (via AVI Q)
    PT scan behavior: Always Underscanned
    IT scan behavior: Always Underscanned
    CE scan behavior: Always Underscanned
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      Traditional gamma - HDR luminance range
      SMPTE ST2084
    Supported static metadata descriptors:
      Static metadata type 1
    Desired content max luminance: 117 (630.392 cd/m^2)
    Desired content max frame-average luminance: 117 (630.392 cd/m^2)
    Desired content min luminance: 27 (0.071 cd/m^2)
  Colorimetry Data Block:
    xvYCC601
    xvYCC709
    BT2020YCC
    BT2020RGB
    Gamut Boundary Description Metadata Profile P0
  Detailed Timing Descriptors:
    DTD 2:  2560x1440  119.997589 Hz  16:9    182.996 kHz    497.750000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   77 Vpol N
    DTD 3:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
Checksum: 0xd2  Unused space in Extension Block: 47 bytes

----------------

Block 2, DisplayID Extension Block:
  Version: 1.2
  Extension Count: 0
  Display Product Type: Standalone display device
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  3840x2160  119.998907 Hz  16:9    274.438 kHz   1097.750000 MHz (aspect 16:9, no 3D stereo)
               Hfront   48 Hsync  32 Hback   80 Hpol P
               Vfront    3 Vsync   5 Vback  119 Vpol N
  Checksum: 0x66
Checksum: 0x90

AI research:

The DP-optimized reduced-blanking timing (533.25 MHz) is now in use, giving you 10bpc within the HBR2 bandwidth of your TB3 chain.
Worth noting: Ubuntu likely picks that timing by default because their Mutter build prefers the EDID-preferred DTD. This might be worth filing as a minor bug against Fedora’s mutter package — it shouldn’t prefer the 594 MHz CEA timing over the monitor’s preferred reduced-blanking one on a DP connection.

usually, new displays are configured according to the first DTD entry. Are you sure you did not change that manually to 60hz?

try this: log out, then change to a VT and login.

mv   ~/.config/monitors.xml  ~/.config/monitors.xml_orig

restart.

file a bugreport if needed upstream Work items · GNOME / mutter · GitLab

Did that. Works out of the box. Thank you!
I must have indeed change to another 60Hz manually.
The only issue is that the consequences of the change were not obvious, and confusing in the end.

still, this looks like a bug and should probably be reported to the gnome project.
I guess you could also reproduce this in Ubuntu with the ext. display configured to 60Hz?

Does the internal display support 48Hz? If yes, could you try reproducing with int. display at 48Hz and the ext display configured to 60Hz? I assume the internal display does not support HDR and 10bit color depth?

you may want to inspect what these commands report with both displays enabled and with int. display disabled:

gdctl show 
gdctl show -p
gdctl show -m
drm_info

WIth internal 47.999Hz and external 60Hz the latter gets 24 bit color only.
The internal one doesn’t support HDR, sdr-native only.

So the bug should read like: HDR toggle should not appear for incompatible refresh rate.