I’m working on an embedded Linux board setup where an LCD touchscreen panel is connected to the CPU card. The system runs a strictly confined Snap that renders directly to a custom framebuffer (/dev/fb0
) and uses the ILI210x touchscreen driver, connected through the i2c-2 bus.
In this setup:
- The ILI210x driver is loaded correctly.
- The touchscreen is detected by the system.
evtest
displays touch events properly on/dev/input/eventX
./dev/input/eventX
is accessible within the Snap confinement.- Permissions for the i2c-2 bus are added in the snapcraft.yaml.
- Snap interfaces like
raw-input
andhardware-observe
are connected. - No AppArmor denials are observed using
snappy-debug
. $XDG_SESSION_TYPE
is set totty
.- The kernel version is
5.4.0-1074
.
The issue is that, although evtest
successfully reports touch events, the UI touch is not responsive for the same. for example, If i touch any button on UI, it will not response as it should.
In Addition to above points, there is also touch area scaling issue. Kindly check attached snapshot.
- The touchscreen input is only responsive inside a smaller, shrunk version of the display — imagine the full LCD panel (black box) and inside it, a scaled-down version (red box) where touch works fine.
- The touch input does not respond in the remaining area outside this red box, even though the screen visually displays everything correctly.
What I Need Help With:
- What could cause touch events to appear in
evtest
, but not be received by Snap application via LCD touch ? - Are there additional Snap interfaces, device permissions, or confinement tweaks required for raw input handling in this type of setup?
- Suggestions on what could cause the touch input mapping to scale like this.
Would be fine to share other logs/outputs if required !