davidhi7 / ddcci-plasmoid

KDE Plasma widget to adjust the brightness of multiple external monitors
MIT License
390 stars 11 forks source link

Consider using ddcutil-service for faster DDC access #68

Open digitaltrails opened 4 months ago

digitaltrails commented 4 months ago

I've just released 1.0 of ddcutil-service, a D-Bus interface to libddcutil. I'm using in in vdu_controls 2.0, also just released.

Part of my objective in creating this service is to open up libddcutil to script based solutions such as ddcci-plasmoid.

The service is designed to address issues around response-time, concurrent-access, change-detection, and parsing-output.

Should you be interested, the ddcutil-service/examples folder contains plenty of short examples.

digitaltrails commented 4 months ago

I should have also noted that an alternative to rewriting ddci-plasmoid to use the service, is to obtain a speed gain my using the D-Bus from the command line using busctl, for example:

% /usr/bin/time ddcutil-2.1.5-dev/src/ddcutil --display 2 getvcp 10  
VCP code 0x10 (Brightness                    ): current value =    13, max value =   100
0.01user 0.37system 0:00.39elapsed 99%CPU

% /bin/time busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface GetVcp isyu 2 "" "0x10" "0"
qqsis 13 100 "current value =    13, max value =   100" 0 "OK"
0.00user 0.00system 0:00.02elapsed 12%CPU
davidhi7 commented 3 months ago

I am currently not actively working on this, but will consider using this if I will invest time in this project again.