Skip to content

Instantly share code, notes, and snippets.

@benjamingwynn
Created May 20, 2023 20:08
Show Gist options
  • Save benjamingwynn/bd8525cc86803847f9b3a3e3f069db2b to your computer and use it in GitHub Desktop.
Save benjamingwynn/bd8525cc86803847f9b3a3e3f069db2b to your computer and use it in GitHub Desktop.
# note to self: packages for building on fedora(ish) are
# autoconf automake libtool glib2-devel json-glib-devel systemd-devel libus1-devel libX11-devel libXrandr-devel jansson-devel
# read. worth noting that no registers ever changed between input swapping HDMI1 and DP. also maybe worth noting that i dont think --i1 x50 would do anything here, but im no expect i literally discovered ddc existed today
$ ddcutil getvcp scan --i1 x50
VCP code 0x02 (New control value ): One or more new control values have been saved (0x02)
VCP code 0x0b (Color temperature increment ): Invalid value: 0
VCP code 0x0c (Color temperature request ): 3000 + 35 * (feature 0B color temp increment) degree(s) Kelvin
VCP code 0x0e (Clock ): current value = 50, max value = 100
VCP code 0x10 (Brightness ): current value = 60, max value = 100
VCP code 0x12 (Contrast ): current value = 57, max value = 100
VCP code 0x14 (Select color preset ): User 1 (sl=0x0b)
VCP code 0x15 (Unknown feature ): mh=0x00, ml=0xff, sh=0x00, sl=0x0b
VCP code 0x16 (Video gain: Red ): current value = 60, max value = 100
VCP code 0x18 (Video gain: Green ): current value = 52, max value = 100
VCP code 0x1a (Video gain: Blue ): current value = 48, max value = 100
VCP code 0x1e (Auto setup ): Auto setup not active (sl=0x00)
VCP code 0x20 (Horizontal Position (Phase) ): current value = 0, max value = 100
VCP code 0x30 (Vertical Position (Phase) ): current value = 0, max value = 100
VCP code 0x3e (Clock phase ): current value = 50, max value = 100
VCP code 0x4d (Unknown feature ): mh=0xff, ml=0xff, sh=0x00, sl=0x23
VCP code 0x4e (Unknown feature ): mh=0xff, ml=0xff, sh=0x60, sl=0x00
VCP code 0x4f (Unknown feature ): mh=0xff, ml=0xff, sh=0x1a, sl=0x02
VCP code 0x52 (Active control ): Value: 0x00
VCP code 0x60 (Input Source ): Invalid value (sl=0x00)
VCP code 0x62 (Audio speaker volume ): current value = 13, max value = 100
VCP code 0x6c (Video black level: Red ): current value = 128, max value = 100
VCP code 0x6e (Video black level: Green ): current value = 128, max value = 100
VCP code 0x70 (Video black level: Blue ): current value = 128, max value = 100
VCP code 0x87 (Sharpness ): current value = 50, max value = 100
VCP code 0x8d (Audio Mute ): Unmute the audio (sl=0x02)
VCP code 0xac (Horizontal frequency ): 0 hz
VCP code 0xae (Vertical frequency ): 0.00 hz
VCP code 0xb6 (Display technology type ): LCD (active matrix) (sl=0x03)
VCP code 0xc0 (Display usage time ): Usage time (hours) = 1192 (0x0004a8) mh=0xff, ml=0xff, sh=0x04, sl=0xa8
VCP code 0xc6 (Application enable key ): 0x0068
VCP code 0xc8 (Display controller type ): Mfg: RealTek (sl=0x09), controller number: mh=0x00, ml=0xff, sh=0x00
VCP code 0xc9 (Display firmware level ): 3.24
VCP code 0xca (OSD ): OSD Enabled (sl=0x02)
VCP code 0xcc (OSD Language ): Reserved value, must be ignored (sl=0x00)
VCP code 0xd6 (Power mode ): DPM: On, DPMS: Off (sl=0x01)
VCP code 0xdf (VCP Version ): 2.1
VCP code 0xe4 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x00
VCP code 0xe5 (Manufacturer Specific ): mh=0x00, ml=0x00, sh=0x00, sl=0x23
VCP code 0xe7 (Manufacturer Specific ): mh=0xff, ml=0xff, sh=0x00, sl=0x00
VCP code 0xe8 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x00
VCP code 0xe9 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0xb2
VCP code 0xea (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x00
VCP code 0xeb (Manufacturer Specific ): mh=0x00, ml=0x01, sh=0x00, sl=0x00
VCP code 0xef (Manufacturer Specific ): mh=0xff, ml=0xff, sh=0x52, sl=0x20
VCP code 0xf4 (Manufacturer Specific ): mh=0xff, ml=0xff, sh=0x00, sl=0x07
VCP code 0xf5 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x02
VCP code 0xf6 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x00
VCP code 0xf7 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x00
VCP code 0xf8 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0xff
VCP code 0xf9 (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x3c
VCP code 0xfa (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0xff
VCP code 0xfb (Manufacturer Specific ): mh=0xff, ml=0xff, sh=0x00, sl=0x02
VCP code 0xfe (Manufacturer Specific ): mh=0x00, ml=0xff, sh=0x00, sl=0x10
# try to write, tried f4 d0 d2 d1 90
$ ddcutil setvcp xf4 x00d2 --i1 x50 --noverify --trcfile i2c_execute
(main ) Starting ddcutil execution, Sat May 20 20:21:48 2023
(i2c_ioctl_writer ) Starting fh=3, filename=/dev/i2c-7, slave_address=0x37, bytect=1, pbytes=0x7ffe73a1fa7b -> 00
i2c_rdwr_ioctl_data at: 0x7ffe73a1f9a0
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0000
len: 0x0001 (1)
buf: 0x7ffe73a1fa7b -> 00
(i2c_ioctl_writer ) Done Returning: OK(0).
(i2c_ioctl_writer ) Starting fh=3, filename=/dev/i2c-7, slave_address=0x37, bytect=5, pbytes=0x55ad38d50d11 -> 51 82 01 00 bc
i2c_rdwr_ioctl_data at: 0x7ffe73a1f5e0
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0000
len: 0x0005 (5)
buf: 0x55ad38d50d11 -> 51 82 01 00 bc
(i2c_ioctl_writer ) Done Returning: OK(0).
(i2c_ioctl_reader ) Starting fd=3, fn=/dev/i2c-7, slave_addr=0x37, bytect=12, readbuf=0x55ad38d50d30
(i2c_ioctl_reader1 ) Starting fd=3, fn=/dev/i2c-7, slave_addr=0x37, bytect=12, readbuf=0x55ad38d50d30
i2c_rdwr_ioctl_data at: 0x7ffe73a1f570
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0001
len: 0x000c (12)
buf: 0x55ad38d50d30 -> 00 00 00 00 00 00 00 00 00 00 00 00
(i2c_ioctl_reader1 ) Done Returning: OK(0). readbuf: 6e 88 02 01 00 01 ff ff 00 00 b4 00
(i2c_ioctl_reader ) Done Returning: OK(0). readbuf: 6e 88 02 01 00 01 ff ff 00 00 b4 00
(i2c_ioctl_writer ) Starting fh=3, filename=/dev/i2c-7, slave_address=0x37, bytect=5, pbytes=0x55ad38d50fd1 -> 51 82 01 df 63
i2c_rdwr_ioctl_data at: 0x7ffe73a1f5b0
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0000
len: 0x0005 (5)
buf: 0x55ad38d50fd1 -> 51 82 01 df 63
(i2c_ioctl_writer ) Done Returning: OK(0).
(i2c_ioctl_reader ) Starting fd=3, fn=/dev/i2c-7, slave_addr=0x37, bytect=12, readbuf=0x55ad38d50ff0
(i2c_ioctl_reader1 ) Starting fd=3, fn=/dev/i2c-7, slave_addr=0x37, bytect=12, readbuf=0x55ad38d50ff0
i2c_rdwr_ioctl_data at: 0x7ffe73a1f540
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0001
len: 0x000c (12)
buf: 0x55ad38d50ff0 -> 00 00 00 00 00 00 00 00 00 00 00 00
(i2c_ioctl_reader1 ) Done Returning: OK(0). readbuf: 6e 88 02 00 df 01 00 ff 02 01 96 00
(i2c_ioctl_reader ) Done Returning: OK(0). readbuf: 6e 88 02 00 df 01 00 ff 02 01 96 00
(i2c_ioctl_writer ) Starting fh=3, filename=/dev/i2c-7, slave_address=0x37, bytect=7, pbytes=0x55ad38d29531 -> 50 84 03 f4 00 d2 9f
i2c_rdwr_ioctl_data at: 0x7ffe73a1f890
nmsgs: 1
i2c_msg[0]
addr: 0x0037
flags: 0x0000
len: 0x0007 (7)
buf: 0x55ad38d29531 -> 50 84 03 f4 00 d2 9f
(i2c_ioctl_writer ) Done Returning: OK(0).
(main ) ddcutil execution complete, Sat May 20 20:21:48 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment