Waveshare DSI LCD displays

@gvolt,

Need your help.
Got a small 2,8inch DSI screen from waveshare, to built in a existing cabinet.
Added in the user config, both screen and touch are working:

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch

However I can’t get it to rotate properly. the rotation should be 270.
Tried with no success:
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotation=270

Tried to rotate it via the plugin => no success.
cat /boot/config.txt

initramfs volumio.initrd
[cm4]
dtoverlay=dwc2,dr_mode=host
[all]
arm_64bit=0
gpu_mem=32
max_usb_current=1
dtparam=audio=on
audio_pwm_mode=2
dtparam=i2c_arm=on
disable_splash=1
hdmi_force_hotplug=1
force_eeprom_read=0

include userconfig.txt

#### Volumio i2s setting below: do not alter ####
dtoverlay=hifiberry-dacplus

cat /boot/userconfig.txt

# Add your custom config.txt options to this file, which will be preserved during updates
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotation=270

systemctl status -l volumio-kiosk

● volumio-kiosk.service - Volumio Kiosk
   Loaded: loaded (/lib/systemd/system/volumio-kiosk.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2024-01-17 21:07:22 CET; 5min ago
 Main PID: 1350 (startx)
    Tasks: 77 (limit: 4915)
   CGroup: /system.slice/volumio-kiosk.service
           ├─1350 /bin/sh /usr/bin/startx /etc/X11/Xsession /opt/volumiokiosk.sh -- -nocursor
           ├─1380 xinit /etc/X11/Xsession /opt/volumiokiosk.sh -- /usr/bin/X :0 -nocursor -auth /tmp/serverauth.01ZDCJcFj8
           ├─1381 /usr/lib/xorg/Xorg :0 -nocursor -auth /tmp/serverauth.01ZDCJcFj8
           ├─1435 /bin/bash /opt/volumiokiosk.sh
           ├─1465 /usr/bin/ssh-agent /opt/volumiokiosk.sh
           ├─1474 /usr/bin/openbox --startup /usr/lib/arm-linux-gnueabihf/openbox-autostart OPENBOX
           ├─1475 /usr/lib/chromium-browser/chromium-browser-v7 --enable-pinch --simulate-outdated-no-au=Tue, 31 Dec 2099 23:59:
           ├─1527 /usr/lib/chromium-browser/crashpad_handler --monitor-self --monitor-self-annotation=ptype=crashpad-handler --d
           ├─1529 /usr/lib/chromium-browser/crashpad_handler --no-periodic-tasks --monitor-self-annotation=ptype=crashpad-handle
           ├─1533 /usr/lib/chromium-browser/chromium-browser-v7 --type=zygote --no-zygote-sandbox --force-device-scale-factor=1
           ├─1534 /usr/lib/chromium-browser/chromium-browser-v7 --type=zygote --force-device-scale-factor=1 --enable-crashpad --
           ├─1538 /usr/lib/chromium-browser/chromium-browser-v7 --type=zygote --force-device-scale-factor=1 --enable-crashpad --
           ├─1596 /usr/lib/chromium-browser/chromium-browser-v7 --type=utility --utility-sub-type=network.mojom.NetworkService -
           ├─1613 /usr/lib/chromium-browser/chromium-browser-v7 --type=gpu-process --field-trial-handle=6593637417922341856,1117
           ├─1618 /usr/lib/chromium-browser/chromium-browser-v7 --type=utility --utility-sub-type=storage.mojom.StorageService -
           ├─1626 /usr/lib/chromium-browser/chromium-browser-v7 --type=broker
           ├─1651 /usr/lib/chromium-browser/chromium-browser-v7 --type=renderer --disable-breakpad --force-device-scale-factor=1
           └─1652 /usr/lib/chromium-browser/chromium-browser-v7 --type=renderer --disable-breakpad --force-device-scale-factor=1

Jan 17 21:07:22 livingroom startx[1350]: Current version of pixman: 0.36.0
Jan 17 21:07:22 livingroom startx[1350]:         Before reporting problems, check http://wiki.x.org
Jan 17 21:07:22 livingroom startx[1350]:         to make sure that you have the latest version.
Jan 17 21:07:22 livingroom startx[1350]: Markers: (--) probed, (**) from config file, (==) default setting,
Jan 17 21:07:22 livingroom startx[1350]:         (++) from command line, (!!) notice, (II) informational,
Jan 17 21:07:22 livingroom startx[1350]:         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Jan 17 21:07:22 livingroom startx[1350]: (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 17 21:07:22 2024
Jan 17 21:07:22 livingroom startx[1350]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Jan 17 21:07:22 livingroom startx[1350]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Jan 17 21:07:24 livingroom startx[1350]: (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.

cat /var/log/Xorg.0.log

[    35.536]
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[    35.536] Build Operating System: Linux 5.4.0-109-generic armv8l Raspbian
[    35.536] Current Operating System: Linux livingroom 6.1.58-v7l+ #1690 SMP Tue Oct 17 15:36:02 BST 2023 armv7l
[    35.536] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0 video=HDMI-A-1:640x480M@60D smsc95xx.macaddr=E4:5F:01:24:81:F9 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  splash plymouth.ignore-serial-consoles dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0xF dwc_otg.nak_holdoff=1 quiet console=ttyS0,115200 console=tty1 imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh rootwait bootdelay=5 elevator=noop logo.nologo vt.global_cursor_default=0 net.ifnames=0 snd-bcm2835.enable_compat_alsa= snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 loglevel=0
[    35.536] Build Date: 04 April 2023  07:50:56AM
[    35.536] xorg-server 2:1.20.4-1+rpt4+deb10u9 (https://www.debian.org/support)
[    35.536] Current version of pixman: 0.36.0
[    35.536]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    35.536] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    35.537] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 17 21:07:22 2024
[    35.546] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    35.546] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    35.551] (==) No Layout section.  Using the first Screen section.
[    35.551] (==) No screen section available. Using defaults.
[    35.551] (**) |-->Screen "Default Screen Section" (0)
[    35.551] (**) |   |-->Monitor "<default monitor>"
[    35.555] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    35.555] (==) Automatically adding devices
[    35.555] (==) Automatically enabling devices
[    35.555] (==) Automatically adding GPU devices
[    35.560] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    35.565] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    35.565]    Entry deleted from font path.
[    35.566] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/100dpi/:unscaled,
        /usr/share/fonts/X11/75dpi/:unscaled,
        /usr/share/fonts/X11/Type1,
        /usr/share/fonts/X11/100dpi,
        /usr/share/fonts/X11/75dpi,
        built-ins
