Skip to content

HDR/CM: Black levels aren't perfectly black, huge issue for OLED #9716

@gusjengis

Description

@gusjengis

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Not a regression - it's bug regarding new feature

System Info and Hyprland Version

[gusjengis@nixos:~]$ neofetch
gusjengis@nixos

OS: NixOS 24.11.20250323.f0946fa (Vicuna) x86_64
Host: ASUSTeK COMPUTER INC. ROG STRIX Z690-E GAMING WIFI
Kernel: 6.6.83
Uptime: 1 hour, 39 mins
Packages: 1220 (nix-system), 982 (nix-user)
Shell: bash 5.2.37
Resolution: 3840x2160, 2560x1440
DE: Hyprland (Wayland)
Theme: Adwaita [GTK2/3]
Icons: breeze [GTK2/3]
Terminal: kitty
Terminal Font: Meslo Nerd Font 8.0
CPU: 12th Gen Intel i9-12900K (24) @ 5.100GHz
GPU: NVIDIA GeForce RTX 3090 Ti
GPU: AMD ATI Radeon HD 5000/6000/7350/8350 Series
Memory: 4590MiB / 31907MiB

[gusjengis@nixos:~]$ hyprctl version
Hyprland 0.48.0 built from branch at commit aec6913 ().
Date: 2025-03-24
Tag: v0.48.0, commits: 5927
built against:
aquamarine 0.8.0
hyprlang 0.6.0
hyprutils 0.5.2
hyprcursor 0.1.12
hyprgraphics 0.1.2

no flags were set

Monitor rule:
monitor=HDMI-A-2, 3840x2160@119.88, 0x0, 1, cm, hdr, sdrbrightness, 1.4, sdrsaturation, 1.0

System config:
https://github.com/gusjengis/.dotfiles

Description

Image
This is my desktop with a perfectly black wallpaper, the picture is taken in a pitch black room, the monitor should not be visible.

I've just configured the new HDR CM for my LG C1 OLED. I noticed that tweaking sdrbrightness actually raises and lowers the black level. The brightness scaling must not be purely multiplicative. Black is 0, and x * 0 should = 0. This makes my OLED look pretty much the same as my LCD backlit secondary, which defeats a lot of the point of OLED.

Otherwise great work, these LG TVs look like absolute shit in SDR mode so this update has been a godsend, thank you UjinT34.

How to reproduce

Buy an OLED for testing? I doubt this would be visible an a screen incapable of pure black.

Attach not paste

  • I understand that all text files must be attached, and not pasted directly. If not respected, this issue will likely get closed as spam

Checklist of files to include below

  • Hyprland config - hyprctl systeminfo -c (always include)
  • Crash report (always include in case of crash)
  • Video (always include in case of a visual bug)
  • Logs (might contain useful info such as errors)

Additional info & File uploads

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions