不同设计里,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"