Bug 476375

Summary: Powerdevil fails to start with ddcutil-2.0.0, spikes cpu usage to max every few seconds
Product: [Plasma] Powerdevil Reporter: Knut Eirik <knuteirikj>
Component: generalAssignee: Natalie Clarius <natalie_clarius>
Status: RESOLVED FIXED    
Severity: grave CC: admin, benjamindaines, cherkaba, contact+bugs.kde.org, einbert-xeride, enigma1052666, holyzolly, jpetso, julien.dlq, kde, kocelfc, m66q4blzl, mail, mail, me, natalie_clarius, nate, nicolas.fella, norbert, postix, reza.jahanbakhshi, sven-97, theattish, xndpxs2013
Priority: VHI Keywords: regression
Version: 5.27.9   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.0
Sentry Crash Report:
Attachments: journalctl -b 0 | grep -i 'powerdevil'.txt output
hardware and system config

Description Knut Eirik 2023-10-31 15:18:26 UTC
journalctl -b 0 | grep -i 'powerdevil'

ct 31 16:12:57 zxc systemd[879]: Starting Powerdevil...
Oct 31 16:12:57 zxc org_kde_powerdevil[2441]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Oct 31 16:12:57 zxc org_kde_powerdevil[2441]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Oct 31 16:13:02 zxc systemd[879]: plasma-powerdevil.service: start operation timed out. Terminating.
Oct 31 16:13:02 zxc systemd[879]: plasma-powerdevil.service: Failed with result 'timeout'.
Oct 31 16:13:02 zxc systemd[879]: Failed to start Powerdevil.
Oct 31 16:13:02 zxc systemd[879]: plasma-powerdevil.service: Consumed 2.770s CPU time.
Oct 31 16:13:02 zxc systemd[879]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 25.
Oct 31 16:13:02 zxc systemd[879]: Starting Powerdevil...
Oct 31 16:13:03 zxc org_kde_powerdevil[2455]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Oct 31 16:13:03 zxc org_kde_powerdevil[2455]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Oct 31 16:13:08 zxc systemd[879]: plasma-powerdevil.service: start operation timed out. Terminating.
Oct 31 16:13:08 zxc systemd[879]: plasma-powerdevil.service: Failed with result 'timeout'.
Oct 31 16:13:08 zxc systemd[879]: Failed to start Powerdevil.
Oct 31 16:13:08 zxc systemd[879]: plasma-powerdevil.service: Consumed 2.787s CPU time.
Oct 31 16:13:08 zxc systemd[879]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 26.
Oct 31 16:13:08 zxc systemd[879]: Starting Powerdevil...
Oct 31 16:13:08 zxc org_kde_powerdevil[2469]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Oct 31 16:13:08 zxc org_kde_powerdevil[2469]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Oct 31 16:13:13 zxc systemd[879]: plasma-powerdevil.service: start operation timed out. Terminating.
Oct 31 16:13:13 zxc systemd[879]: plasma-powerdevil.service: Failed with result 'timeout'.
Oct 31 16:13:13 zxc systemd[879]: Failed to start Powerdevil.
Oct 31 16:13:13 zxc systemd[879]: plasma-powerdevil.service: Consumed 2.792s CPU time.
Oct 31 16:13:13 zxc systemd[879]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 27.
Oct 31 16:13:13 zxc systemd[879]: Starting Powerdevil...
Oct 31 16:13:13 zxc org_kde_powerdevil[2485]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Oct 31 16:13:13 zxc org_kde_powerdevil[2485]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed

this just keeps repeating.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
(available in About System)
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.111.0
Qt Version: 5.15.11

ADDITIONAL INFORMATION
Comment 1 Justin Shepherd 2023-11-01 16:29:48 UTC
I had to downgrade both ddcutil and powerdevil to get it to work again. The last known working combination is:

ddcutil-1.4.1-1 (downgraded from ddcutil-2.0.0-1)
powerdevil-5.27.9-1 (downgraded from powerdevil-5.27.9-2)

sudo pacman -U https://archive.archlinux.org/packages/d/ddcutil/ddcutil-1.4.1-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/p/powerdevil/powerdevil-5.27.9-1-x86_64.pkg.tar.zst
Comment 2 Nate Graham 2023-11-01 20:25:02 UTC
*** Bug 476369 has been marked as a duplicate of this bug. ***
Comment 3 Nate Graham 2023-11-01 20:29:02 UTC
The only substantive change in 5.27.9 compared to 5.27.8 is https://invent.kde.org/plasma/powerdevil/-/commit/d176188ff9b573a784905cada8824897af86b34b, which doesn't look related to me (but I could be wrong; CCing the author).

Folks who are affected, are you able to make it work again by downgrading only ddcutil and keeping powerdevil the same? Don't forget to reboot afterwards. :)
Comment 4 Natalie Clarius 2023-11-02 03:51:56 UTC
I can't reproduce this with the given versions of ddcutil and powerdevil.
Comment 5 Natalie Clarius 2023-11-02 04:02:30 UTC Comment hidden (spam)
Comment 6 Natalie Clarius 2023-11-02 04:09:07 UTC Comment hidden (spam)
Comment 7 Nate Graham 2023-11-02 04:10:07 UTC Comment hidden (spam)
Comment 8 Justin Shepherd 2023-11-02 06:38:23 UTC
(In reply to Nate Graham from comment #3)
> The only substantive change in 5.27.9 compared to 5.27.8 is
> https://invent.kde.org/plasma/powerdevil/-/commit/
> d176188ff9b573a784905cada8824897af86b34b, which doesn't look related to me
> (but I could be wrong; CCing the author).
> 
> Folks who are affected, are you able to make it work again by downgrading
> only ddcutil and keeping powerdevil the same? Don't forget to reboot
> afterwards. :)

Thanks for the prompt response Nate. To answer your question:

I've combined the current stable versions (with ddcutil downgraded and using the latest powerdevil), yet the problem persists.
ddcutil version: 1.4.1-1
powerdevil version: 5.27.9-2

Interestingly, I found that only by rolling back to powerdevil 5.27.9-1 did things function properly.

