Skip to content

Issues with official Touchscreen on Pi 3b+ #5682

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Binvention opened this issue Oct 25, 2023 · 7 comments
Open

Issues with official Touchscreen on Pi 3b+ #5682

Binvention opened this issue Oct 25, 2023 · 7 comments

Comments

@Binvention
Copy link

Binvention commented Oct 25, 2023

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

@PinkFreud
Copy link

This sounds like the issue in #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.

@Binvention
Copy link
Author

Binvention commented Oct 27, 2023

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.

@6by9
Copy link
Contributor

6by9 commented Oct 27, 2023

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).

@PinkFreud
Copy link

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 #5619, but no dice - this error just persists.

@Pyrathar
Copy link

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.

@Flamethr0wer
Copy link

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

@PinkFreud
Copy link

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants