Hey @dewen,
Forcing Touch Display Plugin to Use HDMI 0 and 1 on Volumio (RPi 5)
Understanding Volumio’s Limitations
Volumio is designed primarily as a music player for a wide range of Single Board Computers (SBCs), some with as little as 256MB RAM, rather than a fully functional desktop environment. While the Raspberry Pi 5 is powerful enough to support multiple displays and graphical modifications, we must be mindful that such configurations may not work across all Volumio-supported devices.
Additionally, Volumio updates (OTA) will overwrite these changes, and there is no guarantee that future updates will maintain this configuration. You may need to reapply these settings after every update.
@gvolt - Please review for accuracy with the Touch Plugin.
Forcing HDMI 1 for Touch Display Plugin on Raspberry Pi 5
By default, the Touch Display plugin outputs to HDMI 0. If you wish to use HDMI 1 instead (e.g., for a 1080p TV), follow these steps.
1. Check Available HDMI Ports
Run the following command to check which HDMI ports are active:
cat /sys/class/drm/card0-HDMI-A-*/status
This will return:
connected
→ Active HDMI port
disconnected
→ Inactive HDMI port
For Raspberry Pi 5:
- HDMI 0:
/sys/class/drm/card0-HDMI-A-1/status
- HDMI 1:
/sys/class/drm/card0-HDMI-A-2/status
2. Modify Touch Display Plugin Startup Script
Since the Touch Display plugin uses xrandr
to set display output, you need to edit its startup script:
nano /opt/volumiokiosk.sh
Find this line (this is only example):
xrandr --output HDMI-1 --primary --mode 1920x1080 --rotate normal
Change it to (you will need update with your screen’s resolution):
xrandr --output HDMI-2 --primary --mode 1920x1080 --rotate normal
Save and exit (CTRL+X
, then Y
, then Enter
).
3. Modify /boot/userconfig.txt
for Persistent HDMI Settings
Since config.txt
is overwritten by Volumio updates, make changes in /boot/userconfig.txt
instead:
nano /boot/userconfig.txt
Add the following lines:
hdmi_force_hotplug:0=1
hdmi_force_hotplug:1=1
display_default_lcd=0
This ensures that both HDMI ports are active.
For rotation and scaling issues on the TV:
hdmi_group=2
hdmi_mode=82 # 1080p @ 60Hz
hdmi_drive=2
display_rotate=0
For 180-degree rotation:
xrandr --output HDMI-2 --rotate inverted
4. Restart Volumio
Apply the changes by rebooting:
reboot
Alternative: Using Both Displays
If you want to use both screens:
Final Notes
- These changes will be overwritten by OTA updates or Plugin upgrades, so you may need to reapply them after updating Volumio or enabling/disabling plugin.
- Some SBCs may not support these modifications, as Volumio prioritizes lightweight playback over graphical enhancements.