You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArchLinux(树莓派3)系统更新后触摸屏evdev功能异常排查求助

嘿,我之前在树莓派3上折腾Arch的时候也碰到过类似的触摸屏问题,给你梳理几个一步步排查的方向,应该能帮到你:

第一步:先排除硬件/物理层面的问题

别上来就查软件,先把最基础的硬件问题排除:

  • 检查触摸屏的排线有没有松脱,树莓派3的排线接口很容易因为插拔、震动变松,重新插紧并固定好试试
  • 找个临时系统(比如Raspbian Lite)烧到SD卡上测试触摸屏,确认是不是硬件本身故障——如果别的系统也有问题,那就是硬件的事儿了
第二步:确认evdev驱动的基础状态

evdev是最底层的输入驱动,先从这里入手:

  • 先安装evtest工具:sudo pacman -S evtest
  • 运行evtest,它会列出所有输入设备,找到你的触摸屏设备(比如/dev/input/event3),输入对应的序号进入测试模式
  • 触摸屏幕顶部区域,看终端有没有事件输出:
    • 如果完全没有事件,说明evdev驱动根本没捕获到触摸,大概率是驱动加载异常或者硬件和驱动不兼容,去看内核日志:dmesg | grep -i touch 或者 dmesg | grep -i evdev,找有没有“failed to load firmware”“input device not recognized”这类报错
    • 如果有事件输出,那问题出在上层的libinput或者Wayland组件
第三步:排查libinput的配置与行为

libinput是Wayland下处理输入的核心组件,更新后很可能是它的规则或者逻辑变了:

  • 安装libinput工具集:sudo pacman -S libinput-tools
  • 运行libinput list-devices,找到你的触摸屏设备,查看它的Bounds(屏幕范围)和Calibration(校准)字段,有没有显示异常的区域(比如顶部范围被设成了0)
  • 运行libinput debug-events,触摸顶部区域,看libinput有没有捕获到事件:
    • 如果evtest有事件但libinput没有,可能是libinput的quirk规则把这些事件过滤了——去检查/etc/libinput/和/usr/share/libinput/下的规则文件,有没有新增针对触摸屏的过滤规则
    • 如果有事件但没触发响应,尝试用libinput-calibrator重新校准触摸屏,Wayland下的校准需要生成对应的udev规则来生效
第四步:排查Wayland compositor的配置

不同的Wayland桌面(GNOME、KDE Plasma、Sway)对触摸的处理逻辑不同,更新后可能默认配置变了:

  • 如果你用GNOME:打开设置→触摸,检查有没有开启“边缘点击”“触摸手势”这类可能屏蔽顶部区域的选项,或者尝试重置GNOME的触摸配置
  • 如果你用Sway:查看~/.config/sway/config里的input type:touchscreen相关配置,有没有map-to-output设置错误,或者限制触摸区域的规则
  • 临时切换到Xorg桌面测试,如果Xorg下触摸屏正常,那问题就锁定在Wayland compositor的触摸处理逻辑上了
第五步:回滚可疑的更新包

Arch滚动更新偶尔会引入兼容性问题,回滚是快速定位问题的方法:

  • 查看最近的更新日志,找出和输入相关的包:cat /var/log/pacman.log | grep -E "(evdev|libinput|wayland|weston)"
  • 用pacman -U /var/cache/pacman/pkg/<包名>回滚这些可疑包(比如回滚到上一个版本的libinput),看看问题是否消失

内容的提问来源于stack exchange,提问作者MadPapo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:09:03