[    35.566] (==) ModulePath set to "/usr/lib/xorg/modules"
[    35.566] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    35.566] (II) Loader magic: 0x1fdf80
[    35.566] (II) Module ABI versions:
[    35.566]    X.Org ANSI C Emulation: 0.4
[    35.566]    X.Org Video Driver: 24.0
[    35.566]    X.Org XInput driver : 24.1
[    35.566]    X.Org Server Extension : 10.0
[    35.567] (--) using VT number 2

[    35.567] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    35.570] (II) xfree86: Adding drm device (/dev/dri/card1)
[    35.595] (II) xfree86: Adding drm device (/dev/dri/card0)
[    35.596] (II) no primary bus or device found
[    35.596]    falling back to /sys/devices/platform/gpu/drm/card1
[    35.596] (II) LoadModule: "glx"
[    35.600] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    35.637] (II) Module glx: vendor="X.Org Foundation"
[    35.637]    compiled for 1.20.4, module version = 1.0.0
[    35.637]    ABI class: X.Org Server Extension, version 10.0
[    35.637] (==) Matched modesetting as autoconfigured driver 0
[    35.637] (==) Matched fbdev as autoconfigured driver 1
[    35.637] (==) Assigned the driver to the xf86ConfigLayout
[    35.637] (II) LoadModule: "modesetting"
[    35.638] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    35.641] (II) Module modesetting: vendor="X.Org Foundation"
[    35.641]    compiled for 1.20.4, module version = 1.20.4
[    35.641]    Module class: X.Org Video Driver
[    35.641]    ABI class: X.Org Video Driver, version 24.0
[    35.641] (II) LoadModule: "fbdev"
[    35.641] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    35.643] (II) Module fbdev: vendor="X.Org Foundation"
[    35.643]    compiled for 1.20.3, module version = 0.5.0
[    35.643]    Module class: X.Org Video Driver
[    35.643]    ABI class: X.Org Video Driver, version 24.0
[    35.643] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    35.643] (II) FBDEV: driver for framebuffer: fbdev
[    35.675] (II) modeset(0): using drv /dev/dri/card1
[    35.675] (WW) Falling back to old probe method for fbdev
[    35.675] (II) Loading sub module "fbdevhw"
[    35.675] (II) LoadModule: "fbdevhw"
[    35.675] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    35.679] (II) Module fbdevhw: vendor="X.Org Foundation"
[    35.679]    compiled for 1.20.4, module version = 0.0.2
[    35.679]    ABI class: X.Org Video Driver, version 24.0
[    35.680] (II) modeset(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    35.680] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[    35.680] (==) modeset(0): RGB weight 888
[    35.680] (==) modeset(0): Default visual is TrueColor
[    35.680] (II) Loading sub module "glamoregl"
[    35.680] (II) LoadModule: "glamoregl"
[    35.680] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    35.715] (II) Module glamoregl: vendor="X.Org Foundation"
[    35.715]    compiled for 1.20.4, module version = 1.0.1
[    35.715]    ABI class: X.Org ANSI C Emulation, version 0.4
[    36.934] (II) modeset(0): glamor X acceleration enabled on V3D 4.2
[    36.934] (II) modeset(0): glamor initialized
[    36.935] (II) modeset(0): Output HDMI-1 has no monitor section
[    36.936] (II) modeset(0): Output HDMI-2 has no monitor section
[    36.936] (II) modeset(0): Output DSI-1 has no monitor section
[    36.960] (II) modeset(0): EDID for output HDMI-1
[    36.961] (II) modeset(0): Printing probed modes for output HDMI-1
[    36.961] (II) modeset(0): Modeline "640x480"x59.9   23.98  640 664 720 800  480 483 487 500 -hsync +vsync (30.0 kHz)
[    36.961] (II) modeset(0): EDID for output HDMI-2
[    36.961] (II) modeset(0): EDID for output DSI-1
[    36.961] (II) modeset(0): Printing probed modes for output DSI-1
[    36.961] (II) modeset(0): Modeline "480x640"x60.8   50.00  480 630 680 830  640 790 840 990 (60.2 kHz eP)
[    36.961] (II) modeset(0): Output HDMI-1 connected
[    36.961] (II) modeset(0): Output HDMI-2 disconnected
[    36.961] (II) modeset(0): Output DSI-1 connected
[    36.961] (II) modeset(0): Using sloppy heuristic for initial modes
[    36.961] (II) modeset(0): Output HDMI-1 using initial mode 640x480 +0+0
[    36.961] (II) modeset(0): Output DSI-1 using initial mode 480x640 +0+0
[    36.961] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[    36.961] (==) modeset(0): DPI set to (96, 96)
[    36.961] (II) Loading sub module "fb"
[    36.961] (II) LoadModule: "fb"
[    36.961] (II) Loading /usr/lib/xorg/modules/libfb.so
[    36.967] (II) Module fb: vendor="X.Org Foundation"
[    36.967]    compiled for 1.20.4, module version = 1.0.0
[    36.967]    ABI class: X.Org ANSI C Emulation, version 0.4
[    36.967] (II) UnloadModule: "fbdev"
[    36.967] (II) Unloading fbdev
[    36.967] (II) UnloadSubModule: "fbdevhw"
[    36.967] (II) Unloading fbdevhw
[    37.091] (==) modeset(0): Backing store enabled
[    37.091] (==) modeset(0): Silken mouse enabled
[    37.293] (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
[    37.293] (==) modeset(0): DPMS enabled
[    37.294] (II) modeset(0): [DRI2] Setup complete
[    37.294] (II) modeset(0): [DRI2]   DRI driver: vc4
[    37.294] (II) modeset(0): [DRI2]   VDPAU driver: vc4
[    37.294] (II) Initializing extension Generic Event Extension
[    37.295] (II) Initializing extension SHAPE
[    37.295] (II) Initializing extension MIT-SHM
[    37.296] (II) Initializing extension XInputExtension
[    37.301] (II) Initializing extension XTEST
[    37.301] (II) Initializing extension BIG-REQUESTS
[    37.302] (II) Initializing extension SYNC
[    37.302] (II) Initializing extension XKEYBOARD
[    37.303] (II) Initializing extension XC-MISC
[    37.304] (II) Initializing extension SECURITY
[    37.304] (II) Initializing extension XFIXES
[    37.305] (II) Initializing extension RENDER
[    37.305] (II) Initializing extension RANDR
[    37.307] (II) Initializing extension COMPOSITE
[    37.307] (II) Initializing extension DAMAGE
[    37.308] (II) Initializing extension MIT-SCREEN-SAVER
[    37.308] (II) Initializing extension DOUBLE-BUFFER
[    37.309] (II) Initializing extension RECORD
[    37.310] (II) Initializing extension DPMS
[    37.310] (II) Initializing extension Present
[    37.311] (II) Initializing extension DRI3
[    37.311] (II) Initializing extension X-Resource
[    37.312] (II) Initializing extension XVideo
[    37.313] (II) Initializing extension XVideo-MotionCompensation
[    37.313] (II) Initializing extension SELinux
[    37.313] (II) SELinux: Disabled on system
[    37.313] (II) Initializing extension GLX
[    37.656] (II) AIGLX: Loaded and initialized vc4
[    37.656] (II) GLX: Initialized DRI2 GL provider for screen 0
[    37.656] (II) Initializing extension XFree86-VidModeExtension
[    37.656] (II) Initializing extension XFree86-DGA
[    37.657] (II) Initializing extension XFree86-DRI
[    37.657] (II) Initializing extension DRI2
[    37.660] (II) modeset(0): Damage tracking initialized
[    37.660] (II) modeset(0): Setting screen physical size to 169 x 169
[    37.853] (II) config/udev: Adding input device rotary@11 (/dev/input/event4)
[    37.853] (II) No input driver specified, ignoring this device.
[    37.853] (II) This device may have been added with another device file.
[    37.854] (II) config/udev: Adding input device rotary@17 (/dev/input/event3)
[    37.854] (II) No input driver specified, ignoring this device.
[    37.854] (II) This device may have been added with another device file.
[    37.855] (II) config/udev: Adding input device Goodix Capacitive TouchScreen (/dev/input/event1)
[    37.855] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput keyboard catchall"
[    37.855] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput touchscreen catchall"
[    37.856] (**) Goodix Capacitive TouchScreen: Applying InputClass "Touch rotation"
[    37.856] (II) LoadModule: "libinput"
[    37.856] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    37.880] (II) Module libinput: vendor="X.Org Foundation"
[    37.880]    compiled for 1.20.3, module version = 0.28.2
[    37.880]    Module class: X.Org XInput Driver
[    37.880]    ABI class: X.Org XInput driver, version 24.1
[    37.880] (II) Using input driver 'libinput' for 'Goodix Capacitive TouchScreen'
[    37.880] (**) Goodix Capacitive TouchScreen: always reports core events
[    37.880] (**) Option "Device" "/dev/input/event1"
[    37.880] (**) Option "_source" "server/udev"
[    37.900] (II) event1  - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[    37.901] (II) event1  - Goodix Capacitive TouchScreen: device is a keyboard
[    37.901] (II) event1  - Goodix Capacitive TouchScreen: device is a touch device
[    37.902] (II) event1  - Goodix Capacitive TouchScreen: device removed
[    37.970] (II) libinput: Goodix Capacitive TouchScreen: needs a virtual subdevice
[    37.970] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe205000.i2c/i2c-22/i2c-10/10-0014/input/input0/event1"
[    37.970] (II) XINPUT: Adding extended input device "Goodix Capacitive TouchScreen" (type: TOUCHSCREEN, id 6)
[    37.970] (**) Option "AccelerationScheme" "none"
[    37.970] (**) Goodix Capacitive TouchScreen: (accel) selected scheme none/0
[    37.970] (**) Goodix Capacitive TouchScreen: (accel) acceleration factor: 2.000
[    37.970] (**) Goodix Capacitive TouchScreen: (accel) acceleration threshold: 4
[    37.975] (II) event1  - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[    37.976] (II) event1  - Goodix Capacitive TouchScreen: device is a keyboard
[    37.976] (II) event1  - Goodix Capacitive TouchScreen: device is a touch device
[    37.978] (II) config/udev: Adding input device Goodix Capacitive TouchScreen (/dev/input/mouse0)
[    37.978] (II) No input driver specified, ignoring this device.
[    37.978] (II) This device may have been added with another device file.
[    37.980] (II) config/udev: Adding input device vc4-hdmi-0 (/dev/input/event0)
[    37.980] (**) vc4-hdmi-0: Applying InputClass "libinput keyboard catchall"
[    37.980] (II) Using input driver 'libinput' for 'vc4-hdmi-0'
[    37.980] (**) vc4-hdmi-0: always reports core events
[    37.980] (**) Option "Device" "/dev/input/event0"
[    37.980] (**) Option "_source" "server/udev"
[    37.983] (II) event0  - vc4-hdmi-0: is tagged by udev as: Keyboard Pointingstick
[    37.984] (II) event0  - vc4-hdmi-0: device is a pointer
[    37.984] (II) event0  - vc4-hdmi-0: device is a keyboard
[    37.984] (II) event0  - vc4-hdmi-0: device removed
[    38.030] (II) libinput: vc4-hdmi-0: needs a virtual subdevice
[    38.030] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef00700.hdmi/rc/rc0/input1/event0"
[    38.030] (II) XINPUT: Adding extended input device "vc4-hdmi-0" (type: MOUSE, id 7)
[    38.030] (**) Option "AccelerationScheme" "none"
[    38.030] (**) vc4-hdmi-0: (accel) selected scheme none/0
[    38.030] (**) vc4-hdmi-0: (accel) acceleration factor: 2.000
[    38.030] (**) vc4-hdmi-0: (accel) acceleration threshold: 4
[    38.033] (II) event0  - vc4-hdmi-0: is tagged by udev as: Keyboard Pointingstick
[    38.034] (II) event0  - vc4-hdmi-0: device is a pointer
[    38.034] (II) event0  - vc4-hdmi-0: device is a keyboard
[    38.036] (II) config/udev: Adding input device vc4-hdmi-1 (/dev/input/event2)
[    38.036] (**) vc4-hdmi-1: Applying InputClass "libinput keyboard catchall"
[    38.036] (II) Using input driver 'libinput' for 'vc4-hdmi-1'
[    38.036] (**) vc4-hdmi-1: always reports core events
[    38.036] (**) Option "Device" "/dev/input/event2"
[    38.036] (**) Option "_source" "server/udev"
[    38.039] (II) event2  - vc4-hdmi-1: is tagged by udev as: Keyboard Pointingstick
[    38.040] (II) event2  - vc4-hdmi-1: device is a pointer
[    38.040] (II) event2  - vc4-hdmi-1: device is a keyboard
[    38.041] (II) event2  - vc4-hdmi-1: device removed
[    38.100] (II) libinput: vc4-hdmi-1: needs a virtual subdevice
[    38.100] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef05700.hdmi/rc/rc1/input3/event2"
[    38.100] (II) XINPUT: Adding extended input device "vc4-hdmi-1" (type: MOUSE, id 8)
[    38.100] (**) Option "AccelerationScheme" "none"
[    38.100] (**) vc4-hdmi-1: (accel) selected scheme none/0
[    38.100] (**) vc4-hdmi-1: (accel) acceleration factor: 2.000
[    38.100] (**) vc4-hdmi-1: (accel) acceleration threshold: 4
[    38.103] (II) event2  - vc4-hdmi-1: is tagged by udev as: Keyboard Pointingstick
[    38.104] (II) event2  - vc4-hdmi-1: device is a pointer
[    38.104] (II) event2  - vc4-hdmi-1: device is a keyboard
[    38.147] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput keyboard catchall"
[    38.147] (**) Goodix Capacitive TouchScreen: Applying InputClass "libinput touchscreen catchall"
[    38.147] (**) Goodix Capacitive TouchScreen: Applying InputClass "Touch rotation"
[    38.147] (II) Using input driver 'libinput' for 'Goodix Capacitive TouchScreen'
[    38.147] (**) Goodix Capacitive TouchScreen: always reports core events
[    38.147] (**) Option "Device" "/dev/input/event1"
[    38.147] (**) Option "_source" "_driver/libinput"
[    38.147] (II) libinput: Goodix Capacitive TouchScreen: is a virtual subdevice
[    38.147] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe205000.i2c/i2c-22/i2c-10/10-0014/input/input0/event1"
[    38.147] (II) XINPUT: Adding extended input device "Goodix Capacitive TouchScreen" (type: KEYBOARD, id 9)
[    38.147] (**) Option "xkb_model" "pc105"
[    38.147] (**) Option "xkb_layout" "us"
[    38.148] (**) vc4-hdmi-0: Applying InputClass "libinput keyboard catchall"
[    38.148] (II) Using input driver 'libinput' for 'vc4-hdmi-0'
[    38.148] (**) vc4-hdmi-0: always reports core events
[    38.148] (**) Option "Device" "/dev/input/event0"
[    38.148] (**) Option "_source" "_driver/libinput"
[    38.148] (II) libinput: vc4-hdmi-0: is a virtual subdevice
[    38.148] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef00700.hdmi/rc/rc0/input1/event0"
[    38.148] (II) XINPUT: Adding extended input device "vc4-hdmi-0" (type: KEYBOARD, id 10)
[    38.148] (**) Option "xkb_model" "pc105"
[    38.148] (**) Option "xkb_layout" "us"
[    38.148] (**) vc4-hdmi-1: Applying InputClass "libinput keyboard catchall"
[    38.148] (II) Using input driver 'libinput' for 'vc4-hdmi-1'
[    38.148] (**) vc4-hdmi-1: always reports core events
[    38.148] (**) Option "Device" "/dev/input/event2"
[    38.148] (**) Option "_source" "_driver/libinput"
[    38.148] (II) libinput: vc4-hdmi-1: is a virtual subdevice
[    38.148] (**) Option "config_info" "udev:/sys/devices/platform/soc/fef05700.hdmi/rc/rc1/input3/event2"
[    38.148] (II) XINPUT: Adding extended input device "vc4-hdmi-1" (type: KEYBOARD, id 11)
[    38.148] (**) Option "xkb_model" "pc105"
[    38.148] (**) Option "xkb_layout" "us"
[    38.220] (II) config/udev: Adding input device rotary@11 (/dev/input/event4)
[    38.220] (II) No input driver specified, ignoring this device.
[    38.220] (II) This device may have been added with another device file.
[    45.244] (II) modeset(0): Disabling kernel dirty updates, not required.

