<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>431994</bug_id>
          
          <creation_ts>2021-01-23 15:17:36 +0000</creation_ts>
          <short_desc>per display ddcutil brightness control with -DHAVE_DDCUTIL</short_desc>
          <delta_ts>2024-08-24 01:00:29 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>Powerdevil</product>
          <component>general</component>
          <version>5.20.5</version>
          <rep_platform>Gentoo Packages</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.kde.org/show_bug.cgi?id=465256</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>481927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nowa Ammerlaan">nowa</reporter>
          <assigned_to name="Plasma Bugs List">plasma-bugs-null</assigned_to>
          <cc>daniel-other+kdebug</cc>
    
    <cc>hockeymikey</cc>
    
    <cc>kndevl</cc>
    
    <cc>matej.starc</cc>
    
    <cc>natalie_clarius</cc>
    
    <cc>nate</cc>
    
    <cc>postix</cc>
          
          <cf_commitlink>https://invent.kde.org/plasma/powerdevil/-/commit/88aa87f7e6c291de02e6a585a04ccb0ebfcfd006</cf_commitlink>
          <cf_versionfixedin>6.2.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1997091</commentid>
    <comment_count>0</comment_count>
    <who name="Nowa Ammerlaan">nowa</who>
    <bug_when>2021-01-23 15:17:36 +0000</bug_when>
    <thetext>SUMMARY

I&apos;m having some problems with the brightness control of my displays. And I&apos;m pretty sure the reason is that one of my displays supports DDC communication and one does not. After some testing and reading I discovered that the brightness control seems to control all monitors at once, and since one of the displays does not support DDC communication the brightness control fails completely.

One display is a Wacom One drawing tablet which I need for (online) teaching. This particular display does not have any buttons or anything to control the brightness, the only way to control this is using ddcutil. It would be awesome if we could have brightness control on a per display basis, which would solve my issue and let me control the brightness of this display without having to use the terminal.

STEPS TO REPRODUCE
1. install ddcutil
2. Compile powerdevil with -DHAVE_DDCUTIL
3. reboot

OBSERVED RESULT

No brightness slider in the plasma Battery and Brightness applet

EXPECTED RESULT

