Release 1.3.0-rc1
The first of at least 2 release candidates for ddcutil 1.3.0 is now available as branch 1.3.0-rc1.
I2C IO is now performed (almost) exclusively using the ioctl() interface to driver i2c-dev. The read()/write() function call interface is no longer used. This simplification eliminates the possibility of EBUSY errors from the driver. Consequently option --force-slave-address no longer has any effect. In principle, EBUSY errors are possible from the video drivers invoked by i2c-dev, but these have never been observed.
ddcutil 1.3.0-rc1 simply disables use of read()/write(). Assuming no significant problems are detected, the next release candidate will actually delete the I2C read() and write() code from the repository source, allowing for significant simplification of the code base.
Please test this release candidate to ensure that the read()/write() interface can safely be removed.
A detailed list of the changes for release 1.3.0 can be found in source file CHANGELOG.md.