[Powerdevil] [Bug 381199] New: Broken brightness control with kernel module (ex. nvidia-bl)
bugzilla_noreply at kde.org
bugzilla_noreply at kde.org
Wed Jun 14 12:12:11 UTC 2017
https://bugs.kde.org/show_bug.cgi?id=381199
Bug ID: 381199
Summary: Broken brightness control with kernel module (ex.
nvidia-bl)
Product: Powerdevil
Version: 5.10.0
Platform: Other
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
Assignee: plasma-devel at kde.org
Reporter: vsnrain.dev at gmail.com
Target Milestone: ---
Overview:
Since 5.10, it is no longer possible to adjust brightness on my system, which
requires special kernel module for brightness to work. I tried to look at what
caused this, and found that in following commit
https://cgit.kde.org/powerdevil.git/commit/?id=86c3548d103ff5966366788220796de629be9230
Was attempt to add feature that powerdevil will control only brightness of
active device. Part of relevant code is following:
/daemon/backends/upower/backlighthelper.cpp
bool BacklightHelper::isRawBacklightEnabled(const QString &interface)
{
QFile file(BACKLIGHT_SYSFS_PATH + interface + "/device/enabled");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
return false;
}
QByteArray buffer = file.readLine().trimmed();
if (buffer == "enabled") {
return true;
}
return false;
}
As you can see, it was implemented by skipping all brightness devices which in
BACKLIGHT_SYSFS_PATH + interface + "/device/enabled" does not return "enabled".
The problem is, there is no property "device/enabled" in my nvidia_backlight
device:
ls -la /sys/class/backlight/nvidia_backlight/
total 0
drwxr-xr-x 3 root root 0 Jun 2 22:50 .
drwxr-xr-x 3 root root 0 Jun 2 22:50 ..
-r--r--r-- 1 root root 4096 Jun 2 23:02 actual_brightness
-rw-r--r-- 1 root root 4096 Jun 2 23:02 bl_power
-rw-r--r-- 1 root root 4096 Jun 2 22:54 brightness
-r--r--r-- 1 root root 4096 Jun 2 22:50 max_brightness
drwxr-xr-x 2 root root 0 Jun 2 23:02 power
lrwxrwxrwx 1 root root 0 Jun 2 22:50 subsystem ->
../../../../class/backlight
-r--r--r-- 1 root root 4096 Jun 2 22:50 type
-rw-r--r-- 1 root root 4096 Jun 2 22:50 uevent
so powerdevil tries to open this file, fails, and always skips this brightness
device. I recompiled powerdevil with "return true" in mentioned function, and
brightness control works again, so it seems that problem in indeed in this
part.
Steps to Reproduce:
use kernel module for brightness device, tested on Nvidia GF 9400M with
nvidia-bl kernel module.
Actual Results:
powerdevil always skips brightness device, because it cannot open file
/sys/class/backlight/nvidia_backlight/device/enabled, which does not exist.
Expected Results:
register and control brightness device.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Plasma-devel
mailing list