Volumio 4 local HDMI display behavior with non-standard bar displays (works on Pi OS, not on Volumio 4)

Hi everyone,

I’m looking for guidance or confirmation around local HDMI display support in Volumio 4, specifically with non-standard / bar-type HDMI panels.

Background / context

This is part of a long-term, integrated build, not a bench test.
• Raspberry Pi 4
• Custom chassis with internal power supplies and DAC
• Historically ran Volumio 2.x with a different (non-Waveshare) local display, which worked reliably using Volumio’s older display driver

I’m now attempting to migrate the system forward to Volumio 4.x and a new display.

Current display under test
• Waveshare 8.8” HDMI IPS bar display
• Native resolution: 480×1920 (portrait)
• Connected via HDMI to the port closest to USB-C power
• Panel confirmed working on:
• Raspberry Pi OS
• macOS
• Windows

What works
• Display functions perfectly on Raspberry Pi OS
• Panel, cable, and power are all confirmed good

What does not work
• On Volumio 4.x, the display never lights:
• no backlight
• no flicker
• no partial image

What I’ve tested on Volumio 4

I’ve tried to rule out configuration issues thoroughly:
• Clean /boot/cmdline.txt (no video= or drm.edid_firmware= overrides)
• Firmware HDMI configuration via /boot/userconfig.txt
• Both KMS and FKMS (vc4-kms-v3d and vc4-fkms-v3d)
• Firmware EDID injection (hdmi_edid_file=1 using EDID extracted from Pi OS)
• Kernel EDID override (drm.edid_firmware)
• Standard DMT modes (e.g. 1280×480)
• Custom HDMI timings (1920×480 @ 60 Hz)
• Correct HDMI port targeting confirmed

Under FKMS, Volumio reports:
• /sys/class/drm/card1-HDMI-A-1 → connected
• modes reports FIXED_MODE 1920x480
• Firmware config confirms HDMI forcing and timings are applied

Despite this, the panel never lights on Volumio 4.

Observation

This feels less like an EDID or timing issue and more like a change in Volumio 4’s display initialization behavior compared to Volumio 2 — possibly that the framebuffer is never committed for non-standard HDMI panels, even when DRM reports a valid mode.

Question

Is local HDMI output for non-standard / portrait / bar-type displays still expected to work in Volumio 4?
• Is this a known limitation or regression?
• Is there an officially supported path for local displays beyond standard landscape monitors?
• Or should Volumio 4 be considered effectively headless except for conventional displays?

Happy to provide logs or test further if helpful — I mainly want to understand whether this is something I should keep pursuing or treat as unsupported going forward.

Hopefully, I am not posting this in the wrong spot, as I usually do!

Thanks,
John

Hi everyone — just wanted to follow up on my earlier post, since I eventually got this working and figured it might help others going down a similar path.

After a lot of testing, this turned out not to be an HDMI timing or EDID problem, even though that’s where I initially spent most of my time (and where things worked in older Volumio versions).

What finally made the difference on Volumio 4 was going back to using the Touch Display plugin, and then pairing it with the Now Playing plugin, instead of trying to force the display at the kernel or firmware level.

Once the Touch Display plugin was installed and allowed to bring up X/Chromium, the Waveshare 8.8” panel lit up normally under Volumio 4. Rotation was handled at the plug-in level (not via video= or custom timings), and after that, the display behaved like any other local kiosk screen.

As expected, the Now Playing plugin worked. With a bit of tweaking to margins and spacing, I was able to tune the Now Playing screen for a 480×1920 bar display and get it very close to how my older Volumio 2 setup looked.

The main takeaway for me was that Volumio 4 seems to have moved the “supported path” for local displays up the stack:
• not kernel HDMI forcing
• not EDID overrides
• but letting the Touch Display plugin initialize the display and manage it through X

Once I stopped fighting and used the plugin-based approach, everything fell into place.

At this point:
• cold boots are reliable
• the display comes up consistently
• orientation is correct
• playback and high-res streaming work normally

Hopefully, this helps anyone else trying to run non-standard or bar-style HDMI panels on Volumio 4. It can work — the path just isn’t the same as it was in Volumio 2.

The only thing I don’t really like about this configuration is that I can’t use the Plymouth boot screen, so the boot-up screen isn’t as nice as I would like, but that’s okay. It’s working, and that’s what I want.

Thanks,
John