Waveshare DSI LCD displays

2 posts were merged into an existing topic: [PLUGIN] Touch Display

Just wondering if anyone has any ideas on a fix for this touch drift issue. Unfortunately, I still haven’t been able to fix it since I posted it. The only thing I can figure, based on my screen and @drhonk’s screen, is that it has something to do with the screens being vertical by default. Maybe the touch calculation is calculating the problematic axis to be wider than it is because it’s expecting the opposite dimensions of the actual screen rotation?
EDIT: Tried out Moode out of curiosity, and the touch alignment is correct with no drift. So, it seems to be an issue with the Touch Display plugin.
At this point, I would rather get the touch screen to work with Volumio than use Moode, so any help would be appreciated.
Anyway, if I should move this to the [PLUGIN] Touch Display topic instead, please let me know. Thanks.

This could be a driver issue since it worked normally when tested using Pi OS. I want to test it using Raspberry Pi 5 but don’t have time to do so. Maybe soon … :slight_smile:

It works,
RPi 4 with Waveshare 7.9 inch.

Don’t know why on the list of my outputs, the HDMI1 was active, along with DSI/ But I had no HDMI cable plugged. So, It did not work until I disable the HDMI with this userconfig.txt - nohdmi

dtoverlay=vc4-kms-v3d-pi4,nohdmi
dtoverlay=vc4-kms-dsi-waveshare-panel,7_9_inch

Touch Display V 3.4.0

  • Support screen rotation from the menu

Not sure if you were actually replying to the last few posts about the touch drift or not, but since I noticed you were using a Pi 4-specific dtoverlay, I decided to try it out.
As per the Waveshare 4-inch DSI LCD wiki, I was previously using dtoverlay=vc4-kms-v3d.
But changing it to dtoverlay=vc4-kms-v3d-pi4 fixed my issue :raised_hands: so hopefully it will fix the issue for anyone else experiencing the same touch drift on a Pi 4.
EDIT: It specifically seems to be the addition of nohdmi that fixes the drift. Adding that with either dtoverlay=vc4-kms-v3d or dtoverlay=vc4-kms-v3d-pi4 works. Thanks for the suggestion!

1 Like

It seems the system think there are two screen, when you move the pointer ( mouse cursor ) to the DSI screen border, it will jump to the HDMI screen ( dual additional screen ), but due to different resolution, the movement is strange.

@hornbuckle @Felix-Dan_Bejan Since “nohdmi” disables both HDMI outputs: Is it sufficient to disable just the HDMI 1 output?

dtoverlay=vc4-kms-v3d,nohdmi1

Unfortunately, no. At least on the 4-inch screen, the same touch drift still occurs with nohdmi1 or nohdmi2.
I’m using IQaudio DAC Pro for audio out, so nohdmi is okay for me, but assuming it would be a no-go for someone wanting to use HDMI for audio out.

Thanks for testing! Options are nohdmi, nohdmi0 and nohdmi1 though (so no nohdmi2).

Possibly. But there are also options to explicitly control HDMI audio:

    audio                   Enable or disable audio over HDMI0 (default "on")
    audio1                  Enable or disable audio over HDMI1 (default "on")
    noaudio                 Disable all HDMI audio (default "off")

So maybe audio out would not be affected by using nohdmi.

OH, of course! :man_facepalming: Thanks. Just also tried nohdmi0 to be sure and same touch drift occurs.

Good to know. But all in all, it seems strange to have to use nohdmi at all…

I had similar problems with a WS 4.3" display on my 3D printer. For bullseye and bookworm, the overlays have changed.

To fix the touch drift issue, you need to ensure that the config.txt (or Volumio equivalent) includes the following:

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inch

This is from the Waveshare wiki:

https://www.waveshare.com/wiki/4inch_DSI_LCD

Indeed, that is what I started with, as per the wiki (also linked in my original post).
However, the touch drift persisted until the addition of nohdmi to the first line. Not sure if that is the best or only solution, but it works.
There is a difference between the 4.3" and 4" screen default orientation too, where the 4.3" is horizontal and the 4" is vertical. I’m still wondering if this has something to do with the issue.

The screen is blank no activity, no login prompt. the display works perfectly with Raspberry Pi OS in the same setup .

Add your custom config.txt options to this file, which will be preserved during updates

only this line

Please add

dtoverlay=vc4-kms-dsi-7inch

to “/boot/userconfig.txt”.

image
Added saved and done the reboot but still no activity in screen


Now i am getting this message on the mobile app interface.

Is the display connected to the Pi’s DSI1 port?
Does the error message disappear without the “vc4-kms-dsi-7inch” overlay?