检查Linux DRM显示设备ID的脚本

2021-09-26 11:15:14 浏览数 (1)

不同设计里,Linux DRM子系统里设备ID不一样。每次修改,费时费力,也容易出错。 因此写了以下脚本,自动查找encoder_id,crtc_id,connector_id等。然后在后续命令和脚本中,可以直接引用。 每次使用的时候,需要根据情况,更改display_device。display_device一般是类似a0070000.v_mix的格式,可以通过“dmesg | grep v_mix”查到。

代码语言:javascript复制
ls -l /dev/me*
ls -l /dev/vide* 
ls /dev/dri/by-path/

dmesg | grep v_proc_ss
dmesg | grep v_mix


# modetest -D a0070000.v_mix -s 39:3840x2160-60@BG24
export display_device=a00c0000.v_mix
echo "display device: $display_device"

# modetest -D $display_device
 
export encoder_id=`modetest -D $display_device | grep -i TMDS | cut -f 1`
echo "encoder_id: $encoder_id"

export crtc_id=`modetest -D $display_device | grep -i  TMDS | cut -f 2`
echo "crtc_id: $crtc_id"

# check display connectors
export connector_id=`modetest -D $display_device | grep -i  connected | cut -f 1`
echo "connector_id: $connector_id"

# check display planes
modetest -D $display_device | grep -B 2 -A 2  "0,0"
plane_id=`modetest -D $display_device | grep "0,0" | grep 0x00000001 | cut -f 1`
echo "plane_id: $plane_id"
overlay_plane_id=`echo $plane_id | cut -d " " -f 1`
echo "overlay_plane_id: $overlay_plane_id"
prime_plane_id=`echo $plane_id | cut -d " " -f 2`
echo "prime_plane_id: $prime_plane_id"

0 人点赞