Even though I tried various versions of ddcutil (up to the latest) in tandem with earlier powerdevil versions as well, the specific pairing of powerdevil 5.27.9-1 and ddcutil 1.14.1-1 was the sole combination that addressed the problem.
Comment 9 Antonio Rojas 2023-11-02 08:02:04 UTC
(In reply to Justin Shepherd from comment #8)

> Even though I tried various versions of ddcutil (up to the latest) in tandem
> with earlier powerdevil versions as well, the specific pairing of powerdevil
> 5.27.9-1 and ddcutil 1.14.1-1 was the sole combination that addressed the
> problem.

You can't mix and match different ddcutil/powerdevil versions at will. ddcutil 1.x and 2.x have different ABI, you need to use a powerdevil version that has been compiled with the exact ddcutil version you are using.
Comment 10 Justin Shepherd 2023-11-02 08:31:07 UTC
(In reply to Antonio Rojas from comment #9)
> (In reply to Justin Shepherd from comment #8)
> 
> > Even though I tried various versions of ddcutil (up to the latest) in tandem
> > with earlier powerdevil versions as well, the specific pairing of powerdevil
> > 5.27.9-1 and ddcutil 1.14.1-1 was the sole combination that addressed the
> > problem.
> 
> You can't mix and match different ddcutil/powerdevil versions at will.
> ddcutil 1.x and 2.x have different ABI, you need to use a powerdevil version
> that has been compiled with the exact ddcutil version you are using.

Thank you for your input.

While I'm not well-versed in the intricacies of ABI's, versioning with powerdevil, and ddcutil, I was addressing Nate's earlier ask to test the latest powerdevil with an older versions of ddcutil.
Comment 11 Altamush Nayyer Khan 2023-11-02 08:40:04 UTC
Mr. Nate, kindly look at this video. I solved it but have since then switched DEs.

This is a workaround, but I do not know how safe it is.

https://www.youtube.com/watch?v=bFSd6QYerRM
Comment 12 Nate Graham 2023-11-02 21:25:09 UTC
Thanks Antonio, that makes sense. So it sounds like the triggering factor here was in fact ddcutil 2.0, but of course we'll need to adapt to whatever change they made to cause this issue anyway.

Natalie or Nicolas, would either of you be able to look into this?
Comment 13 Natalie Clarius 2023-11-04 03:42:29 UTC
(In reply to Natalie Clarius from comment #4)
> I can't reproduce this with the given versions of ddcutil and powerdevil.

Presumably because I don't have a DDC capable monitor.

People who experience this bug, do you have any setup available with a built-in screen (i.e. a laptop) and could test whether this problem still occurs?

Also, could you please do

> echo "org.kde.powerdevil=true" >> ~/.config/QtProject/qtlogging.ini

to enable more verbose log output for powerdevil and see what the journal says after rebooting.
Comment 14 Paul 2023-11-04 05:11:55 UTC
(In reply to Natalie Clarius from comment #13)
> (In reply to Natalie Clarius from comment #4)
> > I can't reproduce this with the given versions of ddcutil and powerdevil.
> 
> Presumably because I don't have a DDC capable monitor.
> 
> People who experience this bug, do you have any setup available with a
> built-in screen (i.e. a laptop) and could test whether this problem still
> occurs?
> 
> Also, could you please do
> 
> > echo "org.kde.powerdevil=true" >> ~/.config/QtProject/qtlogging.ini
> 
> to enable more verbose log output for powerdevil and see what the journal
> says after rebooting.

I've been experiencing this issue on my desktop with external monitors, but haven't had the issue on my laptop.
Comment 15 Knut Eirik 2023-11-04 14:38:05 UTC
(In reply to Natalie Clarius from comment #13)

> > echo "org.kde.powerdevil=true" >> ~/.config/QtProject/qtlogging.ini
No file or folder with that name, I manually created it but not sure if it made a difference.

I figured out the bug  seem to only happen on my LG C9 55" TV because when I plugged in my proper PC monitor powerdevil don't spike CPU and I am able to enter power settings. 

I'll add journalctl -b 0 | grep -i 'powerdevil'  after fresh reboot for both monitors below.

LG OLED TV:

x@zxc ~> journalctl -b 0 | grep -i 'powerdevil'
Nov 04 15:24:17 zxc systemd[692]: Starting Powerdevil...
Nov 04 15:24:17 zxc kded5[816]: kscreen.kded: PowerDevil SuspendSession action not available!
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Activating service name='org.kde.powerdevil.discretegpuhelper' requested by ':1.44' (uid=1000 pid=915 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Successfully activated service 'org.kde.powerdevil.discretegpuhelper'
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Activating service name='org.kde.powerdevil.chargethresholdhelper' requested by ':1.44' (uid=1000 pid=915 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Successfully activated service 'org.kde.powerdevil.chargethresholdhelper'
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Activating service name='org.kde.powerdevil.backlighthelper' requested by ':1.44' (uid=1000 pid=915 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:24:18 zxc backlighthelper[957]: org.kde.powerdevil: no kernel backlight interface found
Nov 04 15:24:18 zxc dbus-daemon[529]: [system] Successfully activated service 'org.kde.powerdevil.backlighthelper'
Nov 04 15:24:18 zxc org_kde_powerdevil[915]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Nov 04 15:24:18 zxc org_kde_powerdevil[915]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Nov 04 15:24:23 zxc systemd[692]: plasma-powerdevil.service: start operation timed out. Terminating.
Nov 04 15:24:23 zxc systemd[692]: plasma-powerdevil.service: Failed with result 'timeout'.
Nov 04 15:24:23 zxc systemd[692]: Failed to start Powerdevil.
Nov 04 15:24:23 zxc systemd[692]: plasma-powerdevil.service: Consumed 2.744s CPU time.
Nov 04 15:24:23 zxc systemd[692]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 1.
Nov 04 15:24:23 zxc systemd[692]: Starting Powerdevil...
Nov 04 15:24:23 zxc org_kde_powerdevil[1041]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Nov 04 15:24:23 zxc org_kde_powerdevil[1041]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Nov 04 15:24:28 zxc systemd[692]: plasma-powerdevil.service: start operation timed out. Terminating.
Nov 04 15:24:28 zxc systemd[692]: plasma-powerdevil.service: Failed with result 'timeout'.
Nov 04 15:24:28 zxc systemd[692]: Failed to start Powerdevil.
Nov 04 15:24:28 zxc systemd[692]: plasma-powerdevil.service: Consumed 2.758s CPU time.
Nov 04 15:24:28 zxc systemd[692]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 2.
Nov 04 15:24:28 zxc systemd[692]: Starting Powerdevil...
Nov 04 15:24:29 zxc org_kde_powerdevil[1426]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Nov 04 15:24:29 zxc org_kde_powerdevil[1426]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed


Samsung pc monitor:

x@zxc ~> journalctl -b 0 | grep -i 'powerdevil'
Nov 04 15:26:21 zxc systemd[723]: Starting Powerdevil...
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Activating service name='org.kde.powerdevil.discretegpuhelper' requested by ':1.41' (uid=1000 pid=922 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Successfully activated service 'org.kde.powerdevil.discretegpuhelper'
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Activating service name='org.kde.powerdevil.chargethresholdhelper' requested by ':1.41' (uid=1000 pid=922 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Successfully activated service 'org.kde.powerdevil.chargethresholdhelper'
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Activating service name='org.kde.powerdevil.backlighthelper' requested by ':1.41' (uid=1000 pid=922 comm="/usr/lib/org_kde_powerdevil") (using servicehelper)
Nov 04 15:26:21 zxc backlighthelper[970]: org.kde.powerdevil: no kernel backlight interface found
Nov 04 15:26:21 zxc dbus-daemon[537]: [system] Successfully activated service 'org.kde.powerdevil.backlighthelper'
Nov 04 15:26:21 zxc org_kde_powerdevil[922]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Nov 04 15:26:21 zxc org_kde_powerdevil[922]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Nov 04 15:26:23 zxc kded5[846]: kscreen.kded: PowerDevil SuspendSession action not available!
Nov 04 15:26:25 zxc systemd[723]: Started Powerdevil.
Nov 04 15:26:25 zxc org_kde_powerdevil[922]: org.kde.powerdevil: Handle button events action could not check for screen configuration
Nov 04 15:26:25 zxc org_kde_powerdevil[922]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Comment 16 Altamush Nayyer Khan 2023-11-05 12:55:27 UTC
I believe that this may help someone. If you edit the powerdevil.desktop file and do the following

X-systemd-skip=false
X-KDE-autostart-phase=1

the restart loop breaks. It sometimes returns, and then when I restart the system it goes away. It appears to just appear at random. I edited the file directly that exists within xdg. Maybe this is the solution for now?

The file can be found in /etc/xdg/autostart

It is safe to edit this file, yes?
Comment 17 Dominik Kummer 2023-11-11 14:51:13 UTC
Following the suggestion by Altamush Nayyer Khan of changing powerdevil.desktop section to

X-systemd-skip=false
X-KDE-autostart-phase=1

did work for me on a HP Z4 G4 pc.

Thank you!
Comment 18 Jaime Antonio Gonzalez 2023-11-12 16:01:28 UTC
I'm on a desktop PC with two monitors in a PRIME setup (Nvidia + Intel) and also was getting the same powerdevil restart loop (which caused micro-freezes every X seconds)

nov 12 09:41:26 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:26 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:26 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:26 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 7.
nov 12 09:41:26 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:27 HP3400 org_kde_powerdevil[1338]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:27 HP3400 org_kde_powerdevil[1338]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:32 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:32 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:32 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:32 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 8.
nov 12 09:41:32 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:32 HP3400 org_kde_powerdevil[1400]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:32 HP3400 org_kde_powerdevil[1400]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:37 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:37 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:37 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:37 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 9.
nov 12 09:41:37 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:38 HP3400 org_kde_powerdevil[1492]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:38 HP3400 org_kde_powerdevil[1492]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:43 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:43 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:43 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:43 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 10.
nov 12 09:41:43 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:43 HP3400 org_kde_powerdevil[1536]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:43 HP3400 org_kde_powerdevil[1536]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:48 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:48 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:48 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:48 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 11.
nov 12 09:41:48 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:49 HP3400 org_kde_powerdevil[1584]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:49 HP3400 org_kde_powerdevil[1584]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:54 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:54 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:54 HP3400 systemd[580]: Failed to start Powerdevil.
nov 12 09:41:54 HP3400 systemd[580]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 12.
nov 12 09:41:54 HP3400 systemd[580]: Starting Powerdevil...
nov 12 09:41:54 HP3400 org_kde_powerdevil[1643]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
nov 12 09:41:54 HP3400 org_kde_powerdevil[1643]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
nov 12 09:41:59 HP3400 systemd[580]: plasma-powerdevil.service: start operation timed out. Terminating.
nov 12 09:41:59 HP3400 systemd[580]: plasma-powerdevil.service: Failed with result 'timeout'.
nov 12 09:41:59 HP3400 systemd[580]: Failed to start Powerdevil.

WORKAROUND

Since I have moved over to Manjaro, I downgraded two packages as following (if you are on Arch or Arch-based this will work):

sudo pacman -U https://archive.archlinux.org/packages/d/ddcutil/ddcutil-1.4.1-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/p/powerdevil/powerdevil-5.27.9-1-x86_64.pkg.tar.zst

And the problem is solved.

Operating System: Manjaro Linux 
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.111.0
Qt Version: 5.15.11
Kernel Version: 6.6.0-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-2400 CPU @ 3.10GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 2000
Manufacturer: Hewlett-Packard
Product Name: HP Pro 3400 Series MT
Comment 19 Nicolas Fella 2023-11-13 20:29:52 UTC
I see no such issue on Fedora 39, which also has ddcutil 2.0.0
Comment 20 Altamush Nayyer Khan 2023-11-17 09:54:24 UTC
For anyone who is still having issues with this, please read this post: https://bbs.archlinux.org/viewtopic.php?id=289979

Although I released a solution, this one appears to be working better. Only the KDE devs can tell whether this solution or mine is safe or not for the people that are facing this issue. I hope this bug is pushed, and fixed quickly as some people that are using KDE might not even know why their system is hitching due to this.
Comment 21 holyzolly 2023-11-20 14:54:06 UTC
(In reply to Altamush Nayyer Khan from comment #20)
> For anyone who is still having issues with this, please read this post:
> https://bbs.archlinux.org/viewtopic.php?id=289979
> 
> Although I released a solution, this one appears to be working better. Only
> the KDE devs can tell whether this solution or mine is safe or not for the
> people that are facing this issue. I hope this bug is pushed, and fixed
> quickly as some people that are using KDE might not even know why their
> system is hitching due to this.

You should edit the timeout after you have installed these latest versions of powerdevil & ddcutil, because the update resets it to 5s.

Hm, it is working fine as in you get screen brightness now that is working along Night Color.

For the 3 energy options Power Save / Balanced / Performance that do reappear too, the slider will not hold i. e. I don't think it sets them while logged in. However drag that slider where you want it, maybe try a few times :)  then logout and login and the slider is set. Must be working that way, or how do you make sure the option is in fact in tact after the re-login?
If so, this is a workaround I can live with so a while, latest versions, 1 logo-logi required for changed things to come into effect.
No powerdevil cpu hassle or anything. Thanks for mentioning.
Comment 22 holyzolly 2023-11-20 14:54:58 UTC
I'm on Manjaro KDE Stable 
Kernel 6 1 62
Comment 23 Altamush Nayyer Khan 2023-11-20 15:24:05 UTC
(In reply to holyzolly from comment #21)
> (In reply to Altamush Nayyer Khan from comment #20)
> > For anyone who is still having issues with this, please read this post:
> > https://bbs.archlinux.org/viewtopic.php?id=289979
> > 
> > Although I released a solution, this one appears to be working better. Only
> > the KDE devs can tell whether this solution or mine is safe or not for the
> > people that are facing this issue. I hope this bug is pushed, and fixed
> > quickly as some people that are using KDE might not even know why their
> > system is hitching due to this.
> 
> You should edit the timeout after you have installed these latest versions
> of powerdevil & ddcutil, because the update resets it to 5s.
> 
> Hm, it is working fine as in you get screen brightness now that is working
> along Night Color.
> 
> For the 3 energy options Power Save / Balanced / Performance that do
> reappear too, the slider will not hold i. e. I don't think it sets them
> while logged in. However drag that slider where you want it, maybe try a few
> times :)  then logout and login and the slider is set. Must be working that
> way, or how do you make sure the option is in fact in tact after the
> re-login?
> If so, this is a workaround I can live with so a while, latest versions, 1
> logo-logi required for changed things to come into effect.
> No powerdevil cpu hassle or anything. Thanks for mentioning.

I edited the timeout after I updated. I am not sure what the issue was though. I am still trying to understand what went wrong.
Comment 24 Altamush Nayyer Khan 2023-11-20 15:31:44 UTC
(In reply to holyzolly from comment #21)
> (In reply to Altamush Nayyer Khan from comment #20)
> > For anyone who is still having issues with this, please read this post:
> > https://bbs.archlinux.org/viewtopic.php?id=289979
> > 
> > Although I released a solution, this one appears to be working better. Only
> > the KDE devs can tell whether this solution or mine is safe or not for the
> > people that are facing this issue. I hope this bug is pushed, and fixed
> > quickly as some people that are using KDE might not even know why their
> > system is hitching due to this.
> 
> You should edit the timeout after you have installed these latest versions
> of powerdevil & ddcutil, because the update resets it to 5s.
> 
> Hm, it is working fine as in you get screen brightness now that is working
> along Night Color.
> 
> For the 3 energy options Power Save / Balanced / Performance that do
> reappear too, the slider will not hold i. e. I don't think it sets them
> while logged in. However drag that slider where you want it, maybe try a few
> times :)  then logout and login and the slider is set. Must be working that
> way, or how do you make sure the option is in fact in tact after the
> re-login?
> If so, this is a workaround I can live with so a while, latest versions, 1
> logo-logi required for changed things to come into effect.
> No powerdevil cpu hassle or anything. Thanks for mentioning.

I do not know whether this workaround is safe or not, by the way. I am not sure why this was shipped without testing. I have heard that PowerDevil has been buggy in the past. What else may have gone wrong that caused this bug. I really want to do my part in getting this bug solved.
Comment 25 Sven 2023-11-20 17:31:15 UTC
I have the same problem since the Update of ddcutil and powerdevil and tried all 3 workarounds in the comments. When I edit the desktop file Powerdevil still fails to start a few times but then the loop stops eventually. If I increase the timeout time only the libddcutil errors below are present. With the downgraded versions no error messages occur regarding this bug. So downgrading currently seems the best option for me.

the repeating entries in my systemd journal log with Powerdevil 5.27.9-2 and ddcutils 2.0.0-1:

Nov 20 16:18:43 xxx systemd[745]: Failed to start Powerdevil.
Nov 20 16:18:43 xxx systemd[745]: plasma-powerdevil.service: Failed with result 'timeout'.
Nov 20 16:18:43 xxx systemd[745]: plasma-powerdevil.service: start operation timed out. Terminating.
Nov 20 16:18:42 xxx libddcutil[15006]: busno=6, sleep-multiplier =  2,00. Testing for supported feature 0x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)]
Nov 20 16:18:40 xxx libddcutil[15006]: busno=3, sleep-multiplier =  2,00. Testing for supported feature 0x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_READ_ALL_ZERO(10)]
Nov 20 16:18:38 xxx org_kde_powerdevil[15006]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Nov 20 16:18:38 xxx org_kde_powerdevil[15006]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"

I experimented a bit with ddcutil and got these infos:

'ddcutil detect' in version 1.4.1
    No /dev/i2c devices exist.
    ddcutil requires module i2c-dev.

'ddcutil detect' in version 2.0.0 (i removed my monitor details)
    Invalid display
    I2C bus:  /dev/i2c-3
    DRM connector:           card0-HDMI-A-1
    EDID synopsis:
        Mfg id:               xxx
        Model:                xxx
        Product code:         xxx
        Serial number:
        Binary serial number: xxx
        Manufacture year:     xxx
    DDC communication failed. (getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_READ_ALL_ZERO(10)])
    DRM reports the monitor is disabled.

    Invalid display
    I2C bus:  /dev/i2c-6
    DRM connector:           card0-DP-2
    EDID synopsis:
        Mfg id:               xxx
        Model:                xxx
        Product code:         xxx
        Serial number:        xxx
        Binary serial number: xxx
        Manufacture year:     xxx
    DDC communication failed. (getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)])
    DRM reports the monitor is disabled.

It looks like ddcutils 2.0 now also lists my previously not recognized displays and prints that communication error. 'ddcutil vcpinfo' says that 'feature x10' is the brightness control support. Since both my monitors don't support that feature, i think that error message is probably correct. But maybe this error could be the reason why Powerdevil fails to start, since it also shows up in my systemd journal shortly before Powerdevil fails.
Comment 26 holyzolly 2023-11-20 17:32:18 UTC
Can you successfully change your Power Profile whilst in session? @ Altamush Nayyer Khan
Comment 27 Altamush Nayyer Khan 2023-11-21 02:13:26 UTC
(In reply to holyzolly from comment #26)
> Can you successfully change your Power Profile whilst in session? @ Altamush
> Nayyer Khan

After powerdevil starts with the timeout fix, I can change power profiles without a problem.
Comment 28 holyzolly 2023-11-21 07:09:47 UTC
Now after another relogin, brightness and power levels don't work anymore, also I noticed blocking sleep & screen locking in the Systray menu only work if I apply it a second time?
I disabled auto-dim which with this update gets enabled by default 5min.
I applied your powerdevil.desktop workaround on top.
I will tell reboot and tell the outcomes, next try again with only the timeout edit, try again with  your powerdevil.desktop workaround.
Repeat these steps with the Stable update roll of Manjaro.
If all fails I will downgrade again.
Might take me a while and some ease but I will give feedback.

While hopin' this gets fixed in the meanwhile.
Comment 29 holyzolly 2023-11-21 07:11:59 UTC
Maybe me not changing to another Activity caused me to think almost all was worked around before. Now I have and relogins don't change anything about the features.
Comment 30 Altamush Nayyer Khan 2023-11-21 08:46:45 UTC
(In reply to holyzolly from comment #29)
> Maybe me not changing to another Activity caused me to think almost all was
> worked around before. Now I have and relogins don't change anything about
> the features.

I do not understand. Has the temporary fixed work or not?

Have you also seen an increase in boot times. After these fixes, the boot time seems to increase. It is noticeable! Boot is probably 10 seconds slower. Windows 10 boots faster right now for me.
Comment 31 holyzolly 2023-11-21 09:21:57 UTC
I only did the timeout-edit fix then rebooted. It's worked for a while. While I had to relogin to apply power levels (eg power save <> performance), the only downside. Now everything, incl. brightness-adjust won't work. You said you had to reboot once a while to keep it working?

I edited the powerdevil.desktop file now. I had not done that yet. And I have not rebooted yet so can't speak about differences in boot time.
Comment 32 holyzolly 2023-11-23 18:31:15 UTC
No I didn't notice any difference in boot time.

Maybe some more logs are needed for Natalie to look into. So please if you can provide these logs like shown above, please do.

I have tried all possible working-around possibilities:
Both file edits at the same time. > Brightness slider working at first, you can not set Power Profile (not changed after a re-login, either).
5s changed to 9s. > Brightness slider working at first, you can not set Power Profile (not changed after a re-login, either).
powerdevil.desktop  edit  > Brightness slider working at first, you can not set Power Profile (not changed after a re-login, either).
No edit > Powedevil not shown in Systray so I think it doesn't start

Downgrading the 2 packages > Powerdevil works as expected, but no brightness slider (this feature was introduced with current version)
[I did not try downgrading juust 1 of the 2 packages, these would be 2 more options]
I rebooted each time.

I tried all the above with bot the 23/11/13 and the 23/11/21 stable update cycles of Manjaro. Kernel is 6.1.62
Comment 33 Altamush Nayyer Khan 2023-11-24 04:46:04 UTC
(In reply to holyzolly from comment #32)
> No I didn't notice any difference in boot time.
> 
> Maybe some more logs are needed for Natalie to look into. So please if you
> can provide these logs like shown above, please do.
> 
> I have tried all possible working-around possibilities:
> Both file edits at the same time. > Brightness slider working at first, you
> can not set Power Profile (not changed after a re-login, either).
> 5s changed to 9s. > Brightness slider working at first, you can not set
> Power Profile (not changed after a re-login, either).
> powerdevil.desktop  edit  > Brightness slider working at first, you can not
> set Power Profile (not changed after a re-login, either).
> No edit > Powedevil not shown in Systray so I think it doesn't start
> 
> Downgrading the 2 packages > Powerdevil works as expected, but no brightness
> slider (this feature was introduced with current version)
> [I did not try downgrading juust 1 of the 2 packages, these would be 2 more
> options]
> I rebooted each time.
> 
> I tried all the above with bot the 23/11/13 and the 23/11/21 stable update
> cycles of Manjaro. Kernel is 6.1.62

I can provide the logs is someone tells me how to, since I don't know. I adjust my screen brightness by just adjusting my monitor. I would like to help this get solved.
Comment 34 holyzolly 2023-11-26 21:33:57 UTC
Might this be distro or driver related?
I have the issue on Manjaro Stable with Nvidia 535 with 3 or 4 monitors
I don't have issue on my Manjaro Stable laptop with Nvidia 390
Comment 35 Snail 2023-12-07 18:49:56 UTC
Created attachment 163985 [details]
journalctl -b 0 | grep -i 'powerdevil'.txt output
Comment 36 Snail 2023-12-07 19:00:14 UTC
Created attachment 163986 [details]
hardware and system config

basic info on my setup, dual screen.
Comment 37 Snail 2023-12-07 19:08:13 UTC
Comment on attachment 163986 [details]
hardware and system config

Dual screen setup
Comment 38 Snail 2023-12-07 19:13:51 UTC
Hello, I'm not sure I'm adding anything to this bug report, but in doubt, I provided some command outputs. 
One of my screens in quite dim, and the computer never foes in sleep mode.

If needed I can provide you with more information.  I can copy paste lines in the console if you need some outputs.
Comment 39 Markus 2023-12-08 09:43:48 UTC
For me, powerdevil only crashes when an Apple Cinema Display (model A1267) is connected. Brightness control of this display requires acdcontrol (https://github.com/jenrik/acdcontrol).

Linux/KDE Plasma: Arch Linux (current)
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11

This line is printed in gdb when running /usr/lib/org_kde_powerdevil:

    org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed

# gdb.txt

Starting program: /usr/lib/org_kde_powerdevil 

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7f2794c276c0 (LWP 23350)]
[New Thread 0x7f278ffff6c0 (LWP 23351)]                              
[New Thread 0x7f278f7fe6c0 (LWP 23354)]
[New Thread 0x7f278effd6c0 (LWP 23355)]
[New Thread 0x7f278e7fc6c0 (LWP 23356)]                       
[Detaching after vfork from child process 23376]
[Detaching after vfork from child process 23378]
[Detaching after vfork from child process 23380]
[Detaching after vfork from child process 23382]
[Thread 0x7f2794c276c0 (LWP 23350) exited]

Thread 1 "org_kde_powerde" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44

                                                                                                              
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;

Thread 6 (Thread 0x7f278e7fc6c0 (LWP 23356) "gdbus"):
#0  0x00007f279a720f6f in __GI___poll (fds=0x7f2778000b90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1  0x00007f279976c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f279970eb97 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3  0x00007f279563414c in  () at /usr/lib/libgio-2.0.so.0
#4  0x00007f279973f9f5 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f279a6aa9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139808071132944, -7240220390079944981, -232, 11, 140730525680576, 139807862800384, 7334830064921388779, 7334856633901295339}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f279a72e7cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x7f278effd6c0 (LWP 23355) "gmain"):
#0  0x00007f279a720f6f in __GI___poll (fds=0x5615360b3ec0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1  0x00007f279976c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f279970c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f279970c1b2 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f279973f9f5 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f279a6aa9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139808071132944, -7240220390079944981, -232, 2, 140730525680688, 139807871193088, 7334828969167857387, 7334856633901295339}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f279a72e7cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7f278f7fe6c0 (LWP 23354) "pool-spawner"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f27997672b7 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2  0x00007f27996d91b4 in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f2799741a7e in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f279973f9f5 in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f279a6aa9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139808071132944, -7240220390079944981, -232, 2, 140730525680896, 139807879585792, 7334832267165869803, 7334856633901295339}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f279a72e7cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7f278ffff6c0 (LWP 23351) "QXcbEventQueue"):
#0  0x00007f279a720f6f in __GI___poll (fds=fds@entry=0x7f278fffebc8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        sc_ret = -516
        sc_cancel_oldtype = 0
#1  0x00007f279aa9f20b in poll (__timeout=-1, __nfds=1, __fds=0x7f278fffebc8) at /usr/include/bits/poll2.h:39
        ret = <optimized out>
        fd = {fd = 6, events = 1, revents = 0}
#2  _xcb_conn_wait (c=c@entry=0x561535ff7110, vector=vector@entry=0x0, count=count@entry=0x0, cond=<optimized out>) at /usr/src/debug/libxcb/libxcb-1.16/src/xcb_conn.c:510
        ret = <optimized out>
        fd = {fd = 6, events = 1, revents = 0}
#3  0x00007f279aaa0f3d in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x561535ff7150, c=0x561535ff7110) at /usr/src/debug/libxcb/libxcb-1.16/src/xcb_conn.c:476
        ret = <optimized out>
#4  xcb_wait_for_event (c=0x561535ff7110) at /usr/src/debug/libxcb/libxcb-1.16/src/xcb_in.c:703
        ret = <optimized out>
#5  0x00007f2794d2cf42 in QXcbEventQueue::run() (this=0x561535ff4420) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventqueue.cpp:228
        event = <optimized out>
        connection = 0x561535ff7110
        tail = 0x7f2794dfeab8 <QXcbEventQueue::qXcbEventNodeFactory(xcb_generic_event_t*)::qXcbNodePool+24>
#6  0x00007f279acf371a in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
        thr = 0x561535ff4420
        data = 0x5615360094b0
        __clframe = {__cancel_routine = <optimized out>, __cancel_arg = 0x561535ff4420, __do_it = 1, __cancel_type = <optimized out>}
#7  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287
        __clframe = {__cancel_routine = <optimized out>, __cancel_arg = 0x561535ff4420, __do_it = 1, __cancel_type = <optimized out>}
#8  QThreadPrivate::start(void*) (arg=0x561535ff4420) at thread/qthread_unix.cpp:310
        __clframe = {__cancel_routine = <optimized out>, __cancel_arg = 0x561535ff4420, __do_it = 1, __cancel_type = <optimized out>}
#9  0x00007f279a6aa9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139808071132944, -7240220390079944981, -232, 2, 140730525681168, 139807887978496, 7334831167117371115, 7334856633901295339}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#10 0x00007f279a72e7cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x7f27952528c0 (LWP 23311) "org_kde_powerde"):
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007f279a6ac8a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f279a65c668 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007f279a6444b8 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {140730525678256, 0, 9, 3530962838384147072, 9383090668255904000, 94649101260240, 3832904360757426704, 3473790858035213875, 9383090668255904000, 3530961915825605832, 9383090668255904000, 94649101232976, 140730525678144, 94649101310468, 9383090668255904000, 94649101310464}}, sa_flags = 1627257440, sa_restorer = 0x5615360fda00}
#4  0x00007f279a645390 in __libc_message (fmt=fmt@entry=0x7f279a7bc55d "%s\n") at ../sysdeps/posix/libc_fatal.c:150
        ap = {{gp_offset = 16, fp_offset = 32551, overflow_arg_area = 0x7ffe60fdfb60, reg_save_area = 0x7ffe60fdfaf0}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
#5  0x00007f279a6b67b7 in malloc_printerr (str=str@entry=0x7f279a7bf3c8 "double free or corruption (out)") at malloc.c:5765
#6  0x00007f279a6b8830 in _int_free_merge_chunk (av=av@entry=0x7f279a7f6ac0 <main_arena>, p=0x5615360eedf0, size=94649101083424) at malloc.c:4669
        nextchunk = 0xac2a6c1b5110
        nextsize = <optimized out>
#7  0x00007f279a6b8b29 in _int_free (av=0x7f279a7f6ac0 <main_arena>, p=<optimized out>, have_lock=<optimized out>, have_lock@entry=0) at malloc.c:4639
        size = <optimized out>
        fb = <optimized out>
#8  0x00007f279a6bb353 in __GI___libc_free (mem=<optimized out>) at malloc.c:3391
        ar_ptr = <optimized out>
        p = <optimized out>
        err = 0
#9  0x00007f279430b4b1 in free_usb_monitor_info (p=0x5615360e17b0) at usb/usb_displays.c:156
        moninfo = 0x5615360e17b0
        __func__ = "free_usb_monitor_info"
        __PRETTY_FUNCTION__ = "free_usb_monitor_info"
#10 0x00007f27996d549e in  () at /usr/lib/libglib-2.0.so.0
#11 0x00007f27943098be in discard_usb_monitor_list () at usb/usb_displays.c:647
        __func__ = "discard_usb_monitor_list"
#12 0x00007f27942e26d9 in ddc_discard_detected_displays () at ddc/ddc_displays.c:1291
        __func__ = "ddc_discard_detected_displays"
#13 0x00007f27942d41d8 in _ddca_terminate () at libmain/api_base.c:500
        __func__ = "_ddca_terminate"
#14 0x00007f279bb5c0e2 in _dl_call_fini (closure_map=closure_map@entry=0x5615360c88a0) at dl-call_fini.c:43
        array = 0x7f279436b430
        sz = <optimized out>
        map = 0x5615360c88a0
        fini_array = <optimized out>
        fini = <optimized out>
#15 0x00007f279bb5fd9c in _dl_fini () at dl-fini.c:78
        l = 0x5615360c88a0
        do_audit = <optimized out>
        local_init_called_list = 0x5615360c8390
        last_pass = 0
        last_ns = 0
#16 0x00007f279a65ecc6 in __run_exit_handlers (status=status@entry=1, listp=0x7f279a7f6680 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        arg = <optimized out>
        f = <optimized out>
        new_exitfn_called = 233
        cur = 0x561535fda3c0
#17 0x00007f279a65ee10 in __GI_exit (status=status@entry=1) at exit.c:141
#18 0x00007f27942e4791 in ddc_write_read_with_retry (dh=dh@entry=0x5615360e2100, request_packet_ptr=request_packet_ptr@entry=0x5615360a9060, max_read_bytes=max_read_bytes@entry=39, expected_response_type=expected_response_type@entry=2 '\002', expected_subtype=expected_subtype@entry=16 '\020', flags=flags@entry=Write_Read_Flags_None, response_packet_ptr_loc=0x7ffe60fdffb0) at ddc/ddc_packet_io.c:584
        all_zero_response_ok = false
        pdd = 0x5615360ab8c0
        retry_null_response = <optimized out>
        read_bytewise = <optimized out>
        psc = <optimized out>
        tryctr = <optimized out>
        retryable = <optimized out>
        ddcrc_read_all_zero_ct = <optimized out>
        ddcrc_null_response_ct = <optimized out>
        max_tries = <optimized out>
        ddcrc_null_response_max = <optimized out>
        try_errors = {0x7ffe60fdff56, 0x7f279a6bb353 <__GI___libc_free+115>, 0xd, 0x7f27996f5151 <g_path_get_basename+129>, 0x51, 0x5615360c6190, 0xffffffffffffff18, 0x2, 0x7f2794359220 <__func__.15>, 0x7f279a6bb353 <__GI___libc_free+115>, 0xd, 0x7f27996f5151 <g_path_get_basename+129>, 0x10, 0x5615360c6190, 0x10}
        all_responses_null_meant_unsupported = <optimized out>
        adjusted_tryctr = <optimized out>
        errors_found = {0x8, 0x16, 0x56153610acf0, 0x15310, 0x7f279a7f6ac0 <main_arena>, 0x6, 0x51, 0x7f279a6bbd08 <__libc_calloc+216>, 0xffffffffffffff18, 0x2, 0x6, 0x7f279a6bb353 <__GI___libc_free+115>, 0xd, 0x7f27996f5151 <g_path_get_basename+129>, 0xffffffffffffff18}
        errct = <optimized out>
        s = <optimized out>
        ddc_excp = <optimized out>
        __func__ = "ddc_write_read_with_retry"
        __PRETTY_FUNCTION__ = "ddc_write_read_with_retry"
#19 0x00007f27942e81c2 in ddc_get_nontable_vcp_value (dh=0x5615360e2100, feature_code=16 '\020', parsed_response_loc=0x7ffe60fe0038) at ddc/ddc_vcp.c:580
        excp = 0x0
        parsed_response = 0x0
        request_packet_ptr = 0x5615360a9060
        response_packet_ptr = 0x0
        expected_response_type = 2 '\002'
        expected_subtype = 16 '\020'
        max_read_bytes = 39
        __func__ = "ddc_get_nontable_vcp_value"
        __PRETTY_FUNCTION__ = "ddc_get_nontable_vcp_value"
#20 0x00007f27942d86c9 in ddc_initial_checks_by_dh (dh=0x5615360e2100) at ddc/ddc_displays.c:458
        feature_code = 16 '\020'
        psc = <optimized out>
        drm_status = 0x5615360a4e80 "\264\370YW\020V"
        drm_enabled = 0x561535fe8810 "\340\222\022\233'\177"
        drm_dpms = 0x5615360a9810 "Y\333YW\020V"
        depth = -1
        initial_multiplier = 1
        parsed_response_loc = 0x0
        ddc_excp = <optimized out>
        businfo = 0x5615360e17b0
        pdd = 0x5615360ab8c0
        dref = 0x5615360fda00
        result = <optimized out>
        __func__ = "ddc_initial_checks_by_dh"
        __PRETTY_FUNCTION__ = "ddc_initial_checks_by_dh"
#21 0x00007f27942e1519 in ddc_initial_checks_by_dref (dref=0x5615360fda00) at ddc/ddc_displays.c:592
        result = false
        err = 0x0
        dh = 0x5615360e2100
        __func__ = "ddc_initial_checks_by_dref"
#22 0x00007f27942e17d5 in ddc_non_async_scan (all_displays=0x7f2790011bc0) at ddc/ddc_displays.c:679
        dref = <optimized out>
        ndx = 1
        __func__ = "ddc_non_async_scan"
#23 0x00007f27942e1c95 in ddc_detect_all_displays (i2c_open_errors_loc=i2c_open_errors_loc@entry=0x7f279437cc78 <display_open_errors.lto_priv>) at ddc/ddc_displays.c:1215
        bus_open_errors = 0x7f2790019080
        display_list = 0x7f2790011bc0
        all_asleep = <optimized out>
        busct = <optimized out>
        busndx = <optimized out>
        olev = <optimized out>
        __func__ = "ddc_detect_all_displays"
#24 0x00007f27942e217c in ddc_ensure_displays_detected () at ddc/ddc_displays.c:1268
        __func__ = "ddc_ensure_displays_detected"
#25 0x00007f279431c5d5 in ddca_get_display_info_list2 (include_invalid_displays=true, dlist_loc=0x7ffe60fe0208) at libmain/api_displays.c:942
        filtered_ct = 0
        ddcrc = 0
        filtered_displays = <optimized out>
        reqd_size = <optimized out>
        result_list = <optimized out>
        curinfo = <optimized out>
        __func__ = "ddca_get_display_info_list2"
#26 0x00007f27943f8d3a in DDCutilBrightness::detect() (this=0x7f2790013bc0) at /usr/src/debug/powerdevil/powerdevil-5.27.10/daemon/backends/upower/ddcutilbrightness.cpp:52
        rc = <optimized out>
        dlist = 0x0
#27 0x00007f27943fa62e in PowerDevilUPowerBackend::initWithBrightness(bool) (this=0x5615360c4bc0, screenBrightnessAvailable=false) at /usr/src/debug/powerdevil/powerdevil-5.27.10/daemon/backends/upower/powerdevilupowerbackend.cpp:156
        controls = {{d = 0x0, e = 0x0}}
        supported = {i = <optimized out>}
#28 0x00007f279aed1097 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe60fe0510, r=<optimized out>, this=0x5615360e06a0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x7ffe60fe05a0, receiver = 0x5615360c4bc0, sender = 0x5615360c4bc0, signal = 13}
        c = 0x5615360ed2a0
        connections = {d = 0x5615360ccaf0}
        list = 0x5615360ccc10
        inSenderThread = <optimized out>
        highestConnectionId = 2
        signalVector = 0x5615360ccb20
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#29 doActivate<false>(QObject*, int, void**) (sender=0x5615360c4bc0, signal_index=13, argv=0x7ffe60fe0510) at kernel/qobject.cpp:3925
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x7ffe60fe05a0, receiver = 0x5615360c4bc0, sender = 0x5615360c4bc0, signal = 13}
        c = 0x5615360ed2a0
        connections = {d = 0x5615360ccaf0}
        list = 0x5615360ccc10
        inSenderThread = <optimized out>
        highestConnectionId = 2
        signalVector = 0x5615360ccb20
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#30 0x00007f27943ef634 in PowerDevilUPowerBackend::brightnessSupportQueried(bool) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/powerdevil/build/daemon/backends/upower/powerdevilupowerbackend_autogen/EWIEGA46WW/moc_powerdevilupowerbackend.cpp:213
        _a = {0x0, 0x7ffe60fe050c}
#31 0x00007f279aed1097 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe60fe0620, r=<optimized out>, this=0x5615360f8980, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x5615360c4bc0, sender = 0x5615360e8990, signal = 6}
        c = 0x5615360fa520
        connections = {d = 0x5615360f8b20}
        list = 0x5615360fa300
        inSenderThread = <optimized out>
        highestConnectionId = 1
        signalVector = 0x5615360fa280
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#32 doActivate<false>(QObject*, int, void**) (sender=0x5615360e8990, signal_index=6, argv=0x7ffe60fe0620) at kernel/qobject.cpp:3925
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x5615360c4bc0, sender = 0x5615360e8990, signal = 6}
        c = 0x5615360fa520
        connections = {d = 0x5615360f8b20}
        list = 0x5615360fa300
        inSenderThread = <optimized out>
        highestConnectionId = 1
        signalVector = 0x5615360fa280
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#33 0x00007f279b97e0fa in KJob::result(KJob*, KJob::QPrivateSignal) (this=this@entry=0x5615360e8990, _t1=<optimized out>, _t1@entry=0x5615360e8990, _t2=...) at /usr/src/debug/kcoreaddons5/build/src/lib/KF5CoreAddons_autogen/include/moc_kjob.cpp:633
        _a = {0x0, 0x7ffe60fe0618, 0x7ffe60fe0617}
#34 0x00007f279b9840cc in KJob::finishJob(bool) (this=0x5615360e8990, emitResult=<optimized out>) at /usr/src/debug/kcoreaddons5/kcoreaddons-5.112.0/src/lib/jobs/kjob.cpp:98
        d = <optimized out>
#35 0x00007f279aed1097 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe60fe07b0, r=<optimized out>, this=0x7f2778003b30, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x5615360e8990, sender = 0x7f2778002de0, signal = 4}
        c = 0x5615360eb1e0
        connections = {d = 0x5615360c6cf0}
        list = 0x7f279000f850
        inSenderThread = <optimized out>
        highestConnectionId = 10
        signalVector = 0x7f279000f7f0
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#36 doActivate<false>(QObject*, int, void**) (sender=0x7f2778002de0, signal_index=4, argv=0x7ffe60fe07b0) at kernel/qobject.cpp:3925
        receiver = <optimized out>
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x5615360e8990, sender = 0x7f2778002de0, signal = 4}
        c = 0x5615360eb1e0
        connections = {d = 0x5615360c6cf0}
        list = 0x7f279000f850
        inSenderThread = <optimized out>
        highestConnectionId = 10
        signalVector = 0x7f279000f7f0
        currentThreadId = <optimized out>
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#37 0x00007f27952397bd in KAuth::HelperProxy::actionPerformed(QString const&, KAuth::ActionReply const&) (_t2=..., _t1=..., this=0x7f2778002de0) at /usr/src/debug/kauth5/build/src/kauth_helper_plugin_autogen/include/moc_HelperProxy.cpp:190
        _a = {0x0, 0x7f2790008370, 0x7ffe60fe0790}
        reply = {_vptr.ActionReply = 0x7f279aa90800 <vtable for KAuth::ActionReply+16>, d = {d = 0x7f2790019320}}
        type = <optimized out>
        stream = {d = {d = 0x0}, dev = 0x5615360aca10, owndev = true, noswap = false, byteorder = QDataStream::BigEndian, ver = 19, q_status = QDataStream::Ok}
        _t = 0x7f2778002de0
#38 KAuth::DBusHelperProxy::remoteSignalReceived(int, QString const&, QByteArray) (blob=..., action=..., t=<optimized out>, this=0x7f2778002de0) at /usr/src/debug/kauth5/kauth-5.112.0/src/backends/dbus/DBusHelperProxy.cpp:169
        reply = {_vptr.ActionReply = 0x7f279aa90800 <vtable for KAuth::ActionReply+16>, d = {d = 0x7f2790019320}}
        type = <optimized out>
        stream = {d = {d = 0x0}, dev = 0x5615360aca10, owndev = true, noswap = false, byteorder = QDataStream::BigEndian, ver = 19, q_status = QDataStream::Ok}
        _t = 0x7f2778002de0
#39 KAuth::DBusHelperProxy::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x7f2778002de0, _id=_id@entry=3, _a=_a@entry=0x7ffe60fe0910, _c=<optimized out>) at /usr/src/debug/kauth5/build/src/kauth_helper_plugin_autogen/include/moc_DBusHelperProxy.cpp:99
        _t = 0x7f2778002de0
#40 0x00007f279523a0a1 in KAuth::DBusHelperProxy::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_a=0x7ffe60fe0910, _id=3, _c=QMetaObject::InvokeMetaMethod, _o=0x7f2778002de0) at /usr/src/debug/kauth5/build/src/kauth_helper_plugin_autogen/include/moc_DBusHelperProxy.cpp:89
#41 KAuth::DBusHelperProxy::qt_metacall(QMetaObject::Call, int, void**) (this=0x7f2778002de0, _c=<optimized out>, _id=3, _a=0x7ffe60fe0910) at /usr/src/debug/kauth5/build/src/kauth_helper_plugin_autogen/include/moc_DBusHelperProxy.cpp:148
#42 0x00007f279b8c076e in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QVector<int> const&, int) (this=<optimized out>, object=<optimized out>, msg=<optimized out>, metaTypes=<optimized out>, slotIdx=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusintegrator.cpp:1001
        context = {connection = {d = 0x7f2790009320}, message = @0x7f2790008220}
        old = 0x0
        params = {a = 10, s = 4, ptr = 0x7ffe60fe0910, {array = "\000\000\000\000\000\000\000\000P\211\0166\025V\000\000p\203\000\220'\177\000\000\300\237\000\220'\177\000\000\3706\023\233'\177\000\000S\263k\232'\177\000\000\030\377\377\377\377\377\377\377\000\001\255\300?o7\202\030\377\377\377\377\377\377\377\000\000\000\000\000\000\000", q_for_alignment_1 = 0, q_for_alignment_2 = 0}}
        auxParameters = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f279af97070 <QListData::shared_null>}, d = 0x7f279af97070 <QListData::shared_null>}}
        i = <optimized out>
        numMetaTypes = <optimized out>
        outputArgs = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f279af97070 <QListData::shared_null>}, d = 0x7f279af97070 <QListData::shared_null>}}
        null = 0x0
        fail = <optimized out>
#43 0x00007f279aec3bd4 in QObject::event(QEvent*) (this=0x7f2778002de0, e=0x7f27900081f0) at kernel/qobject.cpp:1347
        mce = 0x7f27900081f0
        sender = {previous = 0x0, receiver = 0x7f2778002de0, sender = 0x7f2790009320, signal = -1}
#44 0x00007f279ae9c168 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f2778002de0, event=0x7f27900081f0) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x7f2778002de0, 0x7f27900081f0, 0x7ffe60fe0a5f}
        d = <optimized out>
        threadData = 0x561535fc2550
        scopeLevelCounter = {threadData = 0x561535fc2550}
#45 0x00007f279aea10cb in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x561535fc2550) at kernel/qcoreapplication.cpp:1821
        e = 0x7f27900081f0
        pe = <optimized out>
        r = <optimized out>
        event_deleter = {d = 0x7f27900081f0}
        locker = {_M_device = 0x561535fc2580, _M_owns = false}
        startOffset = 0
        i = @0x561535fc2574: 1
        cleanup = {receiver = 0x0, event_type = 0, data = 0x561535fc2550, exceptionCaught = true}
#46 0x00007f279aee7138 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x56153609b940) at kernel/qeventdispatcher_glib.cpp:277
        source = 0x56153609b940
#47 0x00007f279970df69 in  () at /usr/lib/libglib-2.0.so.0
#48 0x00007f279976c327 in  () at /usr/lib/libglib-2.0.so.0
#49 0x00007f279970c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#50 0x00007f279aeeaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x56153609aac0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x561536071d60
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#51 0x00007f279ae9ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe60fe0db0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x7f2790013ca0
        threadData = <optimized out>
        locker = {val = 94649100020728}
        app = <optimized out>
#52 0x00007f279ae9c313 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x561535fc2550
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f279b127750 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279af95b00 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f279af959e0 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f279aed1520 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7f2790013ca0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279afc6720 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f279afc38a0 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f279b1205a0 <QObject::staticMetaObject>}, stringdata = 0x7f279af914c0 <_ZL29qt_meta_stringdata_QEventLoop.lto_priv.0>, data = 0x7f279af91460 <_ZL23qt_meta_data_QEventLoop.lto_priv.0>, static_metacall = 0x7f279ae98b70 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#53 0x00007f279b33bf12 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#54 0x00005615342b855b in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/powerdevil/powerdevil-5.27.10/daemon/powerdevilapp.cpp:176
        app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x5615342c3680 <vtable for PowerDevilApp+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279af95b00 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f279af959e0 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f279aed1520 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561535fe2ed0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279afc6720 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f279afc38a0 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f279b1205a0 <QObject::staticMetaObject>}, stringdata = 0x7f279af91240 <_ZL35qt_meta_stringdata_QCoreApplication.lto_priv.0>, data = 0x7f279af91120 <_ZL29qt_meta_data_QCoreApplication.lto_priv.0>, static_metacall = 0x7f279aea3720 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffe60fe0ed0}, static staticMetaObject = {d = {superdata = {direct = 0x7f279b1253a0 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f279b789b00 <_ZL34qt_meta_stringdata_QGuiApplication.lto_priv.0>, data = 0x7f279b789880 <_ZL28qt_meta_data_QGuiApplication.lto_priv.0>, static_metacall = 0x7f279b34b2b0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f279b85ce40 <QGuiApplication::staticMetaObject>}, stringdata = 0x5615342c17e0 <qt_meta_stringdata_PowerDevilApp>, data = 0x5615342beec0 <qt_meta_data_PowerDevilApp>, static_metacall = 0x5615342bb430 <PowerDevilApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_core = 0x561535fe7aa0}
        replace = <optimized out>
        service = {<QObject> = {_vptr.QObject = 0x7f279baa4300 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279af95b00 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f279af959e0 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f279aed1520 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5615360a6680}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f279afc6720 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f279afc38a0 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f279b1205a0 <QObject::staticMetaObject>}, stringdata = 0x7f279ba9f120 <qt_meta_stringdata_KDBusService>, data = 0x7f279ba9e540 <qt_meta_data_KDBusService>, static_metacall = 0x7f279ba93dd0 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {_M_t = {<std::__uniq_ptr_impl<KDBusServicePrivate, std::default_delete<KDBusServicePrivate> >> = {_M_t = {<std::_Tuple_impl<0, KDBusServicePrivate*, std::default_delete<KDBusServicePrivate> >> = {<std::_Tuple_impl<1, std::default_delete<KDBusServicePrivate> >> = {<std::_Head_base<1, std::default_delete<KDBusServicePrivate>, true>> = {_M_head_impl = {<No data fields>}}, <No data fields>}, <std::_Head_base<0, KDBusServicePrivate*, false>> = {_M_head_impl = 0x5615360a6770}, <No data fields>}, <No data fields>}}, <No data fields>}}}
