What 7" touchscreen with higher resolution is working

Hi Zynthian’s,

After have issues with touchscreen the simple question is:
What 7" touchplay with Hdmi and usb touch
(preferable 1024*600 or higher)
is working without issues and can be bought on amazon.

Thanks !!!

I had a waveshare 7" dsi that was working but the touch was off and calibration did not work.

I have a 5" waveshare (hdmi/usb) that is working but toich only works correct after re-plugging usb after boot.

So it would be nice to get something that actually works ‘out of the box’.

Will you please retest? I made some changes to the multitouch driver to better handle hotplug. This may not help if the overall touch isn’t working (like the fault with my Waveshare 5" DSI) but it may be worth retesting. These fixes are in oram-2502.1.

Regarding which screen to buy… I don’t have a recommendation for 7" as the last one I bought is not multitouch. (Multitouch gives many advantages in zynthian including gestures like pinch and two finger drag and also allows simultaneous adjustment of several mixer channels.) I am disillusioned with Waveshare. Their support is good but I feel they have lost their market lead (which affords them higher price point) by delivering so many flawed products whilst their, often cheaper competitors are providing screens that properly work. There have been recommendations in the forum before so take a search and maybe those with actual purchasing experience may respond here too.

Hi Brian,

I’m running this update but yesterday I turned back to my 5" display after getting stuck with the 7", but touch is still only working after re-plugging after boot.
Any suggestions what I can test/do. I can test this when I get back home this afternoon.

Thanks

I agree with you that waveshare seemed to be the safe choice but not anymore. The 7" inch (DSI) is multitouch and active after boot. But touch is about 15mm off and calibration is not working. (which is a bit weird)

I think I just try a 7" HDMI/USb screen, as long as I buy it from Amazon I can always return it.

DSI is a better option because it keeps all the display, touch and power on a single, internal cable. It has previously been more expensive for DSI interfaces but I have seen the price decrease over the past couple of years to make them very competitive.

Remember that if using RPi5 that zynthian currently only supports one of the DSI connectors (I don’t remember which) so if you are having display issues with DSI on RPi5 then do try the other connector.

I’m using a RPI4B so this is using only one connector, so there can’t be a mistake. I was also thinking that DSI was the better choice. But you say that it uses a single cable. Does this mean that the single flatcable is for power,touch and picture?
The Waveshare 7" inch I have needs also a 4 pin GPIO connection for power and sda/scl to work ??

I think for current RPis (>=3) DSI and GPIO power, but not SDA/SCL, simce this is included in DSI.


That was what I thought.

This is exactly the screen I have.
But it only works if I connect the 4 pin gpio connector cable (with sda,scl) next to the flatcable. (works but touch is off and can’t be calibrated)

I also had to add the following line to get the screen working:

dtoverlay=vc4-kms-dsi-waveshare-panel,7_0_inchC,i2c1

I would expect the waveshare 7" dsi preset would be working directly…

I have Waveshare 5" DSI which I connect with only a single DSI cable. No extra cables for power or I2C. All is carried over the DSI cable.

I have two, one connected to a RPi5 and the other to a RPi4:

Maybe dumb question, but did you state the native resolution in webconf anywhere?

(Please note I do not have a DSI screen and have no clue, but with my 8" HDMI waveshare I had to state the native resolution do have touch and display aligned).

Does something like this work?

dtoverlay=vc4-kms-v3d
#DSI1 Use
dtoverlay=vc4-kms-dsi-7inch

and enter the native resolution in the corresponding field?

Yes I have entered the native 1024*600 resolution. Presented picture is correct (but touch is off.

I also played around with different resolution
but thus only results in a wrong picture and touch is still off.

I will test you overlay setup

Check this also.

It might be the panel overlay has a wrong touch resolution stored. It has 800x480, while your display resolution is set to 1024x600.

Maybe if you configure 800x480 resolution and your touch is aligned then this might be the problem. The other way round the solution presented in the second last post might be fix it for the native resolution?

I not sure I understand you last message.

I have tried to set the resolution to 800*480 but then I get a wrong picture on the display (only a part in the left top) and touch is still off.

The second part of you remark I don’t understand wat you referring to ??
(not native English)

Is there a way to see the touch overlay resolution if this is different from touch screen resolution. (or can I manually set this or correct the touch offset??)

Sorry, here is also the end of my understanding. Someone who knows more about dtoverlays might chime in. But what I see is that the panel overlay for the 7 inch waveshare display seems to be written for the 800x480 version. Don’t know if you can state the touch panel resolution manually somehow.

Ok thanks for your support,
I hope somebody can ‘chime in’ that can shine some light on this …

Thanks !

Does the touch response get progressively worse as you move from one corner, i.e. it is good in one corner but bad in the diagonally oppostie corner and half as bad in the centre?

Does touch stop responding outside a particular window?

Hi, this is strange. The waveshare wiki says explicitly that only power and GND are needed: " Use the 2PIN power cable to connect the LCD power port to the 40PIN GPIO header of the Raspberry Pi."
I can’t even see a 4 pins connector on the display PCB.

To complete @riban last message, in webconf UI options check “enable cursor” and see how the pointer behave when you touch the display.

I did pay a lot of attention to that but I would say yes. This would indicatie a mis allignement between the screen resolution and then touch overlay resolution as mentioned in the previous messages.
I have to check when I get home. But I find it a
valid assumption this is the problem for now.
Now this brought up it pretty much looks like the touch is on 800x480 on a 1024x600 screen.

Yes I was in the assumption that only power was required. But the 4 cable is even included in the box.
I the have to see where I can check this cursor box.
At the moment the ‘mouse cursor’ is no moving on the 7" DSI panel.(touch is working)
On my 5 inch usb display the cursor is moving with the touch correctly. (but touch only works after re-plug after boot)

But I will check the cursor setting when I get home.

If you use the i2c1 option in your config then probably the screen expects to be connected to SDA/SCL. Otherwise probably not?

Params: 2_8_inch                2.8" 480x640
        3_4_inch                3.4" 800x800 round
        4_0_inch                4.0" 480x800
        4_0_inchC               4.0" 720x720
        7_0_inchC               7.0" C 1024x600
        7_9_inch                7.9" 400x1280
        8_0_inch                8.0" 1280x800
        10_1_inch               10.1" 1280x800
        11_9_inch               11.9" 320x1480
        i2c1                    Use i2c-1 with jumper wires from GPIOs 2&3
        disable_touch           Disable the touch controller
        rotation                Set the panel orientation property
        invx                    Touchscreen inverted x axis
        invy                    Touchscreen inverted y axis
        swapxy                  Touchscreen swapped x y axis
        dsi0                    Use DSI0 and i2c_csi_dsi0 (rather than
                                the default DSI1 and i2c_csi_dsi).

But other than the readme states to have a 1024x600 resolution defined in the overlay you read:

		7_0_inchC = <&panel>, "compatible=waveshare,7.0inch-c-panel",
				   <&touch>, "touchscreen-size-x:0=800",
				   <&touch>, "touchscreen-size-y:0=480";

EDIT: Sorry, you’re probably right, because you seem to have this display and not this.

So the correct config would be

dtoverlay=vc4-kms-v3d
#DSI1 Use
dtoverlay=vc4-kms-dsi-waveshare-panel,7_0_inchC,i2c1

But then the above display-panel resolution mismatch might be the problem?

By the way, the same issue was discussed here. Don’t know if these newer overlays could be added to zynthian-sys/custom/display overlays? I guess 7 inch waveshare DSI might be a configuration other people might head to as well.

(If anyone asked why I’m discussing the topic without knowing anything: I really wish you get the DSI to run, because I plan for myself to exchange my 8 inch hdmi with 8 inch DSI display to get rid of my externally connected “internal cables”)

You have to define the resolution in the hdmi_cvt or in hdmi_mode AND in Webconf Display Width and Height . With DSI screens, resolution may be defined in dtoverlay kms instead of the hdmi features. I’ve seen DSI screens running perfectly well with hdmi definitions, as DSI and HDMI ports seem to be two hams of the same pig. Schematics lacking here.