Releases: digitaltrails/ddcutil-service
v1.0.9 - Mainly fixes
- 1.0.9
- Fixed a GetCapabilitiesMetadata bug that caused some VCP features to lack metadata values.
- Fixed the return of feature-name and feature-description from GetVcpMetadata.
- Fixed potential hot-plug/DPMS polling memory leaks and simplified event locking.
- Recoded hot-plug/DPMS polling to avoid a potential libddcutil assertion failure.
- Fixed code/doc typos, improved code readability/structure, reduced IDE warnings.
- Updated documentation to caution against excessive updates when coding loops, as this may impact VDU NVRAM lifespan.
- Updated documentation to caution against experimenting with non-standard features, as it may risk damage to the VDU.
- Added an optional ddcutil-client, a fast counterpart to ddcutil. Not built/packaged by default (unnecessary).
v1.0.7 - Fix for return code DDCRC_OTHER (-3022)
This release is a quick fix for issue #23 where several service methods will fail if /dev/
contains non-display /dev/i2c-*
devices that are inaccessible. In these circumstances, libddcutil
returned an unexpected return code (DDCRC_OTHER
) which resulted in successful calls being treated as failures. The upshot is that the service should work with more hardware now.
- 1.0.7
- Slightly improved setvcp diagnostics.
- Fix methods failing with return code
DDCRC_OTHER
(-3022) when only some i2c devices are accessible.
v1.0.6 - Consistent Verification
- 1.0.6
- Add SetVcp/SetVcpWithContext NO_VERIFY (no retry) flag option.
- Match the behaviour of the ddcutil command, default to verify-and-retry for all set-vcp method calls.
- Default to verify-and-retry for all libddcutil versions.
- Replace the stateful DdcutilVerifySetVcp property with the stateless NO_VERIFY flag.
- Fix the ServiceFlagOptions property so that it lists all flag options.
- Check the status returned by libddcutil ddca_init() and exit on error to prevent any inconsistent behaviour.
- Cleanup the --prefer-polling and --prefer-drm options to make them consistent with each other.
v1.0.4 - Add an raw option for SNC features
-
1.0.4
- Provide an API flag RETURN_RAW_VALUES which disables GetVcp high-byte masking of Simple Non-Continuous features.
- Provide the --return-raw-values command line option for the same purpose.
Background
I had a issue reported with vdu_controls when used with ddcutil-service. A getvcp on an SNC value was coming back as 0x0f01 instead of 0x0001 (#21). I figured that the SNC high-byte might sometimes contain junk and needed masking off. I implemented that solution generally in ddcutil-service 1.0.3. But then a different user raised a new issue saying the ddcutil-service 1.0.3 had stopped returning the high byte - they had an SNC field where the high-byte had significance. So it seems a manufacturer did not obey the requirement that an SNC value should be 8 bit and only occupy the low-byte (digitaltrails/vdu_controls#85).
What I've done is to provide ddcutil-service with the above flags to optionally return the raw unmasked value. Vdu_controls uses that flag to get the entire value from the service, and it makes it own decision on what to do with the high byte. It would normally discard it (covers the first issue), but if there are any values in the capabilities-override that exceed one-byte, it internally promotes the SNC to CNC, so the high-byte gets retained (covers the second issue).
v1.0.3 - Further minor fixes and refinements
- 1.0.3
- Reduce unnecessary logging.
- Improve the description of the service's signals in ddcutil-service.1.
- Correct the typo in option name --perfer-drm (it was mistakenly called --prefer-dma).
- For simple VCP-features, only return the low-byte, for some VDUs the high-byte might contain junk.
v1.0.2 - Fixes and feedback
- 1.0.2
- Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
multiple clients to be aware of changes made by each. - Added SetVcpWithContext which accepts a client-context to be returned with the VcpValueChanged signal.
- ServiceEmitSignals renamed to ServiceEmitConnectivitySignals to avoid confusion.
- Command line option --emit-signals renamed to --emit-connectivity-signals for the same reason.
- Fix ServiceEmitSignals property assignment so that it correctly toggles hotplug signals.
- Fix hotplug polling so that it remains an option no matter what version of libddcutil is in use.
- Added VcpValueChanged D-Bus signal which triggers if the SetVcp method succeeds. This is to allow
v1.0.1 - libddcutil 2.1+ fix
- Use gcc with
-Wformat-security
for safety and to match Arch and Ubuntu defaults. - Calling
ddca_init()
beforeverify_i2c()
to fix runtime error forlibddcutil >= 2.1
.
v1.0.0 - D-Bus ddcutil-service
First Release
Release 1.0.0 of ddcutil-service, a D-Bus session-bus service for control of DDC Monitors/VDUs.
The service is D‐Bus wrapper for libddcutil which implements the VESA DDC Monitor Control Command Set. Most things that can be controlled using a monitor’s on‐screen display can be controlled by this service.
Because the service stays running and initialized it can be up to ten times faster than using the ddcutil command in a shell.
The service is currently used by vdu_controls, a GUI for controlling displays.