quit
Comment 40 Ben Daines 2023-12-11 01:04:54 UTC
(In reply to Markus from comment #39)
> For me, powerdevil only crashes when an Apple Cinema Display (model A1267)

I am also having the issue with an Apple Cinema Display connected via DVI as my second display (desktop system with display port for the primary display).  Mine is older than yours, the A1082 23" aluminum LCD from 2004
Comment 41 Altamush Nayyer Khan 2023-12-11 02:21:59 UTC
(In reply to Ben Daines from comment #40)
> (In reply to Markus from comment #39)
> > For me, powerdevil only crashes when an Apple Cinema Display (model A1267)
> 
> I am also having the issue with an Apple Cinema Display connected via DVI as
> my second display (desktop system with display port for the primary
> display).  Mine is older than yours, the A1082 23" aluminum LCD from 2004

I have heard that the bug is caused due to specific monitor or device configurations. I am not very sure about this. I just read it on the Arch Forums that a person just removed one of their monitors and the problem disappeared.
Comment 42 Ben Daines 2023-12-11 04:25:43 UTC
(In reply to Altamush Nayyer Khan from comment #41)
> (In reply to Ben Daines from comment #40)
> > (In reply to Markus from comment #39)
> > > For me, powerdevil only crashes when an Apple Cinema Display (model A1267)
> > 
> > I am also having the issue with an Apple Cinema Display connected via DVI as
> > my second display (desktop system with display port for the primary
> > display).  Mine is older than yours, the A1082 23" aluminum LCD from 2004
> 
> I have heard that the bug is caused due to specific monitor or device
> configurations. I am not very sure about this. I just read it on the Arch
> Forums that a person just removed one of their monitors and the problem
> disappeared.

"Just don't use your monitor" hardly sounds like a solution.
Comment 43 Ben Daines 2023-12-11 04:32:22 UTC
(In reply to Ben Daines from comment #42)
> (In reply to Altamush Nayyer Khan from comment #41)
> > (In reply to Ben Daines from comment #40)
> > > (In reply to Markus from comment #39)
> > > > For me, powerdevil only crashes when an Apple Cinema Display (model A1267)
> > > 
> > > I am also having the issue with an Apple Cinema Display connected via DVI as
> > > my second display (desktop system with display port for the primary
> > > display).  Mine is older than yours, the A1082 23" aluminum LCD from 2004
> > 
> > I have heard that the bug is caused due to specific monitor or device
> > configurations. I am not very sure about this. I just read it on the Arch
> > Forums that a person just removed one of their monitors and the problem
> > disappeared.
> 
> "Just don't use your monitor" hardly sounds like a solution.

I do realize you're trying to offer a workaround, however I've rolled back the powerdevil & ddcutil packages as a temporary solution.  Hopefully this will be fixed before Plasma 6 is released, as I imagine rolling back those packages might not work quite so well after a major update like Plasma 6.
Comment 44 Altamush Nayyer Khan 2023-12-11 09:53:47 UTC
I don't think disconnecting any monitor or any hardware that you require to get work done smoothly is a solution. That is the reason why I never thought about disconnecting any of my monitors. There is already a temporary solution for it that was posted on the Arch Wiki.

I will link to it. It solved my problem. Hopefully it will also solve yours.

https://bbs.archlinux.org/viewtopic.php?pid=2136605#p2136605
Comment 45 Ben Daines 2023-12-11 15:08:44 UTC
(In reply to Altamush Nayyer Khan from comment #44)
> I don't think disconnecting any monitor or any hardware that you require to
> get work done smoothly is a solution. That is the reason why I never thought
> about disconnecting any of my monitors. There is already a temporary
> solution for it that was posted on the Arch Wiki.
> 
> I will link to it. It solved my problem. Hopefully it will also solve yours.
> 
> https://bbs.archlinux.org/viewtopic.php?pid=2136605#p2136605

Thanks. I'll give that a try instead of downgrading packages after the next distro update that doesn't fix it. As an aside, why do people make YouTube videos for console related topics?  The internet has the ability to contain text....
Comment 46 Altamush Nayyer Khan 2023-12-11 16:12:16 UTC
Content marketing and generally speaking, people prefer watching video tutorials instead of reading text. I'd rather watch a video of a person explaining the solution to a problem than reading text.

Although, I can understand if people only wish to read text. It works for some people.
Comment 47 holyzolly 2023-12-13 18:52:14 UTC
Ok so thinking about why we don't know who gets affected and why workaround work for some people and for some won't.
Somebody mentioned it's display related.
Then my assumption is it is HDR related, with all the good news in this subject!
(It is so in my case also, on my old laptop, no issue. Here on desktop I've got a 4K-HDR capable screen [that can also emulate HDR, don't know if that info is important])
So here the question for all reading this:

1.) If you are affected: Do you have a capable HDR screen connected?
2.) If you are not affected: you don't an HDR capable screen connected, I assume?
3.) If you could work around it with the known workarounds? Do you have  an HDR capable screen connected?

Please report and I hope this will help solve the issue... :)
Comment 48 Dominik Kummer 2023-12-13 20:03:28 UTC
3.) I do not have any HDR capable screen connected.

PS: I did several upgrades since then. I could reset the workaround to default and report if it helps.
Comment 49 Ben Daines 2023-12-14 01:54:51 UTC
(In reply to holyzolly from comment #47)
> Ok so thinking about why we don't know who gets affected and why workaround
> work for some people and for some won't.
> Somebody mentioned it's display related.
> Then my assumption is it is HDR related, with all the good news in this
> subject!
> (It is so in my case also, on my old laptop, no issue. Here on desktop I've
> got a 4K-HDR capable screen [that can also emulate HDR, don't know if that
> info is important])
> So here the question for all reading this:
> 
> 1.) If you are affected: Do you have a capable HDR screen connected?
> 2.) If you are not affected: you don't an HDR capable screen connected, I
> assume?
> 3.) If you could work around it with the known workarounds? Do you have  an
> HDR capable screen connected?
> 
> Please report and I hope this will help solve the issue... :)

No HDR screens, it seems to be an issue with ddcutil not knowing how to deal with unrecognized screens.  Have not used any workaround, just downgraded to packages before the issue existed.
Comment 50 Nicolas Fella 2023-12-14 20:55:08 UTC
https://bugs.kde.org/show_bug.cgi?id=476375#c39 suggests that powerdevil is crashing in libddcutil code, which would very well explain the issue

Can anyone who is affected by this use coredumpctl to check whether there are any coredumps for org_kde_powerdevil

See also https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl
Comment 51 Snail 2023-12-14 21:40:33 UTC
(In reply to Nicolas Fella from comment #50)
> https://bugs.kde.org/show_bug.cgi?id=476375#c39 suggests that powerdevil is
> crashing in libddcutil code, which would very well explain the issue
> 
> Can anyone who is affected by this use coredumpctl to check whether there
> are any coredumps for org_kde_powerdevil
> 
> See also
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl

Hello,

I ran coredumpctl --reverse and there wasn't any coredumps for org_kde_powerdevil.

Perhaps usefull : powerdevil was working again in Linux Manjaro, after the following update :
https://forum.manjaro.org/t/stable-update-2023-12-10-kernels-plasma-phosh-systemd-cinnamon-gnome-libpamac/153045

I didn't ran any Konsole command, but I was able to adjust the brightness for my secondary screen, that was stuck at 50% brightness. It worked strangely : I put the brightness at 100% and it changed the brightness of my primary screen ; I used the slider to set the brightness back to 70%, and the secondary screen display went from 50 to 70%, while the primary didn't change. I used this to put the brightness of the secondary screen to 99%, which is functional for me.

There's been another update, meanwhile :

https://forum.manjaro.org/t/stable-update-2023-12-13-kernels-blender-kde-gear-pamac-11-7-python-haskell/153275

 I have the same problem again, so perhaps it's related to that update.



dez 14 21:25:35 jorge-machine org_kde_powerdevil[668268]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
dez 14 21:25:40 jorge-machine systemd[872]: plasma-powerdevil.service: start operation timed out. Terminating.
dez 14 21:25:40 jorge-machine systemd[872]: plasma-powerdevil.service: Failed with result 'timeout'.
dez 14 21:25:40 jorge-machine systemd[872]: plasma-powerdevil.service: Consumed 1.152s CPU time.
dez 14 21:25:40 jorge-machine systemd[872]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 18544.
dez 14 21:25:40 jorge-machine org_kde_powerdevil[668298]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"

Perhaps useful to know : the brightness stayed at the levels as I managed to set them.

Also:

ddcutil 2.0.0-1
powerdevil 5.27.10-1

Versions I have currently.

Hope that I'm not polluting your thread, and that it can be useful.
Comment 52 holyzolly 2023-12-15 03:42:36 UTC
(In reply to Nicolas Fella from comment #50)
> https://bugs.kde.org/show_bug.cgi?id=476375#c39 suggests that powerdevil is
> crashing in libddcutil code, which would very well explain the issue
> 
> Can anyone who is affected by this use coredumpctl to check whether there
> are any coredumps for org_kde_powerdevil
> 
> See also
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl

https://zerobin.org/?8e24ec0a865285d1#E4rcVwH2ha3Lb3cH9eNvf9VcxDYawJYNgE7Vc5pyHG8m
Comment 53 Andres Pasquel 2023-12-26 05:10:27 UTC
(In reply to Nicolas Fella from comment #50)
> https://bugs.kde.org/show_bug.cgi?id=476375#c39 suggests that powerdevil is
> crashing in libddcutil code, which would very well explain the issue
> 
> Can anyone who is affected by this use coredumpctl to check whether there
> are any coredumps for org_kde_powerdevil
> 
> See also
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl

I am having the same issues. I will attach the coredump:
https://pastebin.com/QbdeRWyD
journalctl -b 0 | grep -i 'powerdevil'
```
dic 25 23:54:03 xxxx systemd[1543]: plasma-powerdevil.service: start operation timed out. Terminating.
dic 25 23:54:03 xxxx systemd[1543]: plasma-powerdevil.service: Failed with result 'timeout'.
dic 25 23:54:03 xxxx systemd[1543]: Failed to start Powerdevil.
dic 25 23:54:03 xxxx systemd[1543]: plasma-powerdevil.service: Scheduled restart job, restart counter is at 220.
dic 25 23:54:03 xxxx systemd[1543]: Starting Powerdevil...
dic 25 23:54:03 xxxx org_kde_powerdevil[19220]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
dic 25 23:54:03 xxxx org_kde_powerdevil[19220]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
```
And it repeats every 5 minutes...
I am using 3 monitors 1920x1080 100hz, 60 hz and
 1 TV Riviera 1600x900: Unique ID: rdCR.j9CyH+3wRa7
  Parent ID: svHJ.7z2dtym+gu2
  Hardware Class: monitor
  Model: "CHHWJT*"

with ddcutils 1.4 I was able to modify the dim of the monitors, but not for the TV. Maybe this TV is the problem of all? But its not a real option to just "disconnect the TV"
Comment 54 holyzolly 2023-12-27 14:52:09 UTC
Yepp I have a TV attached as well and I am affected by the bug.
Speaking of that, I saw that I had a systray there too, where the "Brightness/Powedevil" entry was. I disabled that from systray since I do not need it twice. Now it's only on my primary in systray.
And now I can start Powerdevil again with the TimeoutSec workaround.
I set it to TimeoutSec=44sec

It runs but it has 2 glitches:

1. I can not set the Power Profile (Power Save v Balanced v Performance) in the Plasma session. The systray entry slider slips back. However when I log out and back in, the slider is where I had just wanted to set it and it appears to be working.

(in the System Settings > Power Management > Energy Saving, it appears to be the same issue, but there is a 4th option: Leave unchanged. Selecting this does not fix the slider issue I guess. But maybe a good option if you're affected by the bug?)

2. I can set the brightness only for my primary screen.
Comment 55 holyzolly 2023-12-27 15:38:49 UTC
Edit: It dims one screen, sometimes my 2nd monitor.
Comment 56 Andres Pasquel 2023-12-29 05:47:32 UTC
Could this discussion be related?:
https://github.com/rockowitz/ddcutil/issues/358
Comment 57 Bug Janitor Service 2023-12-29 06:17:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/303
Comment 58 Jakob Petsovits 2023-12-29 06:34:44 UTC
The stacktrace by Markus in comment 39 is a good one, but it's hidden deep in the first ddcutil function that powerdevil calls. Seems unlikely that it would have been KDE's fault at that point. The other two or so stacktraces were not useful.

I had a little bit of a look at what's new in ddcutil 2.0.0; among other things, it introduces an optional initialization function. Calling this (or not) shouldn't make a difference in how ddcutil behaves by default, but it does allow any user to turn on copious amounts of trace logs that should help with producing more useful information for us or the ddcutil maintainer. These will show up in your journalctl logs under the 'org_kde_powerdevil' name once the above merge request goes in.

You'll have to wait for the next Plasma 6 release candidate after that in order to use this for debugging, or build Plasma from scratch. Frankly, KDE devs won't be able to do overly much with ddcutil traces and we'll probably have to ask for help on the ddcutil issue tracker. But if the crash is really in ddcutil's court, being able to log traces and test non-default behavior with runtime options is going to help us iterate faster.
Comment 59 Jakob Petsovits 2024-01-07 03:47:24 UTC
Git commit 334e0c041a34fbcd09b90b4481878f71a7aac0ec by Jakob Petsovits.
Committed on 07/01/2024 at 04:45.
Pushed by jpetso into branch 'master'.

ddcutilbrightness: Add ddca_init() support for ddcutil >=2.0.0

This allows the user to create a ddcutil configuration file which
can enable tracing (to help with debugging) and customize other
runtime options supported by ddcutil.

M  +18   -1    daemon/backends/upower/ddcutilbrightness.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/334e0c041a34fbcd09b90b4481878f71a7aac0ec
Comment 60 Jakob Petsovits 2024-01-07 04:24:49 UTC
Alright folks, the commit from Comment #59 is going to be in Plasma 6 RC1, a.k.a. version 5.92.0 and above.

What this means is that you can now create a file called $HOME/.config/ddcutil/ddcutilrc. If present, both the PowerDevil daemon and ddcutil will read and interpret it. The contents could look e.g. like this:

[global]
; Combined with all other options strings
options : --trace-to-syslog-only --trcfunc ddc_write_read_with_retry --trcfunc ddc_write_read

There is a slightly more detailed documentation page for this file at https://www.ddcutil.com/config_file/ and a listing of the numerous ddcutil options at https://www.ddcutil.com/options_main/ - go nuts if you're into debugging. Any ddcutil tracing output will show up in journalctl, under org_kde_powerdevil.

I don't know enough about ddcutil to tell what a good set of options would be to debug this particular use case, maybe the above are a good start or maybe they're unreadable noise. Not sure, we'll have to figure it out as we go along. You can also try specifying some of the options that change how ddcutil behaves. If you find an options that magically fixes things for you, that would be a *very* solid data point. But even without that, we should now have some tools on hand to communicate effectively with the ddcutil maintainer on his GitHub page: https://github.com/rockowitz/ddcutil/issues/

Another thing you can do for better reporting is to make PowerDevil's own logging statements show up in journalctl. Tell systemd to give you an editor by calling:

systemctl edit --user plasma-powerdevil.service

Then add something like this to the empty space "between here and the comment below":

[Service]
Environment="QT_LOGGING_RULES=*.debug=true;qt.*.debug=false"

This will tell us approximately how far you made it into PowerDevil's DDC code. You can already do this with previously released versions of PowerDevil, too. To actually see the output without having to log out and back in, restart just the PowerDevil daemon with:

systemctl restart --user plasma-powerdevil.service

When posting output, please use pastebin sites such as https://paste.kde.org/, https://gist.github.com/ or https://pastebin.com/ and link to those pastes. It's already a very long bug, let's try to keep it relatively tidy. Thanks everyone for helping to get this nailed down!
Comment 61 David Edmundson 2024-01-12 15:56:08 UTC
Can someone who can reproduce test a patch:

change
    ddca_get_display_info_list2(true, &displays);

to
    ddca_get_display_info_list2(false, &displays);
Comment 62 David Edmundson 2024-01-12 15:56:40 UTC
*In DDCutilBrightness::detect in ddcutilbrightness.cpp
Comment 63 Knut Eirik 2024-01-14 15:57:46 UTC
Today I did a fresh install of  KDE on arch. The Powerdevil problem was still present on 5.27 but when I updated to KDE6 through kde-unstable repo the problem seems to have disappeared, at least powerdevil hasn't entered a reboot loop after multiple reboots and using the system for a few hours.
Comment 64 Norbert Preining 2024-01-15 03:53:10 UTC
(In reply to David Edmundson from comment #61)
> Can someone who can reproduce test a patch:
> 
> change
>     ddca_get_display_info_list2(true, &displays);
> 
> to
>     ddca_get_display_info_list2(false, &displays);

Hi David,

yes that worked, after installing ddcutil2 and rebuilding with this patch attached on my Arch machine, powerdevil did start properly
```
Jan 15 12:50:01 bulldog systemd[1786]: Starting Powerdevil...
Jan 15 12:50:01 bulldog org_kde_powerdevil[9507]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
Jan 15 12:50:01 bulldog org_kde_powerdevil[9507]: org.kde.powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
Jan 15 12:50:01 bulldog libddcutil[9507]: Initializing libddcutil.  ddcutil version: 2.0.0, shared library: /usr/lib/libddcutil.so.5.0.0
Jan 15 12:50:01 bulldog libddcutil[9507]: Library initialization complete.
Jan 15 12:50:03 bulldog systemd[1786]: Started Powerdevil.
Jan 15 12:50:03 bulldog org_kde_powerdevil[9507]: org.kde.powerdevil: Handle button events action could not check for screen configuration
Jan 15 12:50:03 bulldog org_kde_powerdevil[9507]: org.kde.powerdevil: org.kde.powerdevil.chargethresholdhelper.getthreshold failed "Charge thresholds are not supported by the kernel for this hardware"
```
Comment 65 Bug Janitor Service 2024-01-16 15:47:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/307
Comment 66 David Edmundson 2024-01-17 14:11:52 UTC
Git commit e11280c017e807dc7b2099ae0f8c39b71f521d30 by David Edmundson.
Committed on 17/01/2024 at 11:14.
Pushed by davidedmundson into branch 'master'.

ddcutil: skip invalid displays

The first argument of ddca_get_display_info_list2 is whether to include
"invalid" displays. It seems pointless to search them, and avoids a
crash when getting more information.

M  +1    -1    daemon/controllers/ddcutilbrightness.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/e11280c017e807dc7b2099ae0f8c39b71f521d30
Comment 67 Reza Jahanbakhshi 2024-01-17 14:17:48 UTC
Great, that MR is merged now. Let's hope it'll be backported to Plasma 5 soon. Thank you David Edmundson for the fix.
Comment 68 David Edmundson 2024-01-17 15:51:01 UTC
Git commit 91a383125136843e6dd21c5bcd775ed2649d0ee6 by David Edmundson.
Committed on 17/01/2024 at 16:49.
Pushed by davidedmundson into branch 'Plasma/6.0'.

ddcutil: skip invalid displays

The first argument of ddca_get_display_info_list2 is whether to include
"invalid" displays. It seems pointless to search them, and avoids a
crash when getting more information.


(cherry picked from commit e11280c017e807dc7b2099ae0f8c39b71f521d30)

M  +1    -1    daemon/backends/upower/ddcutilbrightness.cpp

https://invent.kde.org/plasma/powerdevil/-/commit/91a383125136843e6dd21c5bcd775ed2649d0ee6
Comment 69 einbert-xeride 2024-01-19 06:28:11 UTC
Hello. Powerdevil started to constantly crash again with newly rolled-out ddcutil 2.1.0, as is reported in the Arch forum: https://bbs.archlinux.org/viewtopic.php?id=292028. Related?
Comment 70 Cherkah 2024-06-20 13:12:57 UTC
i'm facing to the same issue with powerdevil & ddcutil:

org_kde_powerde

``busno=6, sleep-multiplier =  1,30. Testing for supported feature 0x10 returned Error_Info[EIO in ddc_write_read_with_retry, causes: EIO]
``

that is what i got with:ddcutil detect
Comment 71 Cherkah 2024-06-20 13:16:19 UTC
.....
that is what i got with:   ddcutil detect

Invalid display
I2C bus:  /dev/i2c-5
DRM connector:           card0-eDP-1
EDID synopsis:
Mfg id:               AUO - UNK
Model:                
Product code:         8685  (0x21ed)
Serial number:        
Binary serial number: 0 (0x00000000)
Manufacture year:     2016,  Week: 0
DDC communication failed. (getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(10)])
This appears to be a laptop display.  Laptop displays do not support DDC/CI

Invalid display
I2C bus:  /dev/i2c-6
DRM connector:           card0-HDMI-A-1
EDID synopsis:
Mfg id:               PHL - Philips Consumer Electronics Company
Model:                PHILIPS FTV
Product code:         0  (0x0000)
Serial number:        
Binary serial number: 16843009 (0x01010101)
Manufacture year:     2017,  Week: 12
DDC communication failed. (getvcp of feature x10 returned Error_Info[EIO in ddc_write_read_with_retry, causes: EIO])


SYSTEM:
Operating System: EndeavourOS 
KDE Plasma Version: 6.1.0
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.1
Kernel Version: 6.9.5-arch1-1 (64-bit)
Graphics Platform: Wayland
Graphics Processor: NVIDIA GeForce GTX 1650/PCIe/SSE2