linux icon indicating copy to clipboard operation
linux copied to clipboard

Issues with official Touchscreen on Pi 3b+

Open Binvention opened this issue 2 years ago • 7 comments

Describe the bug

On a fresh install of 64 bit Raspberry Pi OS bookworm on the Pi 3b+ the touchscreen image works fine but the touch controls are unresponsive. I have an older sd card that the touchscreen works (although isn't aligned with display orientation) so I know the hardware works but I've been unable to replicate what makes the touchscreen work in the other sd card (and the OS on the other sd card I tinkered with past the point of recoverability, it boots but isn't stable)

Steps to reproduce the behaviour

Fresh install of latest 64 bit bookworm but before booting for the first time go into the config.txt and add the line

dtparam=i2c_vc_baudrate=50000

Otherwise you get an atmel unknown firmware 0x1e error on boot occasionally (at least with my setup).

I also have a wm8960-soundcard so I do the following as well so I also uncomment the i2c and i2s lines as well as add this

dtoverlay=wm8960-soundcard

All pre first boot. I power the display and the pi separately and don't connect anything to the gpio. Post boot running sudo apt update and sudo apt full-upgrade doesn't seem to help

Device (s)

Raspberry Pi 3 Mod. B+

System

Raspberry Pi reference 2023-10-10 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 962bf483c8f326405794827cce8c0313fd5880a8, stage4

Aug 10 2023 15:35:01 Copyright (c) 2012 Broadcom version 03dc77429335caee083e22ddc8eec09c07f12a7a (clean) (release) (start)

Linux officehub 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux

Logs

[ 14.714756] edt_ft5x06 10-0038: supply vcc not found, using dummy regulator [ 14.715297] edt_ft5x06 10-0038: supply iovcc not found, using dummy regulator [ 14.721392] edt_ft5x06 10-0038: touchscreen probe failed [ 14.722123] edt_ft5x06: probe of 10-0038 failed with error -5

Additional context

I've tried adding dtoverlay=rpi-ft5406 Both pre first boot and post I've also tried dtoverlay=edt-ft5405 disable_touchscreen=1 As well as dtoverlay=ft5406

The whole time the screen itself works but does not respond to touch at all

Binvention avatar Oct 25 '23 15:10 Binvention

This sounds like the issue in https://github.com/raspberrypi/linux/issues/5619 - supposedly, running rpi-update pulls/5622 should provide a fix, but I have yet to get that to work with my touchscreen. The above errors from edt_ft5x06 still show up, and the touchscreen is unresponsive.

PinkFreud avatar Oct 26 '23 21:10 PinkFreud

That made touch input work but now I'm unable to rotate the touch using the normal documented methods Like this from rpi documentation dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1

Which also seems to cause issues with the driver since it causes a lot of i2c errors for the display in dmesg

And this which seemed like a more up to date version

dtoverlay=edt-5406,invx=1,invy=1

I ended up having to revert back to X11 and then using a input matrix transformation to rotate the input to match.

Binvention avatar Oct 27 '23 14:10 Binvention

rpi-ft5406 is the legacy driver - I'll get the docs updated.

There should be no need to change any configuration files manually in Wayfire. Use the Screen Configuration app in Wayfire to set the orientation correct the screen orientation. If you have also linked the touchscreen driver for "generic ft5x06 (79)" to the DSI-1 output, then touch will follow suit. Looking in ~/.config/wayfire.ini, you should see a couple of blocks

[output:DSI-1]
mode = 800x480@60049
position = 3840,0
transform = 180

"transform = 180" gives you the inversion. (position will depend on where relative to other screens you have the DSI screen positioned - I've got mine to the right of a 4k monitor)

[input-device:generic ft5x06 (79)]
output = DSI-1

[input-device:generic ft5x06 (80)]
output = DSI-1

associates the touch events from those two devices with the DSI-1 output. You can check that that name matches your hardware using libinput list-devices | grep Device. eg

pi@bookworm64:~ $ libinput list-devices | grep Device
Device:           Logitech USB Optical Mouse
Device:           Dell KB216 Wired Keyboard
Device:           Dell KB216 Wired Keyboard System Control
Device:           Dell KB216 Wired Keyboard Consumer Control
Device:           generic ft5x06 (79)
Device:           vc4-hdmi-0
Device:           vc4-hdmi-1

If your touch device doesn't match either of those names, then there is also a touchscreen option when you right-click the display in Screen Configuration, and you can manually associate the touch controller to the display. (Changing that setting does require a restart of Wayfire).

6by9 avatar Oct 27 '23 15:10 6by9

You can check that that name matches your hardware using libinput list-devices | grep Device.

$ libinput list-devices | grep Device
Device:           vc4-hdmi-0
Device:           vc4-hdmi-1

Then again, I'm seeing this on boot:

Oct 27 14:17:03 schwartz kernel: edt_ft5x06 10-0038: supply vcc not found, using dummy regulator
Oct 27 14:17:04 schwartz kernel: edt_ft5x06 10-0038: supply iovcc not found, using dummy regulator
Oct 27 14:17:04 schwartz kernel: edt_ft5x06 10-0038: touchscreen probe failed
Oct 27 14:17:04 schwartz kernel: edt_ft5x06: probe of 10-0038 failed with error -5

This is the Raspberry Pi 7" touchscreen, and before I updated it to bookworm a few days ago, it was working under bullseye.

I've also used rpi-update as per https://github.com/raspberrypi/linux/issues/5619, but no dice - this error just persists.

PinkFreud avatar Oct 28 '23 01:10 PinkFreud

I have a touchscreen issue as well but mine is slightly different: everything actually works for the raspberry pi 3 but I upgraded to 5 and now it reports everything listed here.

I tried every solution here to no avail, libinput never shows the touchscreen that's connected with USB and changing the drivers or rpi-update does nothing.

Actually by changing the drivers back to dtoverlay=rpi-ft5406 it just freezes on boot.

At first I though it was a power issue cause it complains that it doesn't have enough power to power the devices but I eventually got the official power adapter and the problem remains.

Pyrathar avatar Jan 14 '24 15:01 Pyrathar

@PinkFreud I am having the EXACT same error, did you manage to solve it? Or @Pyrathar, were you able to find a solution?

Flamethr0wer avatar Apr 05 '25 11:04 Flamethr0wer

@PinkFreud I am having the EXACT same error, did you manage to solve it? Or @Pyrathar, were you able to find a solution?

Hmmm. I posted that over a year and a half ago. If I recall, a kernel update fixed it. It's working for me now, and has been for quite some time.

PinkFreud avatar May 02 '25 20:05 PinkFreud