Touch Events Detected in evtest but Misaligned or Unresponsive in Snap Application on Embedded Linux LCD Panel

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 and hardware-observe are connected.
  • No AppArmor denials are observed using snappy-debug.
  • $XDG_SESSION_TYPE is set to tty.
  • 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 !