receta para ddcutil en yocto
Para este proyecto, necesitamos la biblioteca ddcutil para tener acceso a los parámetros de visualización HDMI a través de I2C.
Para incluir la biblioteca ddcutil en su sistema de Linux personalizado, tiene que crear una receta personalizada.
ddcutil_git.bb recipe
En su metacapa personalizada, cree la carpeta «recipes-support/ddcutil». Dentro de esta carpeta, cree el archivo «ddcutil_git.bb».
SUMMARY = "Tool to modify display settings by ddc (hdmi)"
HOMEPAGE = "http://www.ddcutil.com"
AUTHOR = "Sanford Rockowitz "
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
BRANCH = "master"
SRCREV = "5080161b456cc6a1fd3e6db3dc537e1dcd1c809b"
PV = "1.2.2+${SRCPV}"
SRC_URI = " \
git://github.com/rockowitz/ddcutil;branch=${BRANCH};protocol=https; \
"
# disable trying to fetch from mirrors
PREMIRRORS = ""
MIRRORS = ""
DEPENDS += "\
i2c-tools \
libusb1 \
libdrm \
libgudev \
"
RDEPENDS_${PN} += "\
i2c-tools \
i2c-tools-misc \
libdrm \
"
S = "${WORKDIR}/git"
EXTRA_OECONF += "\
--disable-x11 --enable-drm --disable-usb --enable-lib --disable-doxygen \
"
inherit autotools pkgconfig
Incluir ddcutil en su imagen
Debe incluir la receta en su Yocto Linux:
IMAGE_INSTALL:append = " ddcutil"
A continuación, puede ejecutar bitbake en su imagen y probar el resultado.
prueba de ddcutil
Inicie sesión en su sistema integrado personalizado o conéctese a través de SSH.
Ahora puede utilizar el comando ddcutil y ver si la implementación se ha realizado correctamente.
Notificar los monitores detectados
En primer lugar, puede detectar si un monitor HDMI está conectado y disponible a través de ddcutil. Utilice el siguiente comando:
ddcutil detect
El resultado debería ser así:
Display 1
I2C bus: /dev/i2c-3
EDID synopsis:
Mfg id: IVM
Model: PLT2236
Product code: 22057
Serial number: 11402A7100051
Binary serial number: 51 (0x00000033)
Manufacture year: 2017, Week: 1
VCP version: 2.1
Obtener todos los parámetros
Para obtener todos los parámetros, utilice el siguiente comando:
ddcutil getvcp all
El resultado debería ser así:
VCP code 0x02 (New control value ): No user controls are present (0xff)
VCP code 0x0b (Color temperature increment ): 50 degree(s) Kelvin
VCP code 0x0c (Color temperature request ): 3000 + 70 * (feature 0B color temp increment) degree(s) Kelvin
VCP code 0x10 (Brightness ): current value = 100, max value = 100
VCP code 0x12 (Contrast ): current value = 50, max value = 100
VCP code 0x14 (Select color preset ): User 1 (sl=0x0b)
VCP code 0x16 (Video gain: Red ): current value = 100, max value = 100
VCP code 0x18 (Video gain: Green ): current value = 100, max value = 100
VCP code 0x1a (Video gain: Blue ): current value = 100, max value = 100
VCP code 0x52 (Active control ): Value: 0x00
VCP code 0x60 (Input Source ): DVI-1 (sl=0x03)
VCP code 0x62 (Audio speaker volume ): current value = 49, max value = 100
VCP code 0x6c (Video black level: Red ): current value = 50, max value = 100
VCP code 0x6e (Video black level: Green ): current value = 50, max value = 100
VCP code 0x70 (Video black level: Blue ): current value = 50, max value = 100
VCP code 0x8d (Audio Mute ): Unmute the audio (sl=0x02)
VCP code 0xac (Horizontal frequency ): 1964 hz
VCP code 0xae (Vertical frequency ): 60.00 hz
VCP code 0xb2 (Flat panel sub-pixel layout ): Red/Green/Blue vertical stripe (sl=0x01)
VCP code 0xb6 (Display technology type ): LCD (active matrix) (sl=0x03)
VCP code 0xc0 (Display usage time ): Usage time (hours) = 1030 (0x000406) mh=0xff, ml=0xff, sh=0x04, sl=0x06
VCP code 0xc6 (Application enable key ): 0x006f
VCP code 0xc8 (Display controller type ): Mfg: Novatek (sl=0x12), controller number: mh=0xff, ml=0xff, sh=0x00
VCP code 0xc9 (Display firmware level ): 0.2
VCP code 0xca (OSD ): OSD Enabled (sl=0x02)
VCP code 0xcc (OSD Language ): English (sl=0x02)
VCP code 0xd6 (Power mode ): DPM: On, DPMS: Off (sl=0x01)
VCP code 0xdc (Display Mode ): User defined (sl=0x04)
VCP code 0xdf (VCP Version ): 2.1
Definir el brillo
Para ajustar el brillo del monitor al 50 %, utilice el siguiente comando:
ddcutil setvcp 10 50
Licencia de copyright
Copyright© 2022 Interelectronix e.K.
El código fuente de este Proyecto está autorizado en virtud de la licencia GPL-3.0.