HDR not activating on ASUS Vivobook OLED despite correct EDID/DisplayID HDR support

Hello everyone,

I’m trying to get HDR working on my ASUS Vivobook S14 OLED under Fedora 44 KDE Plasma (6.7.3), but I’m running out of ideas. I have spent quite a bit of time checking the entire display stack, and it looks like the hardware and kernel expose everything needed for HDR, but Plasma/KWin never actually enables HDR.

I am aware of KDE Bug 499673 regarding HDR detection issues, so I’m wondering if this is related or if there is something specific missing in my setup.

Small disclaimer: I used AI to help structure this post because I wanted to organize all the technical information and logs properly. The hardware details, commands, outputs, tests, and observations are mine. I’m not trying to pretend I know more than I do; I just wanted to make the information easier to follow for anyone willing to help.

Hardware

Laptop:

  • ASUS Vivobook S14 OLED M5406WA
  • Ryzen AI 9 365 (Strix Point)
  • Radeon 880M integrated GPU
  • AMDGPU driver
  • Internal eDP OLED panel

Display panel:

  • Samsung Display
  • Model: ATNA40CU09-0
  • 14-inch OLED
  • 2880×1800
  • 120 Hz
  • VRR capable

Software stack

  • Fedora 44 KDE
  • KDE Plasma: 6.7.3
  • KDE Frameworks: 6.28
  • Qt: 6.11.1
  • Wayland session
  • Kernel: Linux 7.1.4
  • Mesa: 26.1.4
  • amdgpu driver

DRM/KMS information

The internal eDP connector reports:

Type: eDP
Status: connected

Modes:
2880x1800@120.00 preferred
2880x1800@60.00

Properties:

"max bpc": range [8,16] = 16

"Colorspace":
Default
BT709_YCC
opRGB
BT2020_RGB
BT2020_YCC

"HDR_OUTPUT_METADATA": blob = 0

"vrr_capable": 1

"panel_type": OLED

The HDR metadata blob remains:

HDR_OUTPUT_METADATA: blob = 0

which appears to mean that no HDR metadata is currently being committed through DRM/KMS.

EDID / DisplayID analysis

I decoded the EDID:

edid-decode /sys/class/drm/card1-eDP-1/edid

The panel does not expose HDR through a traditional CTA-861 extension, but instead uses a DisplayID 2.0 extension.

Important information:

Display Device Technology: Organic LED

Native Color Depth: 12 bpc

Native Maximum Luminance:
  Full Coverage: 400 cd/m²
  10% Window: 616 cd/m²

Native Minimum Luminance:
  0.000500 cd/m²

Display interface capabilities:

Supported color space and EOTF standard combination:

DCI-P3
BT.2020 / SMPTE ST 2084

HDR metadata:

HDR Static Metadata Data Block

Electro optical transfer functions:
  Traditional gamma - SDR luminance range
  SMPTE ST2084

Supported static metadata descriptors:
  Static metadata type 1

Desired content max luminance:
  616.884 cd/m²

Desired content max frame-average luminance:
  400 cd/m²

Desired content min luminance:
  0.000 cd/m²

AMD DisplayID vendor block:

Vendor-Specific Data Block (AMD)

Version: 3

Minimum Refresh Rate:
48 Hz

Maximum Refresh Rate:
120 Hz

Maximum luminance:
616.884 cd/m²

Additional DRM color pipeline information

The AMD display engine exposes:

CURVE_1D_TYPE:

sRGB EOTF
PQ 125 EOTF
BT.2020 Inverse OETF

sRGB Inverse EOTF
PQ 125 Inverse EOTF
BT.2020 OETF

So the GPU/display pipeline appears to support the required HDR transfer functions.

Current behavior

  • SDR works perfectly.
  • 120 Hz works.
  • VRR appears available.
  • Wide gamut information is exposed.
  • HDR metadata capability exists.
  • EDID contains HDR10 information.

