Docs: Update Touch_issues (#1119)
Improved wording on changes to the DSI driver / bug Remove an empty possibility on touch matrix Add extra sources / help on touch matrix Some Markdown compliance fixes (spacing etc)
This commit is contained in:
parent
ad3255b16a
commit
d1632ef9d0
@ -1,51 +1,58 @@
|
||||
# Touchscreen issues
|
||||
|
||||
If the screen is connected over USB, issues with the cable may cause similar symptoms. For that, please see [this guide](Physical_Install.md#cable-issues).
|
||||
|
||||
## Touch not working
|
||||
|
||||
Some DSI screens have issues where touch doesn't work with Debian Bullseye, or even in Debian Buster after an update, the current fix
|
||||
(at least until upstream is fixed) consist in changing the driver:
|
||||
Some DSI screens have issues where touch doesn't work with Debian Bullseye, or even in Debian Buster after an update. There is currently (September 2023) still no fix in upstream Debian.
|
||||
|
||||
manually edit `/boot/config.txt` and change:
|
||||
The current workaround/temporary fix involves changing the kernel driver module used for these displays.
|
||||
|
||||
To apply this fix:
|
||||
|
||||
Edit `/boot/config.txt` and change
|
||||
|
||||
```sh
|
||||
dtoverlay=vc4-kms-v3d
|
||||
```
|
||||
|
||||
to:
|
||||
to
|
||||
|
||||
```sh
|
||||
dtoverlay=vc4-fkms-v3d
|
||||
```
|
||||
reboot to apply changes.
|
||||
|
||||
if that doesn't fix it, try removing the line or comment it out
|
||||
**Reboot** to apply changes.
|
||||
|
||||
```
|
||||
#dtoverlay=vc4-kms-v3d
|
||||
#max_framebuffers=2
|
||||
If that doesn't fix it, you can try commenting these lines out:
|
||||
|
||||
```sh
|
||||
# dtoverlay=vc4-kms-v3d
|
||||
# max_framebuffers=2
|
||||
```
|
||||
|
||||
reboot to apply changes
|
||||
|
||||
If the screen is connected via USB It maybe a cable issue [See this section](Physical_Install.md#cable-issues)
|
||||
|
||||
**Reboot** to apply changes.
|
||||
|
||||
## Touch rotation and matrix
|
||||
If the touch works but it's not in the right place, it may need a transformation matrix.
|
||||
|
||||
First you will need your device name, on a terminal run:
|
||||
If the touch works but registers touch input in a different location from the input, then you may need to apply an input transformation matrix.
|
||||
|
||||
First you will need your device name. On a terminal, run:
|
||||
|
||||
```sh
|
||||
DISPLAY=:0 xinput
|
||||
```
|
||||
|
||||
Output:
|
||||
```sh
|
||||
|
||||
```text
|
||||
⎡ Virtual core pointer id=2 [master pointer (3)]
|
||||
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
|
||||
⎜ ↳ ADS7846 Touchscreen id=6 [slave pointer (2)]
|
||||
⎣ Virtual core keyboard id=3 [master keyboard (2)]
|
||||
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
|
||||
```
|
||||
|
||||
In this case the device is the ADS7846 Touchscreen, yours may be different
|
||||
|
||||
You can test a change by running:
|
||||
@ -63,10 +70,12 @@ Where the matrix can be one of the following options:
|
||||
* invert Y: `-1 0 1 1 1 0 0 0 1`
|
||||
* invert X: `-1 0 1 0 1 0 0 0 1`
|
||||
* expand to twice the size horizontally: `0.5 0 0 0 1 0 0 0 1`
|
||||
* compress horizontally:
|
||||
it has been reported that the touch expands with non-hdmi screens because composite out is enabled when hdmi is unplugged.
|
||||
if this is the case try adding `enable_tvout=0` to `/boot/config.txt` and reboot.
|
||||
<!-- * compress horizontally: --><!-- Commented out because of missing matrix info -->
|
||||
|
||||
For more in-depth guidance on using Coordinate Transformation Matrices, see [InputCoordinateTransformation - Ubuntu Wiki](https://wiki.ubuntu.com/X/InputCoordinateTransformation).
|
||||
|
||||
It has been reported that the touch expands with screens that don't use HDMI. This is due to the composite output, which enables automatically as a fallback when no HDMI device is plugged in.
|
||||
If this is the case, adding `enable_tvout=0` to `/boot/config.txt` and reboot.
|
||||
|
||||
For example:
|
||||
|
||||
@ -82,9 +91,10 @@ ACTION=="add", ATTRS{name}=="<device name>", ENV{LIBINPUT_CALIBRATION_MATRIX}="<
|
||||
|
||||
As an alternative if the above doesn't work:
|
||||
|
||||
edit /usr/share/X11/xorg.conf.d/40-libinput.conf
|
||||
edit `/usr/share/X11/xorg.conf.d/40-libinput.conf`
|
||||
|
||||
for example:
|
||||
|
||||
```sh
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchscreen catchall"
|
||||
|
Loading…
x
Reference in New Issue
Block a user