一、前期准备
参考的开源项目:
gslx680_ts_acpi开源驱动:onitake/gslx680-acpi: ACPI/x86 compatible driver for Silead GSLx680 touchscreens (github.com)
目前已经适配的设备固件:onitake/gsl-firmware: Firmware repository for Silead touchscreen controllers (github.com)
二、开始折腾
首先拉取gslx680_ts_acpi驱动进行编译安装
git clone https://github.com/onitake/gslx680-acpi.git
cd gslx680-acpi
make
//测试引入编译的驱动模块
insmod ./gslx680_ts_acpi.ko
//安装驱动模块
sudo make install到gsl-frimware项目下获取必要的工具
git clone https://github.com/onitake/gsl-firmware.git参考EZpad6的固件适配说明,进行以下操作
说明:gsl-firmware/firmware/jumper/EZpad_6 at master · onitake/gsl-firmware (github.com)
cd gsl-firmware/firmware/jumper/EZpad_6
./gsl-firmware/tools/ SileadTouch.sys
./gsl-firmware/tools/fwtool -c firmware.fw -m 1680 -w 1980 -h 1500 -t 10 -f yflip silead_ts.fw将固件放进对应的位置,重启系统
sudo cp silead_ts.fw /lib/firmware
sudo rmmod silead
sudo modprobe gslx680_ts_acpi完成上述操作后,触摸屏此时应该可以正常驱动,如果触摸定位依然存在误差,可以重复第三,第四部,修改对应的-w和-h参数对物理宽高进行微调,直到达到最优效果。