Waveshare DSI LCD displays

You also need to install (and enable :wink:) the Touch Display plugin from the plugin store. You find the plugin in the category “User Interface”.

I did.

This is what I did

With the Touch Display plugin enabled run

systemctl status -l volumio-kiosk.service

and post the output, please.

2 Likes

IMG_4524

I really need help with this.

I have exactly the same screen and I’m having issues. Could you help me? I’m a newb.

Hi,

i am struggeling to get my Display to work. Damn, I bought a
1280x800 DSI 8" https://www.waveshare.com/wiki/8inch_DSI_LCD_(C)
Display from Waveshare (i had good experiance with a, I think, 4" DSI Display. So I didnt expect problems using another Display from them)

On Github there are only a few kernel versions supported:

As i read here, some ppl started to implement the driver directly - but for kernel version >6.1??

Any ideas what would be the best way to move on? Building an own volumio-os image? But how can a define a specific kernel version (Waveshare e.g. supports 5.10.103)

Edit: Using Google and the Kernel Version → i will give it a try:

1 Like

You should try asking Waveshare support if they can give you the driver for the kernel version you need.

Hi,

i sent a mail to waveshare and it took… 15? Minutes until they replied. Cool!

But, they just sent me the driver from this post. I give it a try and i choose the 10.1 inch settings because this display has the same resolution like my one.

I also compiled the 5.10.103 Version on VOlumio:

  • in both cases the Display works fine (of course the self compiled doenst support myVolumio and I have to install the plugins manually

But: On both ways the touchscreen seems like… How to describe: Is moving too fast. Like the resolution is half the screen resolution. So if i press in the xy 0/0 corner → the cursor is 0/0. If i press in the middle (640/400) the cursor is at the the far right/upper corner at 1280/800

Any ideas?
I will install the waveshare image to see if it works and if i can manage to find the right settings

Greeteings
Etlam

Hi,

I’m running Volumio on the Waveshare DSI 8 inch screen with 1280x800 resolution. I really wanted a larger screen than the Waveshare 4.3 DSI I was using. I purchased the larger screen thinking this is going to be simple but I was wrong.

I found this here and enlisted the help from my son. We used the final guide from Mark Bastard up to a point. We did not have to rotate the screen as it was oriented in the correct way at startup and wanted the touch screen usable. We used the 10.1 inch screen size in the setup for the same resolution as the 8 inch .

This worked however the touch screen was rotated 90 degrees, but in using Lyzards suggestion in a following post right after the Guide to add “dtoverlay=WS_xinchDSI_Touch,invertedx,swappedxy” in userconfig.txt that was corrected.

Volumio version 3.512 and Touch Display version3.3.7 running on a Pi4B with a R19 digital out hat. No other plugins or hardware in use.

Thank you for the information here

That’s great! I been trying to install my DSI 11.9 inches Waveshare but I don’t know what I’m doing wrong. I followed all the steps but when it comes down to copy the drivers I think I’m not copying them to the right place, because when I do the installation it always says this file doesn’t need to be added because already is installed. I need help.

Hello. I have a request for clarification.
I’m trying to install drivers for 11.9. I don’t know what I’m doing wrong?
For example, should I paste the entire entry “scp /path/to/unzipped/files/* volumio@your.volumio.ip.address:~” Do I have to enter my IP address?
Driver file uploaded directly to FileZilla?
Can I ask for a step-by-step description?

  1. Install Volumio and Touch Display Plugin
  2. Enable SSH in http://volumio.local/dev
  3. Use SSH file transfer (e.g WinSCP) to copy unizpped folder to RPI
  4. Use SSH (e.g. PuTTY) to open terminal
  5. Go to just coppied folder (in step 3) using: cd /location_of_folder/folder_iself/
  6. sudo bash ./WS_xinchDSI_MAIN.sh 7_9inch I2C0
  7. sudo reboot

I follow the steps in the tips and still have a black screen. I change the value 7,9 to 11,9
With the commands as above, it displays that the driver is installed and does not install a new one. A clean system rebuilt

SUCCESS. I INSTALLED THE OLDER TOUCH DISPLAY PLUG-IN. AND IT STARTED! WOW THANKS

Hi!
Which version Touch Display Plugin works for you?

I also have a problem with LCD 11.9 dsi on rpi4 after the last volumio update.
Previously everything worked: driver 5.10.92-32-mod.V1 and Peppymeter version 1.3.0.
I tried reinstalling them but it doesn’t help. Finally, I installed Volumio again and even the driver doesn’t work, the screen is black.
During installation I get:
volumio@volumio:~/DSI$ sudo bash ./WS_xinchDSI_MAIN.sh 11_9inch I2C0
SCREEN_TYPE: 2_8inch 4inch 7inch 9inch 10_1inch 7_9inch 11_9inch
I2C_TYPE: I2C0 I2C1
SCREEN_type=6,I2C_bus=10
The raspberry PI hardware platform is pi4
Driver Start Settings
modprobe: ERROR: could not insert ‘WS_xinchDSI_Touch’: Exec format error
modprobe: ERROR: could not insert ‘WS_xinchDSI_Screen’: Exec format error
Driver end Settings

Does anyone have an idea what to do?

@Jan_Kuz it seems that it is kernel problem… Quick solution is to use previous version of Volumio that drivers worked with. Otherwise you need new drivers from Waveshare for the new kernel version. :man_shrugging:

you’re doing nothing wrong, simply the scripts from Waveshare website are not meant to be used in Volumio, so they won’t work.

the latest images with kernel 6.1.x already have the required drivers installed, reworked by the Raspberry Pi team. Please start with a clean image, without running any external script.

you must add the following lines to userconfig.txt

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,<param>=<val>

here an extract from the overlays readme, with all the parameters

Name:   vc4-kms-dsi-waveshare-panel
Info:   Enable a Waveshare DSI touchscreen
        Includes the Goodix driver for the touchscreen element.
        The default is for the display to be using the I2C0 option for control.
        Use the i2c1 override if using the I2C1 wiring with jumper wires from
        GPIOs 2&3 (pins 3&5).
        invx/invy/swapxy should be used with caution as the panel specifier will
        set the default inversions for that panel. Always use them after the
        panel specifier, and be aware that you may need to set them as =0, not
        just adding it.
        Requires vc4-kms-v3d to be loaded.
Load:   dtoverlay=vc4-kms-dsi-waveshare-panel,<param>=<val>
Params: 2_8_inch                2.8" 480x640
        3_4_inch                3.4" 800x800 round
        4_0_inch                4.0" 480x800
        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).

you must replace the = with the model of your display.

For example, if your display is the 11.9 inches, this is the line:

dtoverlay=vc4-kms-dsi-waveshare-panel,11_9_inch

it could be required to add additional parameters from the list I posted before, I don’t have that model so I can’t help you further

1 Like

Thank you so much Darmur. I had been using old volumio versions just because of this.

Can you also point me in the right direction re touch input.

It needs to be rotated 270degrees but
dtoverlay=WS_xinchDSI_Touch,invertedx,swappedxy
in the userconfig.txt does not do anything.

Many thanks

this is the overlay of the custom Waweshare drivers, you must use the overlay I mentioned before

please read carefully my previous post, all the details are mentioned already

yes, I realized but i am a noob… but both

dtoverlay=vc4-kms-dsi-waveshare-panel,invx
dtoverlay=vc4-kms-dsi-waveshare-panel,swapxy

and
dtoverlay=vc4-kms-dsi-waveshare-panel,rotate=90

failed.

any advise.
thank you

you must specify the model of the display, then the additional parameters after coma.

the syntax for the parameters is reported in the extract of the overlay readme.

for example:

dtoverlay=vc4-kms-dsi-waveshare-panel,7_9_inch,invx=0,invy=0,swapxy=0

you must replace the part highlighted in bold according to the display you want to use
the invx, invy, swapxy parameters must be tested as well, maybe you need only one or two of them

I don’t know the model of your display, so I can’t give the copy/paste string

1 Like