However:

  • KDE System Settings does not show an HDR option.
  • HDR mode never activates.
  • HDR_OUTPUT_METADATA stays at blob = 0.
  • No HDR metadata is sent to the panel.

Questions

Could this be related to KDE Bug 499673 (HDR detection issues)?

Does KWin currently detect HDR capabilities correctly from DisplayID 2.0 HDR blocks on internal eDP panels?

Is there a missing KWin configuration option, environment variable, or debug switch I should enable?

Could this be related to AMDGPU’s handling of HDR metadata on laptop OLED panels?

Would logs from:

kwin_wayland --verbose
journalctl -b | grep -i kwin
journalctl -b | grep -i hdr
drm_info
modetest

help diagnose this?

I am happy to test patches or provide additional debugging information.

Thanks to anyone who can help. I feel like the hardware side is already proven, so I’m mainly trying to find where the HDR capability detection/activation path is breaking.

Previous workaround / regression information

I also want to mention something important.

On KDE Plasma 6.6.6, I was able to force HDR detection by adding:

KWIN_FORCE_ASSUME_HDR_SUPPORT=1

to:

/etc/environment

then rebooting.

With this workaround on Plasma 6.6.6:

  • HDR mode activated correctly.
  • The OLED switched into HDR mode.
  • HDR content worked.
  • The behavior was basically what I expected.

On Plasma 6.7.3, the same workaround no longer behaves the same way.

Adding:

KWIN_FORCE_ASSUME_HDR_SUPPORT=1

still forces some HDR behavior, but HDR does not work correctly anymore.

  • HDR would activate.
  • The display would immediately go to maximum HDR brightness.
  • I could not properly calibrate the HDR luminance behavior.
  • The HDR brightness mapping seemed wrong.

This makes me wonder if there was a regression/change in KWin HDR handling between:

  • KDE Plasma 6.6.6 → 6.7.3

or if newer KWin versions require more complete HDR metadata detection instead of only forcing the capability flag.

Since forcing HDR worked before, I suspect the issue is not the AMDGPU driver or the panel itself, but somewhere in the KWin HDR detection, metadata handling, or calibration pipeline.

What does kscreen-doctor -o report?

Here both complete report

My kscreen-doctor -o report:

Output: 1 eDP-1 d76b1ced-3d40-4ea8-ba9f-2eadf943a905
enabled
connected
priority 1
Panel
**replication source:**0
Modes: 1:2880x1800@120.00*! 2:2880x1800@60.00 3:1920x1200@120.00 4:1920x1080@120.00 5:1600x1200@120.00 6:1680x1050@120.00 7:1280x1024@12
0.00 8:1440x900@120.00 9:1280x800@120.00 10:1280x720@120.00 11:1024x768@120.00 12:800x600@120.00 13:640x480@120.00 14:1600x1200@59.87 15:1280x1
024@59.90 16:1024x768@59.92 17:2560x1600@59.99 18:2560x1600@119.93 19:1920x1200@59.88 20:1280x800@59.81 21:2880x1620@59.96 22:2880x1620@119.95
23:2560x1440@59.96 24:2560x1440@119.95 25:1920x1080@59.96 26:1600x900@59.95 27:1600x900@119.95 28:1368x768@59.88 29:1368x768@119.83 30:1280x720@
59.85
Custom modes: None
Geometry: 0,0 1800x1125
Scale: 1.6
Rotation: 1
Overscan: 0
Vrr: Automatic
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: /home/Username/Documents/Asus-Vivobook-S14-M5406WA-ICC-profiles-main/M5406WA_1002_834C419D.icm
Color profile source: ICC
Color power preference: prefer accuracy
Brightness control: supported, set to 100% and dimming to 100%
Color resolution: automatic (16), range: [8; 16] bits per color
Allow EDR: always
Sharpness control: unsupported
Automatic brightness: unsupported
Auto Rotate Policy: incapable
Adaptive backlight modulation: unsupported

