I have a Waveshare DSI screen which occasionally fails to enable its touch. It remains in this state until repowered, at which point there is a chance it will correct or fail. The touch device appears to be present. I had wondered if there is a reset that is not being applied but maybe the driver is not working until some time after power-up. It sounds like a similar issue to the USB except it is more challenging to reset the DSI interface. (You are not supposed to replug DSI when powered.) This is already captured in the issue tracker as issue 1097. I will add my findings there.
Riban you can send this command from webconf, terminal, to reset your DSI lcd:
You can turn on/off the display by the following commands.
vcgencmd display_power 0
vcgencmd display_power 1
I know itās brutal, but maybe works, for your problem.
Command display_power
is not available. That command returns error:
error=1 error_msg="Command not registered"
Do you use bookworm?
Maybe try this:
wlr-randr --output HDMI-A-1 --off
wlr-randr --output HDMI-A-1 --on
Yes, zynthian Oram is based on Debian 12 Bookworm 64-bit.
wlr-randr
is not installed in zynthian but I wonder whether such a command would have any impact on the touch interface of the DSI attached display (not HDMI output).
[Edit] Also, wlr-randr controls Wayland compositor. zynthian uses X and not Wayland.
Hi Riban,
Maybe this command can work:
xrandr --output DSI-1 --off
xrandr --output DSI-1 --on
Or
DISPLAY=:0 xrandr --output LVDS-1 --preferred
DISPLAY=:0 xrandr --output LVDS-1 --off
DISPLAY=:0 xrandr --output LVDS-1 --auto
DISPLAY=:0 xrandr --output DSI-2 ...
controls the DSI display. (I must be plugged into the second DSI port. I havenāt managed to reproduce the lack of touch in the past day so cannot say whether this fixes that issue. Frustrating that it does wrong for long periods then works okay for long periods. When it reoccurs, I will try this suggestion.
[Edit] It just went wrong. I tried the xrandr commands. Unsurprisingly, it did not fix the touch issue. Touch detection is quite separate to display size & orientation that xrandr controls.
I suspect an issue with the driver not being loaded properly. Replugging USB triggers udev rules to associate the driver but I havenāt found similar mechanism for DSI.
Ideally we find a way to detect the failure and a way to reset and make it work. With USB that could be relatively simple by resetting the USB port but it may be more robust / scalable if we can fix the driver issue.
Hi @giandeejay !
Is this your display? AFAIK, itās the only Waveshare 10.1 with 1920 pixels:
I see they recommend this settings:
hdmi_group=2
hdmi_mode=68
Regards,
Yes but Zynthian interface cannot support 1920x1080p (it reduce dramatically the screen without fitting it), for now best resolution is 1024x600 (on my 10.1 touchscreen)ā¦
Or 1920x1080p with 8px margin left and right and overscan on.
But font size must be 24px.
Instead if I set
Hdmi_cvt 1024 600 60 3 0 0 0
Works fine with text of 16px (default)
Hi, I try to correct also my USB 10.1 touchscreen, the problem of bad connection of USB touch monitor happens during loading X server (zynthian oram).
Infact if I deconnect and reconnect the USB cable of display it works,
but if I restart only the zynthian GUI (for example to change font size), the USB touch problem return same.
So not only during reboot, or booting first timeā¦but also during exit in terminal from zynthian GUI.
Ps: my usb touch monitor has no problem with other os like Raspbian Bookworm, Retropie, Volumio, Moode Audio, and so onā¦ only with Zynthian Oram, so I think zynthian OS miss something of very important.
Hdmi_mode=68
Means 1920x1200 ā¦
As I stated in the issue, I wonder if this behavior is not related To the zyncoder lib initialization wich may reset the i2c link.
I know, but I canāt see any solution postedā¦
The only solution is to plug and unplug the usb touchscreen ?