SwayOSD icon indicating copy to clipboard operation
SwayOSD copied to clipboard

Looks like SwayOSD doesn’t work with external monitors using DDC/CI

Open jjramsey opened this issue 1 year ago • 3 comments

I'm a member of the "video" group but have an external monitor. SwayOSD doesn't change the brightness of my monitor.

The utility "ddcutil" does work on my monitor.

Here are the issues I saw, FWIW.

Changing screen brightness on KDE 6.1 (without using SwayOSD) works, even though /sys/class/backlight/ is empty. SwayOSD doesn't work for the purpose, though. Looks like KDE 6.1 can use DDC/CI as a backend.

When brightnessctl is installed, the OSD shows up; it just doesn't show any change in brightness. Without brightnessctl, there's no OSD for brightness at all. Note that brightnessctl requires the out-of-tree kernel driver ddcci-driver-linux to work with external monitors.

BTW, I had been using Labwc with the following keybinding config:

    <keybind key="XF86AudioMute">
      <action name="Execute"
              command="swayosd-client --output-volume mute-toggle"/>
    </keybind>
    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute" command="swayosd-client --output-volume raise"/>
    </keybind>
    <keybind key="XF86AudioLowerVolume">
      <action name="Execute" command="swayosd-client --output-volume lower"/>
    </keybind>
    <keybind key="XF86MonBrightnessUp">
      <action name="Execute" command="swayosd-client --brightness raise"/>
    </keybind>
    <keybind key="XF86MonBrightnessDown">
      <action name="Execute" command="swayosd-client --brightness lower"/>
    </keybind>

jjramsey avatar Jul 05 '24 22:07 jjramsey

:wave: I think you can try passing the device manually to swayosd-client, I was able to change brightness for a single monitor, but passing the device lets me change it for my other monitor as well. You can check the device ID using brightnessctl --list --class backlight and then passing it to swayosd-client as swayosd-client --device="<DEVICE_ID>".

image

SoulHarsh007 avatar Nov 22 '24 21:11 SoulHarsh007

I use ddcutil to control my external monitor brightness. would be great if I can use that backend somehow... image

Or I can handle the brightness just need brightness OSD to popup where I can specify the brightness level. (can we have a dummy volume and brightness OSD which can show progress bar based on values used in the command?) swayosd-client --brightness fake 20 swayosd-client --output-volume fake 50 swayosd-client --output-volume fake 0

SherLock707 avatar Dec 07 '24 14:12 SherLock707

I have the same issue with the Apple Studio Display, I have a script to handle the monitor depending on which one is in focus, would be nice to make that show the OSD.

gabrielrinaldi avatar Jul 20 '25 01:07 gabrielrinaldi