NVIDIA / egl-wayland

The EGLStream-based Wayland external platform
MIT License
275 stars 43 forks source link

HDR colors are washed out #108

Open wolfpld opened 2 months ago

wolfpld commented 2 months ago

With KDE 6 you can enable HDR for a display. If you do this on a display connected to an Nvidia GPU, the colors will be washed out, desaturated.

I have originally worked around this by connecting my HDR display to the AMD iGPU, and the colors were fine. Then, after a recent kernel update, the colors became washed out on AMD in the same way as on Nvidia. I believe the reason for this breakage is described here: https://gitlab.freedesktop.org/drm/amd/-/issues/3079#note_2339644

Is this a known issue in the Nvidia driver that is being worked on?

I am using nvidia 550.67.

Relevant drm_info data:

│   ├───Connector 2
│   │   ├───Type: DisplayPort
│   │   └───Properties
│   │       ├───"CRTC_ID" (atomic): object CRTC = 55
│   │       ├───"Colorspace": enum {Default, BT2020_RGB, BT2020_YCC} = BT2020_RGB
│   │       ├───"HDR_OUTPUT_METADATA": blob = 117
│   │       │   ├───Type: Static Metadata Type 1
│   │       │   ├───EOTF: SMPTE ST 2084 (PQ)
│   │       │   ├───Display primaries:
│   │       │   │   ├───Red: (0.6777, 0.3145)
│   │       │   │   ├───Green: (0.2715, 0.6328)
│   │       │   │   └───Blue: (0.1484, 0.0557)
│   │       │   ├───White point: (0.3135, 0.3291)
│   │       │   ├───Max display mastering luminance: 456 cd/m²
│   │       │   ├───Min display mastering luminance: 0.0673 cd/m²
│   │       │   ├───Max content light level: 456 cd/m²
│   │       │   └───Max frame average light level: 456 cd/m²

└───Planes
    ├───Plane 3
    │   └───Properties
    │       ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
    │       ├───"FB_ID" (atomic): object framebuffer = 114
    │       │   ├───Object ID: 114
    │       │   ├───Size: 3840x2160
    │       │   ├───Format: ABGR2101010 (0x30334241)
    │       │   ├───Modifier: NVIDIA_BLOCK_LINEAR_2D(h=5, k=6, g=2, s=1, c=0) (0x300000000606015)
    │       │   └───Planes:
    │       │       └───Plane 0: offset = 0, pitch = 15360 bytes
    │       ├───"CRTC_ID" (atomic): object CRTC = 55
    │       ├───"NV_INPUT_COLORSPACE": enum {None, IEC 61966-2-2 linear FP, ITU-R BT.2100-PQ YCbCr} = None
    │       ├───"NV_HDR_STATIC_METADATA": blob = 0
erik-kz commented 2 months ago

Thanks for the report. We are aware of the problem and are looking into it.