Dear Volumionauts,
The latest arrival from Raspberry Pi yielding 1280×720px resolution is making its way to our ecosystem. Details of the screen are available on Raspberry Pi website:
https://www.raspberrypi.com/documentation/accessories/touch-display-2.html
Based on Ilitec ili9881c DRM driver is not free from its own quirks.
Rotate screen without a desktop
Official documentation references appending to the /boot/cmdline.txt:
video=DSI-1:1280x720@60,rotate=<rotation-value>
Since native panel’s orientation is portrait, using above settings will divide screen into two parts and result into the artefacts burn. The parameters need to be reverted:
video=DSI-1:720x1280@60,rotate=<rotation-value>
DSI port enumeration from the overlay itself is shifted hence on Raspberry Pi CM4 or Raspberry Pi 5:
Physical connector | Parameter |
---|---|
CAM/DISP 0 | video=DSI-1:720x1280@60 |
CAM/DISP 1 | video=DSI-2:720x1280@60 |
NOTICE:
None of the above parameters are for reference only.
Panel litec ili9881c DRM kernel driver
Crafted by Raspbery overlay does not have rotation attribute. As a matter of fact, all screens based on ili9881c follows orientation:
I have reported issue and raised pull request to:
Resource | Link | Status |
---|---|---|
Raspberry Pi Documentation | Touch Display 2 Rotate screen without a desktop · Issue #3922 · raspberrypi/documentation · GitHub | Merged (Closed) |
Raspberry Pi Documentation | Touch Display 2 overlay · Issue #3923 · raspberrypi/documentation · GitHub | Merged (Closed) |
PR Kernel | Enable Raspberry Touch 2 rotation with overlay by foonerd · Pull Request #6480 · raspberrypi/linux · GitHub | Merged (Closed) |
Reported issues and raised PR are progressing nicely.
Using Official Raspberry Touch Display 2 with Volumio-OS
Until updated pi-kernel is released, Volumio team produces own version of the vc4-kms-dsi-ili9881-7inch
overlay.
DT parameter | Action |
---|---|
sizex |
Sets X resolution (default 720) |
sizey |
Sets Y resolution (default 1280) |
invx |
Invert X coordinates |
invy |
Invert Y coordinates |
swapxy |
Swap X and Y coordinates |
disable_touch |
Disables the touch overlay totally |
rotation |
Set rotation ccw: 0, 90, 180, 270 |
Volumio Configuration
The download and replace steps below are deprecated with Volumio-OS 3.781 or newer.
Until Volumio prepare stable update release containing corrected overlay, follow these steps.
1. Download vc4-kms-dsi-ili9881-7inch.zip (1.3 KB)
2. Unzip vc4-kms-dsi-ili9881-7inch.zip
3. Replace /boot/overlays/vc4-kms-dsi-ili9881-7inch.dtbo
with downloaded vc4-kms-dsi-ili9881-7inch.dtbo
WARNING - Do not replace /boot/overlays/vc4-kms-dsi-ili9881-7inch.dtbo
with downloaded vc4-kms-dsi-ili9881-7inch .zip! Unzip the file first.
Use values and parameters as follows:
Append parameter to the end of the /boot/cmdline.txt
from corresponding orientation column. The parameter will be overwritten with OTA.
Add the following to your /boot/userconfig.txt
irrespective of your Raspberry Pi SBC version:
[all]
display_auto_detect=1
Raspberry Pi CM4 and Raspberry Pi 5
Orientation | /boot/cmdline.txt | /boot/userconfig.txt |
---|---|---|
Portrait (native) | video=DSI-1:720x1280M@60 | dtoverlay=vc4-kms-dsi-ili9881-7inch |
Landscape (rotated left) | video=DSI-1:720x1280M@60,rotate=270 | dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=90 |
Landscape (rotated right) | video=DSI-1:720x1280M@60,rotate=90 | dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=270 |
Raspberry Pi 4B and Raspberry Pi 400
Orientation | /boot/cmdline.txt | /boot/userconfig.txt |
---|---|---|
Portrait (native) | video=DSI-1:720x1280M@60 | dtoverlay=vc4-kms-v3d-pi4,nohdmi dtoverlay=vc4-kms-dsi-ili9881-7inch |
Landscape (rotated left) | video=DSI-1:720x1280M@60,rotate=270 | dtoverlay=vc4-kms-v3d-pi4,nohdmi dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=90 |
Landscape (rotated right) | video=DSI-1:720x1280M@60,rotate=90 | dtoverlay=vc4-kms-v3d-pi4,nohdmi dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=270 |
Raspberry Pi 3B+
Orientation | /boot/cmdline.txt | /boot/userconfig.txt |
---|---|---|
Portrait (native) | video=DSI-1:720x1280M@60 | dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-dsi-ili9881-7inch |
Landscape (rotated left) | video=DSI-1:720x1280M@60,rotate=270 | dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=90 |
Landscape (rotated right) | video=DSI-1:720x1280M@60,rotate=90 | dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=270 |
Example: Resulting /boot/userconfig.txt
for Raspberry Pi 3B+ rotated left will look like:
[all]
display_auto_detect=1
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-ili9881-7inch,rotation=90
Touch Panel plugin
X11 session uses xrandr to rotate and this function is already implemented in the Touch Screen plugin. Simply set your rotation within plugin’s parameters.
NOTICE
The plymouth theme will not rotate and will remain in portrait mode. This is related to fairly outdated plymouth libraries prior rotation being introduced to kernels. There is no point in fixing this. Upcoming Volumio-OS based on Bookworm has currently maintained libraries and plymouth “understands” rotation.
This post will be updated as new changes or discoveries take place.
Kind Regards,