Skip to content

Releases: digitaltrails/ddcutil-service

v1.0.9 - Mainly fixes

14 Jun 01:43
Compare
Choose a tag to compare
  • 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)

16 May 08:17
Compare
Choose a tag to compare

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

29 Apr 04:22
Compare
Choose a tag to compare
  • 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

12 Apr 22:34
Compare
Choose a tag to compare
  • 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

01 Apr 18:06
Compare
Choose a tag to compare
  • 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

08 Mar 07:01
Compare
Choose a tag to compare
  • 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.

v1.0.1 - libddcutil 2.1+ fix

20 Feb 03:10
Compare
Choose a tag to compare
  • Use gcc with -Wformat-security for safety and to match Arch and Ubuntu defaults.
  • Calling ddca_init() before verify_i2c() to fix runtime error for libddcutil >= 2.1.

v1.0.0 - D-Bus ddcutil-service

16 Feb 00:33
Compare
Choose a tag to compare

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.