[Plugin] Pi Screen Setup Plugin - Display Configuration for Volumio 4

Pi Screen Setup Plugin - Display Configuration for Volumio 4

Dear Volumionauts,

I have been tinkering with this concept for quite some time now - a plugin to make display configuration on Raspberry Pi less painful. After much trial and error and a good old school bit of testing, I decided to share the results today for those brave souls who want to give it a spin.

Important: This is for Volumio OS V4 (Bookworm-based) only.

What Is This?

A guided wizard plugin for configuring displays on Raspberry Pi running Volumio 4. Instead of manually editing config.txt, cmdline.txt, and hunting down the correct dtoverlay parameters, this plugin walks you through the process step by step.

Features

  • Step-by-step configuration wizard
  • Display presets database (50+ displays!)
  • Support for HDMI, DSI, DPI, and Composite outputs
  • Dual HDMI support (Pi 4/5)
  • Screen rotation with proper KMS/cmdline parameters
  • Migration tool for existing display configurations
  • Factory backup and restore points
  • Automatic cleanup on uninstall

Supported Displays (over 200 presets)

HDMI:

  • Waveshare 2.8" - 11.9" (including Round and Square models)
  • Adafruit 5", 7", 10.1"
  • Elecrow 5", 7"
  • GeeekPi/52Pi 5" - 11.6"
  • UCTRONICS 3.5" - 7"
  • LCDwiki/Goodtft 3.5" - 7" (Miuzei/Kuman rebrands)
  • Sunfounder 7", 10.1"
  • Kuman 7"
  • Joy-IT 5" - 10.1"
  • Seeed Studio 5" - 10.1"
  • Spotpear 4" - 10.1" (including Round)
  • Freenove 7"
  • Longruner 5", 7"
  • Hosyond 5" - 10.1" (including 8.8" bar)
  • HMTECH 7", 10.1"
  • Generic resolutions (480x320 to 4K)
  • Custom hdmi_timings and hdmi_cvt

Official Raspberry Pi DSI:

  • Touch Display 7" (Original)
  • Touch Display 2 - 7"
  • Touch Display 2 - 5"

Waveshare DSI (extensive support):

  • 2.8" - 13.3" panels
  • Round, square, and bar form factors
  • Full DSI-TOUCH V2 series (2-lane and 4-lane)

Other DSI:

  • BIGTREETECH/BIQU 4.3" - 7"
  • Freenove 4.3" - 7"
  • Hosyond 5", 7"
  • JDI LT070ME05000 panels

DPI:

  • Pimoroni HyperPixel 2.1" Round, 4.0", 4.0" Square
  • Waveshare 2.8" - 7"
  • BIGTREETECH 4.3"
  • VGA666 Adapter
  • Custom/Generic DPI

Other:

  • Composite PAL/NTSC/PAL-M/PAL-N
  • Custom device tree overlays

Installation

If you have a previous version installed, uninstall it first via Volumio UI.

You can install the plugin via the test store.
goto: <your-ip-addres>/dev and enable test for plugins:
image

Plugin is located under “System Hardware”.

How It Works

  1. Open the plugin settings
  2. The wizard detects your Pi model and any existing display config
  3. Step through: Output Type → Display Preset → Rotation → KMS Settings → Advanced → Review → Apply
  4. Reboot when prompted

The plugin creates restore points before each configuration change, so you can roll back if needed.

Request for Contributions

The display presets database can always use more entries! If you have a display working with specific settings that is not in the presets list, please share:

  • Display make and model
  • Native resolution
  • The dtoverlay or hdmi_timings/hdmi_cvt values that work
  • Any special parameters needed

I will add them to the presets database for future versions.

Important Notes

Plugin Store Submission

I have been working on this for a while but I am honestly not sure whether to submit this to the official plugin store yet. It works on my setup, but display configuration is notoriously hardware-specific. Feedback from the community would help me decide.

No Support Offered

I do not offer support at this time. This is a hobby project shared as-is. If it works for you, great! If not, see the disclaimer below.

Looking for a New Maintainer

To be completely honest, I would not mind if someone wanted to take this burden off my hands. The concept is solid, the foundation is there, but I am thoroughly disheartened to wiggle another finger on this project. If you are interested in taking over development and maintenance, feel free to reach out. The code is yours to fork and run with.

Disclaimer

I do not take any responsibility if:

  • Your snowball develops an intense desire to become rocket fuel
  • Your microwave chooses to sing kumbaya at 3 AM
  • Your display decides it prefers interpretive dance over showing pixels
  • Any other unexpected behavior occurs

If things go sideways, a full Volumio reinstall will get you back to a known good state. The plugin does create factory backups on first install and attempts to restore them on uninstall, but no guarantees.

USE AT YOUR OWN RISK.

Source Code

GitHub: GitHub - foonerd/pi_screen_setup

Feedback Welcome

Even though I am not offering support, I am interested in hearing:

  • Does it work on your setup?
  • What displays are you using?
  • Any bugs encountered?
  • Should this go to the plugin store?

Kind Regards,

4 Likes

Dear Volumioanuts,

Here is a revolutionary concept: community support is not a service desk where you drop a one-liner and wait for someone to magically solve your problem. No one here is paid to decode vague complaints.

The template exists for a reason:

When you are ready to participate in your own troubleshooting, provide:

  • Actual device model and storage type
  • Actual Volumio version number
  • Actual log link from http://volumio.local/dev
  • Actual description of the problem

Until then, any help is dead in the water.

Important Clarification

This is NOT a replacement for the [PLUGIN] Touch Display and is completely unrelated to it.

The Touch Display plugin is here:

This plugin configures boot parameters for your display hardware (config.txt, overlays, timings). The Touch Display plugin handles the Volumio UI display functionality. They are two entirely different things.

I will ignore anyone littering this thread who is unable to comprehend the difference.

Kind Regards,

Pi Screen Setup Plugin - Display Database Contributions

The Pi Screen Setup plugin now includes over 200 display presets covering 20+ manufacturers. But the Raspberry Pi display ecosystem is vast, and we need your help to expand coverage.


Before You Ask for a New Preset

This database exists because I took time to research, test, and document working configurations. If you want your display added, I ask that you do the same.

A request like “I bought XYZ display, please add it” without any technical details will be ignored.

We are volunteers. We do not have access to every display on the market. You have the display in your hands - you are in the best position to gather the information we need.


HDMI Display Template

Copy and fill in:

Product name: [exact name as printed on box/listing]
Model number: [if available]
Manufacturer: [brand name]
Purchase link: [where you bought it]
Datasheet/wiki link: [manufacturer documentation if available]

Native resolution: [width x height]
Orientation: [landscape native / portrait native]
Refresh rate: [usually 60Hz]

Working config (if known):
  hdmi_group: [usually 2]
  hdmi_mode: [usually 87 for custom]
  hdmi_timings: [if you have working timings]
  hdmi_cvt: [alternative to hdmi_timings]

Touch interface: [USB / SPI / I2C / None]
Touch working: [Yes / No / Not tested]

Tested on: [Pi model, e.g., Pi 4B 4GB]
Rotation tested: [which rotations work: 0/90/180/270]

Additional notes: [quirks, power requirements, etc.]

DSI Display Template

Copy and fill in:

Product name: [exact name]
Model number: [if available]
Manufacturer: [brand name]
Purchase link: [where you bought it]
Datasheet/wiki link: [manufacturer documentation]

Native resolution: [width x height]
DSI lanes: [2-lane / 4-lane]
Ribbon cable length: [if relevant]

Working config:
  dtoverlay: [overlay name, e.g., vc4-kms-dsi-7inch]
  dtparam: [any parameters needed]

Touch controller: [chip name if known, e.g., GT911, FT5x06]
Touch working: [Yes / No / Not tested]

Pi compatibility: [which Pi models work - note CM4 for 4-lane displays]
Rotation tested: [which rotations work]

Additional notes: [power requirements, backlight control, etc.]

DPI Display Template

Copy and fill in:

Product name: [exact name]
Model number: [if available]
Manufacturer: [brand name]
Purchase link: [where you bought it]
Datasheet/wiki link: [manufacturer documentation]

Native resolution: [width x height]
Color format: [RGB666 / RGB888]

Working config:
  dtoverlay: [overlay name and parameters]
  dtparam: [timing parameters if using generic overlay]

GPIO usage: [which pins, any conflicts]
Touch controller: [chip name if known]
Touch working: [Yes / No / Not tested]

Tested on: [Pi model - note DPI has compatibility limits]
Rotation tested: [which rotations work]

Additional notes: [required overlay files, dependencies, etc.]

How to Find This Information

  1. Check the manufacturer website or wiki

    • Waveshare, Adafruit, Pimoroni all have documentation
    • Look for “Raspberry Pi” or “config.txt” sections
  2. Search for your display model + “config.txt” or “hdmi_timings”

    • Forums, GitHub issues, and blogs often have working configs
  3. Check LCDwiki.com

    • Many budget displays use panels documented there
  4. Look at the product listing

    • Resolution is almost always listed
    • Sometimes config instructions are in the description
  5. If your display works with another OS/distro

    • Check their config files for working settings

What Happens Next

When you submit complete information:

  1. We verify the config makes sense
  2. We add it to the database
  3. You test the preset on your hardware
  4. Once confirmed working, it ships in the next update

Partial submissions will get a reply asking for the missing details.


Already in the Database

Check if your display is already supported before requesting:

  • Open Preset Manager at http://volumio.local:4567/
  • Search by manufacturer or resolution
  • Many budget displays are rebrands of Waveshare or LCDwiki panels

If a similar display works, try that preset first. Report back whether it works - that information helps others and may lead to adding your specific model as an alias.


Thank you to everyone who has contributed specs, tested presets, and reported issues. This database grows because of community effort.

Kind Regards,

Great plugin.
Tried it on a rPi4 with WS 7.9" HDMI screen, on HDMI-1.
It just worked.

I think this is a valuable plugin, as people are struggling getting a screen working on Volumio. It has been one of the major topic creators.

Now the lingering question is, does it actually work?
Starting point:

Let’s see:

As simple as that:
Plymouth:
image
Ready to roll:
image
Installing Touch Display:

YES add it to the plugin store!!

4 Likes

Plugin is available in the text environment of the plugins.
goto <your-devices-ip-address>/dev and enable test for plugins:
image

Plugin is located under "System Hardware:.

1 Like

Hello @nerd and @Wheaten !

Thanks again for a brilliant plugin for us rPi users. I tested this plugin yesterday evening when getting back home from hospital.
rPi4 + rPi Touch Display (800+480) works great. Bookworm 4.088, plugin 0.7.3.
rPi5 + rPi Touch Display 2 (1280x720) works great. Same as above.

Later this week I hope to try this Waveshare Display with another rPi 5.
Waveshare 10.1inch
.
I guess this will work aswell, a new major Must Have plugin for most Pi owners :pray:

Best Regards / C

1 Like

Hi , ok for : Nieuwe 8.8 Inch Lange Strip LCD-scherm 1920*480 HD-MI Driver Board Secundaire Monitor AIDA64 Sub Display CPU GPU SSD Informatie - AliExpress 7 ?

Hey @Octuor34,

Kind Regards,

Hi,

Great work again @nerd - thank you again.

The plugin helped me to get Plymouth configuration working on original Raspberry DSI 7" Version 1 displays with 180° rotation easily.

But there is one 5" HDMI display i own that is very similar to the JoyIT 5" HDMI Display that is contained in the database and only has 2 parameters to be changed to work, that are:

  • Force Hotplug : ON
  • Ignore EDID : ON

and no - it is not an waveshare like some AI thinks…

I tried to add it to the database - but sorry for silly me - i didn’t know all parameters to be entered there:

HDMI Display Template for Pollin 5" HDMI Touch display EBE170011535

Copy and fill in:

Product name: [5" HDMI Touch display]
Model number: [EBE170011535]
Manufacturer: [unknown - distributed by Pollin Germany before 2020] ?
Purchase link: [www.pollin.de] - not the one that is offered currently
Datasheet/wiki link: [manufacturer documentation not available] ?

Native resolution: [800 x 480]
Orientation: [landscape native]
Refresh rate: [usually 60Hz] ?

Working config (if known):
hdmi_group: [2]
hdmi_mode: [87]
hdmi_timings: [?]
hdmi_cvt: [800 480 60 6 0 0 0]

Touch interface: [USB]
Touch working: [Yes]

Tested on: [Pi 3b 1GB]
Rotation tested: [0]

Additional notes: [fbwidth=800 ; fbheight=480]

To get it working i spent half a day and ended with following entries in userconfig.txt:

#Pollin 5 Zoll touch display. EBE170011535 800x400 HDMI + USB
hdmi_force_hotplug=1
hdmi_ignore_edid=0x1
hdmi_safe=0
hdmi_group=2
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
hdmi_drive=1

KMS OFF for stable Custom Timings

dtoverlay=vc4-fkms-v3d
max_framebuffers=1

Framebuffer for X fallback

fbwidth=800
fbheight=480


Furthermore - would it be possible and make sense to alternatively choose the display configuration from the database by a dropdown menu ?

Best Regards,
Josef

Hi @Josh2000,

Thank you for the detailed report.

Your display works with FKMS because parameters like hdmi_cvt and hdmi_ignore_edid are firmware commands. KMS ignores these - the kernel handles display directly. That is why you needed to switch.

Before adding this to the database, please test if KMS can work with its equivalent approach:

  1. Change dtoverlay=vc4-fkms-v3d back to dtoverlay=vc4-kms-v3d in userconfig.txt
  2. Remove your hdmi_* parameters from userconfig.txt
  3. Add to the END of /boot/cmdline.txt (same line, no newline):
    video=HDMI-A-1:800x480M@60D
    
  4. Reboot

Report: works, black screen, or distorted image.

Kind Regards,

YES add it to the plugin store!!

It is working :slight_smile:

Let’s name this display please:
Pollin 5" HDMI 800x480 touch display sold before 2020


In summary:

one has to add the following after a space in commandline.txt
video=HDMI-A-1:800x480M@60D

…and make sure that dtoverlay is set to:
dtoverlay=vc4-kms-v3d

Hey @Josh2000,

Thank you for testing. Your display has been added to the database in version 1.5.6.

image

Select “Pollin 5” HDMI 800x480 Touch (pre-2020)" from the dropdown menu and the plugin will handle the rest.

Kind regards

2 Likes

Hi,

I am a happy Volumio user for 2 years. Now just upgraded my hardware stack from a PI4 (with an Audiophonics DAC, the Waveshare 7.9 inch display, and a BD-player) to a PI5 with the PI-Hat and a PI 256GB SSD (plus all the rest again). The upgrade worked like charme. .

With one caveat: in my old setup, the display turned to 270° right during startup, so one could follow the boot process and the Volumio logo was displayed nicely. Now in the new setup, the turning takes effect only when the Volumio UX is started. This is weird, and I see no reason for it.

Any suggestions?

Please look at this plugin.

How can i select from a dropdown directly ?

Hi - thanks for the hint, I wasn’t aware of this plugin. Great work!

I tried it out, and it does improve the situation to a certain extend:

  • the wrong display orientation immediately at startup - during the initial PI bootup sequence - is still there (and, again, this was not the case with my old PI 4 setup).
  • the Volumio splash screen is now already shown in the right orientation