You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lxqt-backlight gets the brightness value from /sys/class/backlight/*/actual_brightness instead of /sys/class/backlight/*/brightness and then proceeds to write the processed actual_brightness into brightness. (Not like you have the permission to write into actual_brightness anyway...)
This is fine actually, but amdgpu_bl0 returns the raw brightness value (0-65536) for actual_brightness while brightness accepts only values between zero to max_brightness which is 255. When lxqt-backlight writes the processed actual_brightness to brightness, the brightness gets ramped up to 100% as the processed raw values are often in the range of 10000 to 20000, which get clamped to 255 when written to brightness.
Interestingly, this behaviour is not observed when one sets a brightness value directly - it only occurs when one increases or decreases the brightness through lxqt-config-brightness -i/-d. lxqt-config-brightness -s 20 and pkexec lxqt-backlight_backend 20 % does what one would expect: setting the brightness value to 20% of the maximum. This is because both of them do level / 100 * max_brightness instead of actual_brightness and hence is not affected by the bug.
Expected Behavior
The brightness value should be obtained from /sys/class/backlight/*/brightness.
Current Behavior
The brightness value is obtained from /sys/class/backlight/*/actual_brightness.
Possible Solution
For raw drivers, read from brightness instead of actual_brightness. I'm not sure about the other driver types.
Steps to Reproduce (for bugs)
1. Have a laptop with an integrated AMD GPU. Raven Ridge (Vega 7) in my case.
2a. Attempt to increase/decrease the brightness value, and blind your eyes. (lxqt-config-brightness)
2b. Attempt to increase/decrease the brightness value, and nothing happens. (lxqt-backlight_backend)
(lxqt-backlight_backend includes a check for value < max_value before writing to brightness)
System Information
Distribution & Version: Arch Linux (rolling)
Kernel: 5.7.8
Qt Version: 5.15.0-4
libqtxdg Version: 3.5.0
lxqt-build-tools Version: N/A
liblxqt version: 0.15.1-1
The text was updated successfully, but these errors were encountered:
lxqt-backlight gets the brightness value from
/sys/class/backlight/*/actual_brightness
instead of/sys/class/backlight/*/brightness
and then proceeds to write the processedactual_brightness
intobrightness
. (Not like you have the permission to write into actual_brightness anyway...)This is fine actually, but
amdgpu_bl0
returns the raw brightness value (0-65536) foractual_brightness
whilebrightness
accepts only values between zero tomax_brightness
which is 255. When lxqt-backlight writes the processedactual_brightness
tobrightness
, the brightness gets ramped up to 100% as the processed raw values are often in the range of 10000 to 20000, which get clamped to 255 when written tobrightness
.Interestingly, this behaviour is not observed when one sets a brightness value directly - it only occurs when one increases or decreases the brightness through
lxqt-config-brightness -i
/-d
.lxqt-config-brightness -s 20
andpkexec lxqt-backlight_backend 20 %
does what one would expect: setting the brightness value to 20% of the maximum. This is because both of them dolevel / 100 * max_brightness
instead ofactual_brightness
and hence is not affected by the bug.Expected Behavior
The brightness value should be obtained from
/sys/class/backlight/*/brightness
.Current Behavior
The brightness value is obtained from
/sys/class/backlight/*/actual_brightness
.Possible Solution
For
raw
drivers, read frombrightness
instead ofactual_brightness
. I'm not sure about the other driver types.Steps to Reproduce (for bugs)
1. Have a laptop with an integrated AMD GPU. Raven Ridge (Vega 7) in my case.
2a. Attempt to increase/decrease the brightness value, and blind your eyes. (lxqt-config-brightness)
2b. Attempt to increase/decrease the brightness value, and nothing happens. (lxqt-backlight_backend)
(lxqt-backlight_backend includes a check for
value < max_value
before writing tobrightness
)System Information
The text was updated successfully, but these errors were encountered: