I use the Waveshare AMOLED 5.5 (1080x1920) display on a Pi4 for a long time. This display needs a rotation to use it in landscape format. The official touchscreen plugin from gVolt do this perfectly, but with the standard rotation commands in boot\userconfig.txt. Therfore the performance of Volumio UI is horrible with fullHD resolution. Scrolling in chrome is slow and the new Manifest UI with transparences is very slow.
Now I have start a new try with grafic driver vc4-kms-v3d in boot\userconfig.txt. If this driver is active the standard rotation and timing commands in userconfig.txt are ignored. This driver works with a correct EDID response over HDMI. In some circumstances the Waveshare gives no correct timing response. So the display shows a part of content and rotation with xrandr not working.
The solution for this dilemma is to use an offline EDID binary file. I have create this file with correct EDID data for this monitor and define it for HDMI-A-1. The rotation is now set with xrandr (the rotation in /etc/X11/xorg.conf.d was not stable - black screen at startup from time to time). The result is a working rotated display with smooth scrolling in UI and the new Manifest UI is running very smooth on Pi4 and Pi5.
I have add now two versions of installation.
installation with a working EDID from monitor. For this version you don’t need to implement the binary EDID file
installation with overwriting the monitor EDID with a local EDID binary file
What is to do exactly:
in Touchscreen plugin do the follow settings:
- be shure the rotation is set to 0 in Touchscreen plugin
- enable the GPU mem with 64Mb in Touchscreen plugin
- set scale factor to 200%
- Restart with this values
to install the files you can use the install_amoled.sh:
- expand the folder and copy it to /home/volumio
- make the install_amoled.sh executable
chmod +x /home/volumio/Install_amoled_EDID/install_amoled.sh
chmod +x /home/volumio/Install_amoled_noEDID/install_amoled.sh
- start the installation
for manually step by step:
- add this lines in /boot/userconfig.txt
hdmi_timings=1080 1 26 4 50 1920 1 8 2 6 0 0 0 60 0 135580000 3
- copy the config file for X11 to use the KMS driver
sudo cp -f 96-amoled_mode.conf /etc/X11/xorg.conf.d
- copy the xrandr rotation command file to start it with X11 start
sudo cp -f 55x11-rotate_display /etc/X11/Xsession.d
- shutdown Volumio and powerOff the Pi
With next powerOn the boot screen start in portait mode and the display rotate with starting the x-server.
Only if your display not working you need the following steps to use the static EDID binary file.
- copy the EDID file to /lib/firmware
sudo cp -f AMOLED_1080x1920.bin /lib/firmware
- add this entry to /boot/cmdline.txt with space as separator
- optional you can do some chrome optimization commands for gpu using in /opt/volumiokiosk.sh
Now you can test the usability of the new or old UI.
I can’t give a guarantee all is experimantal
After any systemupdate start the installation again or add the entry in /boot/cmdline.txt again.
(only if you use the binary EDID file)
It’s possible it is overwritten.
The first download with a running EDID is also working with other displays, witch have trouble on Pi5
I’m looking forward to a feedback