Waveshare 3.5inch LCD RPI (B) rev2.0 on RPI3B+ for Volumio


I tried for days to install a Waveshare 3.5inch RPI LCD (B) rev2.0 on a RPI3B+, now with success.
Don´t find any guide here nor the web to install and set this hardware. So, as an absolutely Linux noob,
I wrote a script, don´t know if all commands in it are needed, but it works for me, hope it helps anyone.
Please report if I have to change anything.


Complete Volumio + RPI3B+ + Waveshare 3.5inch RPI LCD (B) Rev2.0 installation guide:

  1. Download (sorry no links because of forum newbie restriction max 2 links :roll_eyes:)
  • Volumio image
  • W32 Disk Imager
  • ws-35b-v2.sh
  1. Prepare SD-Card:
  • Write Volumio image using W32 Disk Imager,
  • Copy ws-35b-v2.sh on base directory of SD-Card.
  • Put prepared SD into RPI and power it up, headless: wait stop blinking green LED.
  1. Access WEB UI:
  • a) If LAN connection: type volumio.local in web browser. >> Go to step 4.

  • b) If WIFI connection only: take your smartphone, go to WIFI settings, disconnect from actual Network.

  • Connect to "Volumio"s own Hotspot, you are automatically forwarded to Volumios Web Interface.

  • If not, type Volumio initial IP in smartphone web browser, perform Network/WIFI settings.

  • RPI reboots automatically, smartphone loose volumio Network connection, reconnect phone to your home network.

  • Go to modem router, find out and pick up volumios new IP address.

  • Type IP address in Smartphone or PC web browser, in example

  1. Prepare LCD Touch
  • with smartphone or PC web browser, go to Volumios WEB UI
  • Go to Settings > Plugins Manager > Miscellanea, install “Touch Display Plugin” it takes about 5 minutes
  • Activate plugin, the display is not working for now.
  1. Run ws-35b-v2.sh script
  • type /dev at th end of volumios address, for LAN: volumio.local/dev, WIFI: in this example
  • For SSH rights click on SSH “ENABLE” button, nothing happens but you have already SSH
  • Run PuTTY, login as: volumio, password: volumio. Type (or copy and right click in PuTTY window) following command:

sudo sh /boot/ws-35b-v2.sh,

  • password: volumio

If succes, RPI is rebooting itself, after reboot the display is now working, enjoy.



Thanks for this,
This guide might work also with rpi4?

Hi Lintbf,
can´t say because I don´t have RPI4 for testing it.
But I think it´s the same install procedure.
Do You want to try it out and report here?

I will be glad to do so but I do not have a lcd…

The guide from waveshare is quite complete…
Anyway nice work. It works with Pi4 like a charm…
I have the same screen and did another project…

Hi noiro, thanks for testing it on RPI4

I know this site but waveshare only offers 2 installation methods,

  • first, to run LCD35B-show-V2 script that is killing your volumio installation,
    I tried it a few time,
  • second, a 7.9 Gig. ready-to-use-image.

calibration.conf file from waveshare git hub, especially for 3.5 B V2,
needs a little modification that works for volumio, userconfig.txt too,
no indication of this on this website, quite frustrating for a beginner like me.

Nice projects, want get a closer look…

