ซอฟต์แวร์ฝังตัว - จอแสดงผล HDMI ตั้งค่าภาพหน้าจอของโปรแกรมคอมพิวเตอร์

การตั้งค่าการแสดงผล HDMI

สูตร Yocto สําหรับการจัดการการตั้งค่าด้วย ddcutil

สูตร ddcutil yocto

สูตรสําหรับ ddcutil ใน Yocto

สําหรับโครงการนี้เราจําเป็นต้องมีไลบรารี ddcutil เพื่อเข้าถึงการตั้งค่าการแสดงผล HDMI ผ่าน I2C

ในการรวมไลบรารี ddcutil ลงในระบบลินุกซ์ที่กําหนดเองของคุณคุณต้องสร้างสูตรที่กําหนดเองสําหรับมัน

สูตร ddcutil_git.bb

ในเมตาเลเยอร์ที่กําหนดเองของคุณสร้างโฟลเดอร์ 'recipes-support/ddcutil' และภายในโฟลเดอร์นี้สร้างไฟล์ '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

รวม ddcutil ลงในภาพของคุณ

คุณต้องรวมสูตรใน Yocto Linux ของคุณ:

IMAGE_INSTALL:append = " ddcutil"

จากนั้นคุณสามารถกัดภาพของคุณและทดสอบผลลัพธ์</:code22:></:code11:>

การทดสอบ DDcutil

คําสั่งบางอย่างเพื่อทดสอบ ddcutil

เข้าสู่ระบบฝังตัวแบบกําหนดเองของคุณหรือเชื่อมต่อผ่าน SSH

ตอนนี้คุณสามารถใช้คําสั่ง ddcutil และดูว่าการใช้งานสําเร็จหรือไม่

ตรวจพบการตรวจสอบรายงาน

ก่อนอื่นคุณสามารถตรวจจับได้ว่าจอภาพ HDMI เชื่อมต่อและพร้อมใช้งานผ่าน ddcutil หรือไม่ ใช้คําสั่งต่อไปนี้:

ddcutil detect

ผลลัพธ์ควรมีลักษณะดังนี้:

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

รับการตั้งค่าทั้งหมด

หากต้องการรับการตั้งค่าทั้งหมด ให้ใช้คําสั่งต่อไปนี้:

ddcutil getvcp all

ผลลัพธ์ควรมีลักษณะดังนี้:

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

ตั้งค่าความสว่าง

ในการตั้งค่าความสว่างของจอภาพเป็น 50% ให้ใช้คําสั่งต่อไปนี้:

ddcutil setvcp 10 50

ใบอนุญาตลิขสิทธิ์

ลิขสิทธิ์ © 2022 Interelectronix e.K.
ซอร์สโค้ดของโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0