A brightness slider for each display that supports DDC communication. (and obviously no slider for displays that do not.)

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.10.9
(available in About System)
KDE Plasma Version: 5.20.5
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1997546</commentid>
    <comment_count>1</comment_count>
    <who name="Nowa Ammerlaan">nowa</who>
    <bug_when>2021-01-25 16:36:37 +0000</bug_when>
    <thetext>Tried this on another device (a laptop), it works but if an external monitor is connected it is no longer possible to control the brightness of the internal laptop screen. Which is slightly annoying, because now I can control the brightness of either the laptop screen or the external screen but not both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2098776</commentid>
    <comment_count>2</comment_count>
    <who name="hockeymikey">hockeymikey</who>
    <bug_when>2022-01-27 19:51:06 +0000</bug_when>
    <thetext>(In reply to Andrew Ammerlaan from comment #1)
&gt; Tried this on another device (a laptop), it works but if an external monitor
&gt; is connected it is no longer possible to control the brightness of the
&gt; internal laptop screen. Which is slightly annoying, because now I can
&gt; control the brightness of either the laptop screen or the external screen
&gt; but not both.

I have this exact same issue. Per monitor support would be cool, but just being able to control both of them at all would be a good start (maybe a separate issue too?) Is this issue that it sees the DDC device and thus tries to control them all via DDC instead of keeping track of on a per device basis?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2098783</commentid>
    <comment_count>3</comment_count>
    <who name="hockeymikey">hockeymikey</who>
    <bug_when>2022-01-27 20:00:32 +0000</bug_when>
    <thetext>Created https://bugs.kde.org/show_bug.cgi?id=449263 for the laptop issue. I would edit my previous comment to reflect, but seems I can&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2238093</commentid>
    <comment_count>4</comment_count>
    <who name="Nicolas Fella">nicolas.fella</who>
    <bug_when>2023-06-24 10:23:45 +0000</bug_when>
    <thetext>*** Bug 471408 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2315688</commentid>
    <comment_count>5</comment_count>
    <who name="Natalie Clarius">natalie_clarius</who>
    <bug_when>2024-05-01 21:10:43 +0000</bug_when>
    <thetext>*** Bug 486412 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2320804</commentid>
    <comment_count>6</comment_count>
    <who name="Bug Janitor Service">bug-janitor</who>
    <bug_when>2024-05-20 17:02:46 +0000</bug_when>
    <thetext>A possibly relevant merge request was started @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2348214</commentid>
    <comment_count>7</comment_count>
    <who name="Jakob Petsovits">jpetso</who>
    <bug_when>2024-08-23 19:39:55 +0000</bug_when>
    <thetext>Git commit 88aa87f7e6c291de02e6a585a04ccb0ebfcfd006 by Jakob Petsovits.
Committed on 23/08/2024 at 19:36.
Pushed by jpetso into branch &apos;master&apos;.

applets/brightness: Per-display brightness controls

This uses the new per-display D-Bus API from PowerDevil.

Following this change, the applet does not use the old
BrightnessControl D-Bus interface anymore, only the new
ScreenBrightnessControl interface. A new ScreenBrightnessDisplayModel
class is added to allow the use of QML Repeater objects in the UI.

For scrolling on the icon, the applet does not need to know or
specify which displays are changed, this responsibility now lies with
the daemon and its AdjustBrightnessRatio/AdjustBrightnessSteps methods.

Autotests are adapted accordingly, including changes by Fushan Wen.
Note that reported brightness for the mocked backlight display will
be lower by 1 in the new API, because minimum brightness of 1
(default for internal displays) is subtracted from the underlying
brightness value. Hence we now test for values from 0 to 254.
Related: bug 481927, bug 353032, bug 487812

M  +15   -7    applets/brightness/package/contents/ui/BrightnessItem.qml
M  +0    -1    applets/brightness/package/contents/ui/CompactRepresentation.qml
M  +65   -40   applets/brightness/package/contents/ui/PopupDialog.qml
M  +44   -18   applets/brightness/package/contents/ui/main.qml
M  +1    -0    applets/brightness/plugin/CMakeLists.txt
M  +158  -53   applets/brightness/plugin/screenbrightnesscontrol.cpp
M  +39   -13   applets/brightness/plugin/screenbrightnesscontrol.h
A  +103  -0    applets/brightness/plugin/screenbrightnessdisplaymodel.cpp     [License: GPL(v2.0+)]
A  +49   -0    applets/brightness/plugin/screenbrightnessdisplaymodel.h     [License: GPL(v2.0+)]
M  +13   -4    autotests/applets/brightnesstest.py

https://invent.kde.org/plasma/powerdevil/-/commit/88aa87f7e6c291de02e6a585a04ccb0ebfcfd006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2348215</commentid>
    <comment_count>8</comment_count>
    <who name="Jakob Petsovits">jpetso</who>
    <bug_when>2024-08-23 19:40:02 +0000</bug_when>
    <thetext>Git commit 0bfc76473105819c66ce0240a9cf9406739c0202 by Jakob Petsovits.
Committed on 23/08/2024 at 19:36.
Pushed by jpetso into branch &apos;master&apos;.

daemon: Introduce per-display ScreenBrightnessControl D-Bus API

In addition to a new ScreenBrightnessControl action to expose the
eponymous D-Bus API, this commit also adds the necessary plumbing
to relay display label, the is-internal boolean, as well as client
source name/context through ScreenBrightnessController.
Related: bug 353032

M  +14   -6    daemon/actions/bundled/CMakeLists.txt
M  +19   -4    daemon/actions/bundled/brightnesscontrol.cpp
M  +4    -1    daemon/actions/bundled/brightnesscontrol.h
A  +205  -0    daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.ScreenBrightnessControl.xml
A  +106  -0    daemon/actions/bundled/powerdevilscreenbrightnesscontrolaction.json
A  +199  -0    daemon/actions/bundled/screenbrightnesscontrol.cpp     [License: GPL(v2.0+)]
A  +92   -0    daemon/actions/bundled/screenbrightnesscontrol.h     [License: GPL(v2.0+)]
M  +44   -11   daemon/controllers/screenbrightnesscontroller.cpp
M  +37   -10   daemon/controllers/screenbrightnesscontroller.h

https://invent.kde.org/plasma/powerdevil/-/commit/0bfc76473105819c66ce0240a9cf9406739c0202</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>