ws-35b-v2.sh is not avalible now (
Can U make a new link please?
Thank you!

Hi, sorry,

here it is >> ws-35b-v2.sh <<

I tried to get my Waveshare display running but unfortunately it doesn’t…
Don’t know why.

1 Like

In case you are not just reporting but looking for help, some more details would be required :wink:

  1. What Pi model are you using?
  2. What is the exact model name of the screen?
  3. What steps have been taken in detail in order to install the screen (hardware connections and software installation)?
  4. Is the display lit or at least its backlight?

Also connect to Volumio via SSH and post the results of

cat /boot/config.txt

cat /boot/userconfig.txt
systemctl status -l volumio-kiosk.service


More or less Igave up😊
But I will sent you the information this weekend.

It’s a 4’’ wave screen. Raspi 3b+, latest volimio image.
Already tried it a dozen time, all kinds of scripts, internet manuals. But maybe you can help.
The sreen is lit. Yes sometimes I see Volumio shattered.

Will be back,


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


initramfs volumio.initrd

include userconfig.txt

● volumio-kiosk.service - Volumio Kiosk
Loaded: loaded (/lib/systemd/system/volumio-kiosk.service; disabled)
Active: failed (Result: exit-code) since Fri 2021-05-14 14:22:24 UTC; 2min 42 s ago
Process: 1293 ExecStart=/usr/bin/startx /etc/X11/Xsession /opt/volumiokiosk.sh – -nocursor (code=exited, status=1/FAILURE)
Main PID: 1293 (code=exited, status=1/FAILURE)

May 14 14:22:02 volumio pulseaudio[1492]: Unable to contact D-Bus: org.freedeskt op.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch terminated abnormally witho ut any error message
May 14 14:22:02 volumio pulseaudio[1492]: Unable to contact D-Bus: org.freedeskt op.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch terminated abnormally witho ut any error message
May 14 14:22:02 volumio pulseaudio[1492]: org.bluez.Manager.GetProperties() fail ed: org.freedesktop.DBus.Error.UnknownMethod: Method “GetProperties” with signat ure “” on interface “org.bluez.Manager” doesn’t exist
May 14 14:22:23 volumio systemd[1]: Stopping Volumio Kiosk…
May 14 14:22:23 volumio startx[1293]: xinit: connection to X server lost
May 14 14:22:24 volumio startx[1293]: waiting for X server to shut down (II) Ser ver terminated successfully (0). Closing log file.
May 14 14:22:24 volumio startx[1293]: xinit: unexpected signal 15
May 14 14:22:24 volumio systemd[1]: volumio-kiosk.service: main process exited, code=exited, status=1/FAILURE
May 14 14:22:24 volumio systemd[1]: Stopped Volumio Kiosk.
May 14 14:22:24 volumio systemd[1]: Unit volumio-kiosk.service entered failed st ate.

I started all over again and did exacty the steps from your topic.
Latest Volumio image, lit is on.
thers is something on the screen but shattered.

Looks strange, but could be wrong overlay here:

I would need the exact model name of the screen please.

Additionally please post the result of

chromium-browser version

From your picture the screen looks like a Waveshare 4inch HDMI LCD.

If that should be correct remove


from “/boot/userconfig.txt” but add the following lines:

hdmi_timings=480 0 40 10 80 800 0 13 3 32 0 0 0 60 0 32000000 3

Edit “/etc/X11/xorg.conf.d/99-calibration.conf”:

sudo nano /etc/X11/xorg.conf.d/99-calibration.conf

Substitute its content with

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "172 3950 3871 194"
        Option  "SwapAxes"      "0"

Save the file with Ctrl+x, y and Enter.


The steps above will have no impact on your second issue that the UI is not shown. So after rebooting you will only see the command line login again.

After we have managed the UI to start you need to check if touch is misaligned to the (visual) display. If so “99-calibration.conf” will need changes.

Thanks, yes it is working.
I almost got this myself but I made a typo somewhere.

I have the command line, how do I get Volumio starting ?
Is this somewhere discussed?

Many, many thanks!!

Please post the result of

chromium-browser version

chromium-browser version
/usr/bin/chromium-browser: line 138: lsb_release: command not found
/usr/bin/chromium-browser: line 139: lsb_release: command not found
bootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file! errno=2
[1:1:0514/165147.471640:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes)
[2266:2266:0514/165147.545955:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode.
[2266:2266:0514/165147.638681:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display:

That’s what I suspected: chromium has not been installed (properly). Easiest to try would be uninstalling the touch display plugin and re-installing it. You might watch the installing process for errors in a terminal with

journalctl -f --no-tail

Installing respectively downloading chromium fails from time to time for various reasons. One reason could be too less space on your SD card. After setting up Volumio did you wait so the file system could expand?

If that should not have been the case and disk space should be too low you could create a file “boot/resize-volumio-datapart” with

touch /boot/resize-volumio-datapart

and reboot before re-installing the plugin. Then the data partition will get expanded to its maximum size.

Before re-installing I did touch /boot/resize-volumio-datapart
Now reinstall.

Also saw short: error connecting XserverScreen Shot 05-14-21 at 08.01 PM

Did you reboot after that and before re-installing?

Did you watch the log during re-installing?