[PLUGIN] Touch Display

This is your config.txt?

### DO NOT EDIT THIS FILE ###
### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
initramfs volumeio.initrd
gpu_mem=128
gpu_mem_256=32
gpu_mem_512=32
gpu_mem_1024=128
max_usb_current=1
[pi5]
usb_max_current_enable=1
[all]
include volumeioconfig.txt
include userconfig.txt

Why is it like this:
initramfs volumeio.initrd
include volumeioconfig.txt ?
Shouldn’t it be like this?
initramfs volumio.initrd
include volumioconfig.txt

These are just my observations, maybe that’s how it should be?
Regards

Nice catch @Gelo5 , missed that :confused:

@GROMIK

Please perform a factory reset. Not sure what you have done or changes made to files, But it’s impossible to support you this way.

1 Like

So I decided to do this:

I’ll install Volumio beta version 4.015, then

,cd ~
wget https://community.volumio.com/uploads/short-url/rOCwRS6008AMhAZXZ7Tz6k3UfAX.zip
miniunzip rOCwRS6008AMhAZXZ7Tz6k3UfAX.zip
rm rOCwRS6008AMhAZXZ7Tz6k3UfAX.zip
sudo cp vc4-kms-dsi-waveshare-panel-v2.dtbo /boot/overlays/

Next, I’ll create the userconfig.txt file.

I just have a question: what should I enter in the userconfig.txt file?

Bookworm already has this overlay so you don’t need to download it.
/boot/userconfig.txt :
dtoverlay=vc4-kms-dsi-waveshare-panel-v2

Let’s first see if there is a boot logo.

So, little progress.
Volumio beta installed. 4.015
Successfully installed the Touch ver.3.5.5 display plugin.

userconfig.
/boot/userconfig.txt:
dtoverlay=vc4-kms-dsi-waveshare-panel-v2
Result

The screen lights up, but still no boot log.
Touch also works, as the screen wakes up when tapped.

@gvolt

Any suggestions?

You can try to add

display_auto_detect=0

at the beginning of “/boot/userconfig.txt” so that the automatic loading of overlays for detected DSI displays is disabled.

BTW: Is the file “vc4-kms-dsi-waveshare-panel-v2.dtbo” in “/boot/overlays” the one that was pre-installed by Volumio, or is it the one you created yourself? At least for the overlay which was built from Waveshare’s sources according to Waveshare’s WIKI on a Pi5 the entry in “/boot/userconfig.txt” might have to read

dtoverlay=vc4-kms-dsi-waveshare-panel-v2,12_3_inch_a_4lane

respectively

dtoverlay=vc4-kms-dsi-waveshare-panel-v2,12_3_inch_a_4lane,dsi0

in case the display is connected to DSI0.

I just saw that the overlay version from raspberrypi’s firmware repo also requires specifying the display like “12_3_inch_a_4lane” (see firmware/boot/overlays/README at 65f156cec118dee17a7a031be3dbfc2fb16d0d44 · raspberrypi/firmware · GitHub) - and that it seemingly does not support the 12.3 inch display. So you might have to use the overlay file which was built from Waveshare’s sources.

So the ‘dtbo’ file is preinstalled with Volumio.
The screen is connected to DSI port 1.

Indeed, there’s no 12.3 there.

I think it’ll be a problem because I don’t know if I’ll be able to do it.

I’m a beginner.

I will try to install it with Waveshare, following the instructions on their website, do you have any other suggestions?

Currently no. Just keep in mind that the Waveshare WIKI says in the paragraph about creating the overlay:

This method is only applicable to 64-bit systems.

IIRC Volumio images for Pi are 32bit.

I have a Pi 5, it says it’s 64bit

Ah, yes, then give it a try.

Hey @GROMIK,

Thanks for staying patient through all of this. A few things in the thread need correcting and clarifying for everyone’s benefit:

1. Display model clarification
You’re working with the Waveshare 12.3" DSI Touch A (4-lane) display. Waveshare provides a tailored Raspberry Pi OS image specifically for this model, which includes:

  • A custom .dtbo overlay with the 12_3_inch_a_4lane identifier
  • A kernel ahead of Raspberry Pi OS stable
  • Possibly other firmware or userspace tweaks

This image works because it’s custom-built and controlled end-to-end. It is not a generic overlay that works out-of-the-box on other systems like Volumio.

2. The myth of “Latest” Volumio
You mention you’re using the “latest” Volumio version. That’s an interesting release label.

I have reviewed:

And I still cannot locate a release named “latest”. If you’re sitting on some exclusive build from the future, kindly share your GitHub remote, build script, and maybe a commit hash for the rest of us mere mortals.

3. Overlay reference and kernel confusion
The overlay reference being thrown around points to the Raspberry Pi firmware repo, but it targets kernel 6.12.36.

A few facts:

  • Kernel 6.12.36 is not tagged stable
  • It is not shipped in Raspberry Pi OS, and
  • It is not part of any public Volumio image

Volumio v4.015, released 05 July 2025, runs kernel 6.12.27. This version does not include the overlay for 12_3_inch_a_4lane.

Referencing kernel 6.12.36 as if it’s standard is misleading. If someone compiled it manually for testing, that’s fine, but please do not present it as officially supported. It is not.

4. Volumio v4.016 Preview
The upcoming v4.016 weekly build includes kernel 6.12.34, which is the latest officially tagged kernel from Raspberry Pi.

However: this version also does not include DSI overlay support for the Waveshare 12.3" panel by name. So unless Waveshare’s .dtbo is injected externally or compiled from source, there will still be no boot display on Volumio.

5. 64-bit misunderstanding
There’s a recurring misunderstanding in this thread about what qualifies as a 64-bit system.

Yes, the Raspberry Pi 5 runs a 64-bit kernel, and uname -m will reflect that (aarch64). However:

  • Volumio’s userland is still 32-bit (armhf).
  • All native libraries and binaries are compiled for 32-bit.
  • The presence of a 64-bit kernel does not make the OS “64-bit” in userland.

If you truly need a 64-bit userland system (arm64), you are looking at something like Raspberry Pi OS 64-bit Bookworm, Trixie, or later - and Volumio does not yet provide arm64 builds.

So when Waveshare says “only supports 64-bit system”, they likely mean both 64-bit kernel and 64-bit userland, which Volumio is not.


Conclusion
Volumio Bookworm (v4.x) is rapidly evolving and supports modern hardware like the Pi 5 well - but custom display overlays like this Waveshare 12.3" still require out-of-tree integration.

If anyone has a .dtbo compiled against kernel 6.12.27 or 6.12.34 that works with this screen, please consider sharing it to help others save time and confusion.

Kind Regards,

2 Likes

Good morning,
I received a message from Waveshare that they will start working on integrating the 12.3 DSI screen with Volumio soon.

It seems that Volumio 4.014+ and Touch Display plugin 3.5.5 do not like each other. Volumio 4.012 and plugin 3.5.5 works, Volumio 4.014+ and plugin 3.5.4 works, but Volumio 4.014-4.016 and plugin 3.5.5 - screen lights (and stand) up, but does not show info. Screen 3.5 MPI3501. Works without issues with Volumio 4x and plugin 3.5.2 and up. What I have to change?
Thanx.

Config.zip (2.6 KB)

@VictorDUA

Had the same struggle with this screen (or similar) after upgrading to V4.015. Finally I preformed a factory reset and used the following:
I used this overlay, copy it to /boot/overlays
waveshare35a.zip (1.1 KB)

nano /boot/userconfig.txt

dtoverlay=vc4-kms-v3d
dtoverlay=waveshare35a:rotate=270,speed=41000000,fps=50
display_auto_detect=1

#### Touch Display rotation setting below: do not alter ####
display_lcd_rotate=1
display_hdmi_rotate=1

reboot, install “Touch Display” plugin, and don’t enable it yet.

run:

sudo apt-get -y install xserver-xorg-video-fbturbo
sudo apt-get -y install xserver-xorg-input-evdev
sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo curl -L https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-calibration.conf-35-0 -o /etc/X11/xorg.conf.d/99-calibration.conf
sudo curl -L https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-fbturbo.conf -o /usr/share/X11/xorg.conf.d/99-fbturbo.conf
sudo sed 's/"fbturbo"/"fbdev"/' -i /usr/share/X11/xorg.conf.d/99-fbturbo.conf
sudo sed 's/fb1/fb0/' -i /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Enable “Touch Display”

image

If you have a different one as MPI3501 comes in many flavors, you might try to add dtoverlay=vc4-kms-v3d to your current /boot/userconfig.txt.

Thanx, but it’s all do not work. This driver doesn’t suit me. And installing it doesn’t change anything. What do you think dtoverlay=vc4-kms-v3d does?
By the way, your image is poor quality. Try choosing another driver.

It loads a DTO to enable VC4 KMS, which apparently is needed again since V4.015.
Since I am not using this screen to get a wealth of graphics, it just to enable PeppyMeterBasic on the system. This is the only driver that supports a proper response.