xrandr --display :0 --query

Screen 0: minimum 320 x 200, current 640 x 640, maximum 7680 x 7680
HDMI-1 connected primary 640x480+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   640x480       59.94*
HDMI-2 disconnected (normal left inverted right x axis y axis)
DSI-1 connected 480x640+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   480x640       60.85*+

running below rotates it properly, but doesn’t stick:
xrandr --display :0 --output DSI-1 --rotate left

So for the time being I did the following, but not sure if this is the proper way to do it. But it rotates correctly and sticks after a reboot.

mkdir /home/volumio/.config/openbox

cat >> /home/volumio/.config/openbox/autostart <<EOL
xrandr --output DSI-1 --rotate left
EOL

Any suggestions?

@Wheaten with 7"C display, this previously has done the trick for me.

Add a command corresponding to the display rotation angle at the beginning of the cmdline.txt file, save it and restart it to take effect.

sudo nano /boot/cmdline.txt

video=DSI-1:480x640e@60,rotate=270

*This is from Waveshare Wiki page

Hope it helps.

Was trying to avoid modifying the cmdline.txt as this will be lost after every OTA. But will play with to see if it does the trick for this screen.

[edit]
Didn’t work for this display, but thanks for reaching out.

What is your Pi model?

$ cat /proc/cpuinfo | grep Model
Model           : Raspberry Pi 4 Model B Rev 1.4

