Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Power/Brightness] Integrate external monitor brightness controls #428

Open
joewood9364 opened this issue May 10, 2024 · 6 comments
Open

Comments

@joewood9364
Copy link

https://github.com/davidhi7/ddcci-plasmoid
The above KDE plasmoid allows users to change external monitor brightness which is very useful but also not very easy to install and does not integrate into KDE's native brightness adjustment sliders.

Ideally brightness adjustment of monitors would be a native feature akin to laptop screen brightness adjustment - COSMIC having this functionality by default would be a welcome improvement over competing DEs.

@ids1024
Copy link
Member

ids1024 commented Jun 18, 2024

This definitely would be nice to have.

We'd need to decide how to handle multiple brightness devices.

  • The applet presumably should have sliders for each output, but key bindings are less clear.
  • If a laptop is connected to an external output, do brightness key bindings change the laptop display brightness?
    • What if only the external monitor is enabled?
  • What if a desktop has two external monitors?
    • If they're identical models changing the brightness together could work quite nicely, but that may not work well with different monitor models.

@wiiznokes
Copy link
Contributor

I guess key bindings could trigger the display where the mouse is. And there could be an option to control all monitors at the same time

@Quackdoc
Copy link
Contributor

Quackdoc commented Jun 18, 2024

I would like to personally see something like monitorian's controls on windows, except a bit more sleek, A single brightness control with a dropdown menu perhaps, drop down to control each monitor individually, and when not dropped down, a single slider to control the brightness of all monitors in relation to the brightness set by the individual sliders.

https://github.com/emoacht/Monitorian

monitorian for reference, in the readme they have a video showcasing it working

key bindings can be just for the "global" control in this case

@ids1024
Copy link
Member

ids1024 commented Jun 18, 2024

I see ddcutil is also quite slow to get or set brightness or other settings. Apparently this is expected: https://www.ddcutil.com/faq

ddcutil spends 90% of its elapsed time in waits mandated by the DDC/CI protocol.

That may be awkward with a slider?

That also mentions a couple issues with certain monitors, unsurprisingly. Not sure how consistently to expect things to work with DDC/CI. Does any OS or desktop environment currently expose it prominently, by default, for all monitors that support it?

@onlyreportingissues
Copy link

onlyreportingissues commented Jun 18, 2024

I see ddcutil is also quite slow to get or set brightness or other settings. Apparently this is expected: https://www.ddcutil.com/faq

ddcutil spends 90% of its elapsed time in waits mandated by the DDC/CI protocol.

That may be awkward with a slider?

That also mentions a couple issues with certain monitors, unsurprisingly. Not sure how consistently to expect things to work with DDC/CI. Does any OS or desktop environment currently expose it prominently, by default, for all monitors that support it?

Maybe this is useful: daitj/gnome-display-brightness-ddcutil#137

"Response times with ddcutil are slow - use DDCControl DBUS service if available"

@ids1024
Copy link
Member

ids1024 commented Jun 19, 2024

So it can be faster if some persistent service keeps open a DDC connection? That may be doable.

@joewood9364 joewood9364 changed the title [Feature] [Battery/Display] DDC/CI support for adjusting external monitor brightness [Power/Brightness] Integrate external monitor brightness controls Jun 21, 2024
ids1024 added a commit to pop-os/cosmic-settings-daemon that referenced this issue Jun 25, 2024
This seems like the best way to expose the brightness and max brightness
for now.

In the future we may want to expose multiple brightness devices
(pop-os/cosmic-applets#428). It would also be
possible for client to not require the daemon and use sysfs and
udev/netlink directly, but if we use DDC for external monitors we'll
need to handle that a daemon as well.
ids1024 added a commit to pop-os/cosmic-settings-daemon that referenced this issue Jun 25, 2024
This seems like the best way to expose the brightness and max brightness
for now.

In the future we may want to expose multiple brightness devices
(pop-os/cosmic-applets#428). It would also be
possible for client to not require the daemon and use sysfs and
udev/netlink directly, but if we use DDC for external monitors we'll
need to handle that a daemon as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants