ISO
ISO copied to clipboard
Control external displays (e.g., brightness) with DDC/CI
helloSystem should get the ability to control external displays (e.g., change the brightness).
Need to find out the state of the Display Data Channel/Command Interface (DDC/CI) on FreeBSD. https://www.reddit.com/r/freebsd/comments/ke51oq/controlling_displays_with_ddcci/ is wondering the same thing.
Wikipedia:
DDC/CI (Command Interface) standard was introduced in August 1998. It specifies a means for a computer to send commands to the monitor, as well as receive sensor data from the monitor, over a bidirectional link. Specific commands to control monitors are defined in a separate Monitor Control Command Set (MCCS) standard version 1.0, released in September 1998. (...) Despite its ubiquity in post-2016 displays, DDC/CI is not generally used by the operating system by default for brightness control on external displays.[9] Additional software can be used to send commands to the display, but the degree of system integration vary.
https://www.ddcutil.com/release_notes/ says:
Some configure options have been added, primarily in support of an as yet incomplete FreeBSD implementation. (Development is suspended until FreeBSD's video drivers expose the I2C bus.)
@rockowitz, the developer of ddcutil
, has loaded the i2c drivers iicbus.ko
, iic.ko
, and video driver nvidia.ko
, but the devices /dev/iicN
do not exist (which I can confirm). Are we missing something or is additional development within FreeBSD necessary to access the i2c bus that is used for display communication?
https://forums.freebsd.org/threads/accessing-i2c-devices-from-userspace.77145/
Maybe @evadot knows?
We do not expose the i2c device node currently. I have some almost finished work https://reviews.freebsd.org/D33053 that fixes this. I have no idea about nvidia.
Very cool that this is being developed. Thanks a lot @evadot.