Raspberry pi 5 and waveshare 7.9 inch touch screen issue

Volumio 3 Issues?

Please see: Volumio 3 issues: hints and solutions before posting a new issue.
(You’ll need to cut and paste the link)

Hi devs and everyone!

Has anyone here same with my problem with 7.9 inch lcd touchscreen from waveshare my display always show like this in every bootup. Also, after i switch the sd card to boot up the other os such desktop rpi. It show the volumio mark bootup screen from the desktop display.

I only did is flashed the new os of VERSION: 3.832 RELEASE DATE: 26-07-2025

And boot it up to my raspberry pi 5

I’d add a line like these in the nano /boot/userconfig.txt these lines
hdmi_group=2
hdmi_mode=87
hdmi_timings=400 0 100 10 140 1280 10 20 20 2 0 0 0 60 0 43000000 3

As per waveshare wiki.

I hope someone will help me with this.

Thank you,

Try

I’d tried this. It works to rotate the display but the display like that is always shown in every boot up/restart.

Hey @Edrian_Lois_Villanue,

Please provide:

  • Exact panel model code and the Waveshare wiki link for that model.
  • Target orientation you want on Volumio 3: 0, 90, 180, or 270.
  • Full contents of /boot/userconfig.txt as it is now.
  • Full contents of /boot/cmdline.txt as it is now.
  • Which HDMI port on the Pi 5 is used: HDMI-0 or HDMI-1.
  • Whether any other display is connected at boot: yes or no.
  • Does the banding persist after the Volumio UI is fully up, or only during early boot.
  • A Volumio log link collected via http://<volumio_IP>/dev and paste the URL here.

With those facts I will derive the exact cmdline needed for Buster on Pi 5 for this 400x1280 portrait panel and confirm if anything must remain in userconfig.txt vs cmdline.txt.

Kind Regards,

1 Like

Hi @nerd ,
Thank you for your respond, Here are the details as per your request.

https://www.waveshare.com/wiki/7.9inch_HDMI_LCD

= 270

Add your custom config.txt options to this file, which will be preserved duri$

max_usb_current=1
max_framebuffer_height=1280
hdmi_group=2
hdmi_mode=87
hdmi_timings=400 0 100 10 140 1280 10 20 20 2 0 0 0 60 0 43000000 3

Touch Display rotation setting below: do not alter

display_lcd_rotate=3
display_hdmi_rotate=3

= splash plymouth.ignore-serial-consoles dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_ena$

= HDMI-0 (near usb-c)

for Volumio : No for Kodi Hdmi-1 will be connected to TV

= Only during early boot

= http://logs.volumio.org/volumio/Fa56LUG.html

Regards,

Hey @Edrian_Lois_Villanue,

Looking at your logs and configs, the Waveshare 7.9 panel is actually working – the scrambled view you see during early boot is simply because only part of the Waveshare wiki instructions were applied. You set the hdmi_timings in userconfig.txt, but skipped the console requirement. Without that, the Pi outputs its default safe-mode framebuffer until the UI stack loads, which explains the stripes.

On Volumio 3 (Buster) the correct setup is:

/boot/cmdline.txt (single line - add at the very end)

fbcon=rotate:3 video=HDMI-A-1:400x1280M@60,rotate=270
  • fbcon=rotate:3 rotates the framebuffer console so boot splash and early text are upright.
  • video=HDMI-A-1:400x1280M@60,rotate=270 forces the HDMI-0 output into the right resolution and orientation from the very first signal, preventing the scrambled frames.

This combination matches the Waveshare wiki guidance for non-desktop (lite) setups, but adapted correctly for Volumio 3 on Pi5.

Kind Regards,

Didn’t see this topic before.
I have the same screen, and I found it to be very problematic on the rpi5.
The delivered HDMI plug, causes a lot of issues, so needed to replace it with a cable Same goes for the touch USB plug, it doesn’t fit well and causes stress of the ports, so also replaced that with a cable.
On boots, it didn’t always work. Sometimes it booted successfully, next boot only a backlight. I finally gave up and used the screen on a rPi4 only, on which it works flawless.

Hi @nerd ,
thank you again for reaching my concerns. unforfunately, the issue still persist after add this line to the very end of cmdline.
image

Regards,

Hey @Edrian_Lois_Villanue,

Your /boot/cmdline.txt is formatted correctly as a single line, so the syntax is not the issue. The open question is whether the Pi 5 kernel in Volumio 3 (Buster) actually enumerates your connector as HDMI-A-1. If that mapping is wrong, the video=HDMI-A-1:400x1280M@60,rotate=270 parameter will be ignored silently.

You can confirm the enumeration with:

dmesg | grep DRM
cat /sys/class/drm/*/status

Look for entries like HDMI-A-1 connected or HDMI-A-0 connected. Use that exact name in the video= parameter.

If the port name is correct and it still does not rotate, then this is most likely the limitation of Buster’s FKMS/legacy stack: it simply does not honor video=... rotate=... the way the Waveshare wiki shows. In that case you are at the end of the road on Volumio 3.

The only reliable rotation path on Buster remains:

  • display_hdmi_rotate=3 in userconfig.txt
  • fbcon=rotate:3 in cmdline.txt

If you want the full video=... rotate=270 behavior from the very first frame, you will need to test on Volumio 4.xxx (Bookworm Beta) where the kernel uses KMS and this syntax is supported.

Kind Regards,

Alright! If things not working after many tries. Maybe should i try the bookworm.

Thank you

I have an unbranded clone of the 7.9" landscape touchscreen.

On my Pi5 I just load the vc4-kms-v3d overlay and set the touch screeen orientation. However, the display timing is not correct until the overlay loads and so I have given up on seeing the pre-boot volumio logo. Plays havoc with my OCD but practically speaking I rarely power off my volumio player. Using the vc4-kms driver the dpms function works and the screen. saver powers down the display.

My Pi4 does not support the display with the vc4-kms overlay and I set the timing manually. The volumio preboot logo works but dpms is disabled, so the screen saver blanks the display but does not power it off. I wrote a small C++ service which uses a timer interrupt to call vcgencmd to power down the display aftwr the player has been stopped for 30 minutes, and powers back up when the player is started remotely.

Let me know if you would like to see config settings.

Hi Mattsuk! Appreciate your effort to work with lcd. Sure, can you share eith me the extra c++ code youd used. For volumio logo to appear in the right position.