7 inch screen touch calibration

Hi, I am looking for a solution for the a.m. issue. The touch calibration is not working on my 7" screens. There are two of them. On the first one after starting the calibration, the first spot appears in the middle, I touch it, it blinks red and wouldn’t go on to the next spot. On the second one the first touch in the middle is OK, the second on the top left is OK, but the third on the bottom right would’t recognize the touch, no red blinking at all. The screens are working flawlessly under Rasperry pi OS. Is there a workaround to import the touch settings somehow from that system, or something I could do to make it work? I red through some similar topics, no disconnection-reconnection issue, no undervoltage sign in my case. Thank you in advance!

PS: First screen tried with the last Oram build: Himbeer-Pi 5 7-Zoll-Touchscreen ips 1024x600 HD-LCD-HDMI-kompatibles Display für rpi 4b 3b opi 5 aida64 PC Sekundär bildschirm - AliExpress 7

Second one with the last stable build: 7 inch LCD Display HDMI-kompatibel Touch Bildschirm 1024x600 Auflösung Kapazitiven Touchscreen Unterstützung Systeme für Raspberry pi - AliExpress 502

Is your screen a capacative touch? If so, it shouldn’t need calibrating. These usually have good physical stability and calibration. What is the error in the touch calibration? (Is it offset by a little bit? Is it inverted? etc.)

Are you press and holding until the touch is recognised. The calibration process is to touch and hold each crosshair until the next one appears.

Capacitive multitouch. Without calibration it has a big offset in the touch position. It seems so, as if there would be some scaling issue, the topleft corner is still OK, but in the middle the touch position is about 2-3cm shifted. When calibrating the longer touch doesn’t help.

It may be that the calibration is so far out that it is not detecting the touch within a sensible distance from the crosshairs. Use “Report Issue” button in webconf to raise a support ticket.

Did an issue ever get created for this? I couldn’t find one that corresponds.

I’m having an issue very similar to this with a screen that I have recently installed, it’s a 7" DSI capacitive touch. The touch seems to be available corner to corner, however some of the areas that you press are offset from the controls on screen.

I can run the calibration but the first crosshair just stays red when pressed and doesn’t progress to the next one. It also pauses the countdown timer.

It’s this one: https://www.waveshare.com/wiki/7inch_DSI_LCD_(C)

@LFO, just checking that you are press and hold the crosshair?

Maybe it relates to the screen resolution. I wonder whether the higher resolution of this screen is not being configured or interpreted correctly. I think there is a tollerance window for touching the crosshairs so maybe where you touch based on the (possiblyt wrongly configured) screen resolution may be sufficiently offset to be outside the detection window and would in anycase result in wrong calibration.

Ticket 1272 has been raised by @szatmarip for this but no progress yet. It is challenging to investigate without the hardware under our fingertips.

A suggestion from the Peanut Gallery: You could try to reproduce the problem or demonstrate that it does not reproduce with Raspberry Pi OS AKA Bookworm. That would isolate the problem a bit and indicate whether it hardware, or software, and if software whether it is a Bookworm, Zynthian, Driver, or config.txt parameter problem.

@riban I can confirm I was holding it there on the crosshair with a proper stylus but it doesn’t progress. I did also try and set a different resolution (800x480) which reduces the active area to the top left with the oram background around it but doesn’t appear to improve the touch accuracy.

@tunagenes It’s a fair point, I have an install on an SSD. I can give that a try and report back…

1 Like

Could be the resolution is not set correctly in display config.
I had the same strange offset-problem with my HDMI screen that identifies itself as 1920x1080, but in reality it is 1280x800.
Once setting the correct values in Webconf Display, in my case

hdmi_group=2
hdmi_mode=87
hdmi_cvt=1280 800 60 6 0 0 0
dtoverlay=vc4-kms-v3d-pi5,noaudio

and then below that the 1280 and 800, everything turned out to be OK, except for touch inversion, wich is a problem if Wiring is set to V5, then it will be hardcoded to be inverted, by an IF statement in zyngui. Filed that in two issues that magically disappeared.

Happy new year!

@tunagenes I can confirm I tried the screen on a bookworm install and it wasn’t working great at first. It was hard to confirm if the behaviour was exactly the same as with Zynthian. I think the touch may have been inverted relative to the screen at one point while I was messing with the display settings. Once I ran all the available system updates it came good and was responding correctly.

@fussl I tried your settings (with the screen resolution for the waveshare) but it still behaves the same

Well, that’s very interesting and promising. Did you have to run calibration under Bookworm at some point? If so - it might be possible to find the file where the calibration was stored and move that to Zynthian. The link you provided above (https://www.waveshare.com/wiki/7inch_DSI_LCD_(C)) had a bunch of possibilities that seem like they might be interesting. I realize I’m being rather vague, but that’s all I got.

Hey @tunagenes I went back to my bookworm install and found there was no config file. I realised it had been running Wayland (I vaguely recall a message suggesting to switch). I switched back to X windows and ran a calibration which still gave no file but a screen with a bunch of config info to use.

I put that in the /etc/X11/xorg.conf/99-calibration.conf but I don’t think it makes any difference. I’m not sure this file is affecting the touch input at all as I have changed the numbers and it has no impact.

Hey @LFO - I don’t have much to offer for troubleshooting ideas, you could:
Take a look at

where @le51 gave some good advice on getting a new display type set up.
And, you could try opening a bug report via webconf - I don’t know if they’d be able to help you without having a screen of your type, but it would be worth a shot.