我在跑EGT在 SAMA5D4 Xplained 板上。它使用 KMS 输出到 HDMI 屏幕。我有一个触摸屏,需要在第一次使用时进行校准,我正在使用 tslib 中的 ts_calibrate。我有一个小脚本来检查屏幕是否已经校准,如果没有,它会尝试启用屏幕并运行 ts_calibrate。
当我正常登录时,该脚本工作正常,但在启动后由 crontab 调用时,我得到一个空白屏幕:
@reboot /usr/share/myProject/startEGT.sh
这是我的脚本:
#!/bin/sh
# Startup script to launch calibration settings for touchscreen & start application
CAL_FILE=/etc/pointercal
if [ ! -f "$CAL_FILE" ]; then
echo "Didn't find screen calibartion file"
# Force screen on
echo "1" > /sys/class/graphics/fb0/state
echo "U:1024x600p-0" > /sys/class/graphics/fb0/mode
until [ $(cat /sys/class/graphics/fb0/state) = "1" ]
do
echo "1" > /sys/class/graphics/fb0/state
echo "U:1024x600p-0" > /sys/class/graphics/fb0/mode
# cat /sys/class/graphics/fb0/state
sleep 2
done
export TSLIB_FBDEVICE=/dev/fb0
ts_calibrate
fi
echo "Calibration file found"
# TODO: Need to check if ts_uinput already running
ts_uinput -d -v
EGT_INPUT_DEVICES=libinput:/dev/input/touchscreen0 EGT_SCREEN_SIZE=1024x600 /usr/share/myProject/startEGTproject
我怀疑这个问题与未安装的文件系统或未准备好的东西有关,但这是一个猜测。有人有任何指点吗?