and my edid-decode /sys/class/drm/card1-eDP-1/edid

Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: SDC
Model: 16797
Made in: 2022
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 10
DisplayPort interface
Maximum image size: 30 cm x 19 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display supports continuous frequencies
Color Characteristics:
Red  : 0.6826, 0.3164
Green: 0.2451, 0.7138
Blue : 0.1396, 0.0439
White: 0.3125, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1:  2880x1800   60.000699 Hz  16:10   218.883 kHz    652.270000 MHz (302 mm x 189 mm)
Hfront   32 Hsync   8 Hback   60 Hpol P
Vfront    8 Vsync   8 Vback 1832 Vpol N
Display Range Limits:
Monitor ranges (Range Limits Only): 48-120 Hz V, 218-218 kHz H, max dotclock 660 MHz
Empty Descriptor
Alphanumeric Data String: 'ATNA40CU09-0 '
Extension blocks: 1
Checksum: 0x23




Block 1, DisplayID Extension Block:
Version: 2.0
Extension Count: 0
Display Product Primary Use Case: None of the listed primary use cases; generic display
Product Identification Data Block (0x20), OUI 4C-83-00:
Product Code: 16797
Year of Manufacture: 2032
Display Parameters Data Block (0x21):
Image size: 300.0 mm x 190.0 mm
Display native pixel format: 2880x1800
Scan Orientation: Left to Right, Top to Bottom
Luminance Information: Minimum guaranteed value
Color Information: CIE 1931
Audio Speaker Information: integrated
Native Color Chromaticity:
Primary #1:  (0.683105, 0.315918)
Primary #2:  (0.245117, 0.714111)
Primary #3:  (0.139893, 0.043945)
White Point: (0.312744, 0.329102)
Native Maximum Luminance (Full Coverage): 400.000000 cd/m^2
Native Maximum Luminance (10% Rectangular Coverage): 616.000000 cd/m^2
Native Minimum Luminance: 0.000500 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: 6, 8, 10
Supported bpc for YCbCr 4:4:4 encoding: 8, 10
Supported bpc for YCbCr 4:2:2 encoding: 8, 10
Supported color space and EOTF standard combination 1: DCI-P3, BT.2020/SMPTE ST 2084
Video Timing Modes Type 7 - Detailed Timings Data Block:
DTD:  2880x1800  120.000294 Hz  16:10   218.881 kHz    652.264000 MHz (aspect 16:10, no 3D stereo, preferred)
Hfront   32 Hsync   8 Hback   60 Hpol N
Vfront    8 Vsync   8 Vback    8 Vpol N
CTA-861 DisplayID Data Block:
Vendor-Specific Data Block (AMD), OUI 00-00-1A:
Version: 3
Feature Caps: 0x03
Minimum Refresh Rate: 48 Hz
Maximum Refresh Rate: 120 Hz
Flags 1.x: 0x00
Flags 2.x: 0xa0
Maximum luminance: 116 (616.884 cd/m^2)
Minimum luminance: 2 (0.000 cd/m^2)
Unknown: 0x60 0x02
Colorimetry Data Block:
BT2020RGB
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
SMPTE ST2084
Supported static metadata descriptors:
Static metadata type 1
Desired content max luminance: 116 (616.884 cd/m^2)
Desired content max frame-average luminance: 96 (400.000 cd/m^2)
Desired content min luminance: 2 (0.000 cd/m^2)
Checksum: 0x91
Checksum: 0x90

This is why you cannot turn on hdr mode.

From what you are saying there is more than one way to signal that the display supports hdr.

It seems you need to ask kde developers to support the second way.

You could raise a bug with the details you have against kwin and see what response you get.

Thanks for the reply, can you redirect me where i can file the bug or should just use the current one and send my data to the bug to avoid duplicate. please

Seems the existing bug is likely the same issue.

Adding your info to that bug provides the developers with another data point.

The issue seem to be fixed. KDE Bug 499673 is now resolved, and libdisplay-info 0.4.0 has been released.

I’m now waiting for the update to be pushed to the Fedora 44 KDE stable repositories so I can test the fix properly without the previous workaround.