Waveshare35c calibration not persistent

Hello everyone, I’ve just configured Zynthian with:

  • Raspberry Pi 4 8GB
  • IQAudio/Raspberry DAC+
  • Waveshare 3.5 (C)

Everything seems to work very well except for the touchscreen calibration, after running the touch screen calibration from the Admin menu everything worked like a charm but unfortunately the calibration is not persistent.

I checked the /etc/X11/xorg.conf.d/99-calibration.conf and the configuration is correctly updated, here is my value:

Section "InputClass" # Created 2024-04-27 17:10:05.917072
Identifier "calibration"
MatchProduct "11"
Option "TransformationMatrix" "0.000000 -1.103448 1.051562 1.108911 0.000000 -0.060565 0.000000 0.000000 1.000000"
EndSection

The display related part of /boot/config.txt looks like:

# Display Config
dtoverlay=waveshare35c:rotate=90
#dtoverlay=waveshare35c:rotate=90,swapxy=1,invertx=1
#dtoverlay=ads7846,cs=1,penirq=17,penirq_pull=2,speed=1000000,keep_vref_on=1,swapxy=1,pmax=255,xohms=60,xmin=200,xmax=3900,ymin=200,ymax=3900

I have read some of the related topics in the discussion, especially Could this be the end of all touch screen calibration issues?

As far as I understand the calibration should be automatically saved but when I reboot I need to run it again in order to have it working.

Am I missing somthing or do I have to do something more to have it persistent?

It seems that MatchProduct in the generated code is wrong. I fixed it replacing its value to wit “ADS7846 Touchscreen”