hey, so I got a new ideapad pro 5i with an 2880x1800 (16:10) oled display and decided to setup KDE Plasma on it, everything is great, the Fn keys work out of the box.
I often use niri when working, so I tried setting up my Fn keybinds, but I can’t seem to get brightness control to work just as well as KDE. In KDE, my screen is bright enough at 50%, and so when I check sysfs (/sys/class/backlight/intel_backlight) for brightness, it reports the following
/sys/class/backlight/intel_backlight/actual_brightness -> 496
/sys/class/backlight/intel_backlight/bl_power -> 0
/sys/class/backlight/intel_backlight/brightness -> 496
/sys/class/backlight/intel_backlight/max_brightness -> 496
/sys/class/backlight/intel_backlight/scale -> unknown
/sys/class/backlight/intel_backlight/type -> raw
/sys/class/backlight/intel_backlight/uevent -> <EMPTY>
this is when kde reports it at 50%. So, I checked around and found that KDE’s powerdevil exposes a DBUS service for brightness control, I used d-spy to write a quick qdbus script to increase and decrease my brightness, along with spawning powerdevil under niri at startup, but it just doesn’t work as well, it only increases to a certain peak which is definitely not the max my display can go.
brightnessctl or any other brightness control tool doesn’t work under KDE/Kwin (since it depends on the sysfs), but they do work under niri, although only limited to the max sysfs reports.
How does KDE do this right? What am I missing?
Here’s the EDID from sensors,
# card1-eDP-1 #######################
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: SDC
Model: 16900
Made in: 2024
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 10
DisplayPort interface
Maximum image size: 34 cm x 22 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.6806, 0.3183
Green: 0.2197, 0.7246
Blue : 0.1425, 0.0390
White: 0.3134, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
Display Range Limits:
Monitor ranges (Range Limits Only): 30-120 Hz V, 230-230 kHz H, max dotclock 710 MHz
Alphanumeric Data String: 'SDC '
Display Product Name: 'ATNA60HR01-0 '
Extension blocks: 2
Checksum: 0x1c
----------------
Block 1, CTA-861 Extension Block:
Revision: 3
Native detailed modes: 0
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: 143 (1107.128 cd/m^2)
Desired content max frame-average luminance: 106 (496.743 cd/m^2)
Desired content min luminance: 1 (0.000 cd/m^2)
Checksum: 0xb2
----------------
Block 2, DisplayID Extension Block:
Version: 2.0
Display Product Primary Use Case: None of the listed primary use cases; generic display
Checksum: 0x90
----------------
Failures:
Block 0, Base EDID:
The first byte descriptor must contain the preferred timing.
The first byte descriptor must contain the preferred timing.
The first byte descriptor must contain the preferred timing.
The first byte descriptor must contain the preferred timing.
EDID conformity: FAIL
System Info:
Operating System: EndeavourOS
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.4-arch2-1 (64-bit)
Graphics Platform: Wayland
Processors: 14 × Intel® Core™ Ultra 5 225H
Memory: 32 GiB of RAM (30.8 GiB usable)
Graphics Processor: Intel® Graphics ARC 130T
Manufacturer: LENOVO
Product Name: 83JM
System Version: IdeaPad Pro 5 16IAH10