Please try

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotate=270

Nope, didn’t work:

cat /boot/userconfig.txt
# Add your custom config.txt options to this file, which will be preserved during updates
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotate=270

Too bad, I had remembered this post… but obviously it doesn’t help. :slightly_frowning_face:

Is the picture showing the default orientation of the display?

Yes it is. This is what it should be:

Another shot in the dark:

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotation:270

Nope didn’t work, but it did turn the FAN on :joy:

Did you create “99-vc4.conf” as described here?

No I didn’t as it was mentioned for the rPi5, should I try it?

Yes. Even if I’m not sure if that would help.

Add it, rebooted still wrong.
Still have this in userconfig.txt:
tried:

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotatation=270

and:

dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-waveshare-panel,2_8_inch,rotate=270

Also tried to install the drivers from waveshare on a previous build, but they don’t work as there is no driver for a 32Bit - rPi4 image.

Waveshare told another user with a 4" DSI display:

If you are using pi4 32-bit, please enter the 6.1.58/64 folder to run the driver.

So you might try the driver in the 64bit folder of Waveshare’s repo…

I did. However it errored out

$ uname -r
6.1.58-v7l+

Waveshare have only built their drivers for Pi3 (armv7) and Pi4 64bit (armv8), not armv7l used by Pi4 in 32bit mode.

modprobe: ERROR: could not insert 'WS_xinchDSI_Touch': Exec format error
modprobe: ERROR: could not insert 'WS_xinchDSI_Screen': Exec format error
It already exists and does not need to be added
It already exists and does not need to be added
It already exists and does not need to be added
It already exists and does not need to be added
It already exists and does not need to be added
It already exists and does not need to be added
Driver end Settings

I haven’t checked if this overlay is in Volumio, but perhaps is it possible to use generic dsi display overlay, from link that @Darmur shared?

Has anyone tried it?

“vc4-kms-dsi-generic” won’t help @Wheaten as it has no rotation parameter.

Guess I stick with the hack using .openbox.