Touch Display plugin not rotating display 180°, but it is rotating touch controls

Pi4, external USB DAC, 5" OSOYOO DSI Touch Screen, Volumio 2.882

Installed plugins - Touch Display 1.3.0, Autoplay 1.0.0, Radio Paradise 1.1.5, Virtual Keyboard 1.0.4 (disabled)

Using the Touch Display plugin

  • when set to 0° the display is upside down compared to how I need it to be, the touch function corresponds to visual controls
  • when set to 90° the display rotates 90° clockwise (compared to 0°), touch corresponds to visual controls
  • when set to 180° the display rotates to 0° position, touch is 180° compared to visual controls - ie the touch feature is correct but the display is not
  • when set to 270° the display rotates 270° clockwise (compared to 0°), touch relates to visual controls

I’ve uninstalled and reinstalled Touch Display plugin but still get the same results.

I’ve checked /boot/userconfig.txt and there is no custom settings relating to the display

I’ve not check any other txt files, are there any others I should look in to?

It’s driving me nuts, the only setting I need does not to work for me.

Many thanks for helping me troubleshoot this further, I can’t think of anything else to check.

Please post the results of

cat /boot/config.txt

and

cat /boot/userconfig.txt

when rotation is set to 180 degrees.

1 Like

Thanks for fast response! Please see below.

in userconfig.txt

# Add your custom config.txt options to this file, which will be preserved during updates

#### Touch Display rotation setting below: do not alter ####
lcd_rotate=2
display_hdmi_rotate=2

in config.txt

initramfs volumio.initrd
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

Looks normal. Please show the results of

ls -al /etc/X11/xorg.conf.d

and

ls -al /usr/share/X11/xorg.conf.d

1 Like

here you go, thanks

volumio@living:~$ ls -al /etc/X11/xorg.conf.d

total 20
drwxr-xr-x 2 root root 4096 May 15 11:10 **.**
drwxr-xr-x 1 root root 4096 May 15 09:29 **..**
-rw-r--r-- 1 root root 316 May 15 11:10 95-touch_display-plugin.conf

volumio@living:~$ ls -al /usr/share/X11/xorg.conf.d

total 32
drwxr-xr-x 2 root root 4096 May 15 09:27 **.**
drwxr-xr-x 1 root root 4096 May 15 09:27 **..**
-rw-r--r-- 1 root root 1350 Nov 11 2016 10-quirks.conf
-rw-r--r-- 1 root root 788 Sep 30 2016 40-libinput.conf
-rw-r--r-- 1 root root 2747 Oct 28 2016 70-wacom.conf
-rw-r--r-- 1 root root 607 Dec 7 2016 99-fbturbo.conf

Hm, I’ve tried 180° rotation on Pi 3B and a Pi 4 (2GB), both equipped with an original Rapsberry Foundation display, running Volumio 2.882 and Touch Display plugin 1.3.0. On both systems rotation worked as expected. Are you able to test rotation on a Pi 3 and / or to tell what firmware version your Pi 4 has? Maybe newer firmware of Pi 4 has changed something regarding rotation.

1 Like

The Osoyoo instructions for flipping the display show the use of lcd_rotate=2 and display_rotate=2. This should not be necessary if the display would act like the orginal Raspberry screen, since “lcd_rotate=2” not only rotate touch but (should) also rotate the display. But maybe the Osoyoo screen behaves different than the original Raspberry screen in that regard. So (instead of the deprecated “display_rotate”) you might try adding display_lcd_rotate=2 to your userconfig.txt.

P.S. I just tested having lcd_rotate=2 and display_lcd_rotate=2 in /boot/userconfig.txt at the same time. With the orginal Raspberry screen this lead to the interesting result of the display effectively rotated by 0°. The touch was rotated by 180° which was expected since display_lcd_rotate=2 (in opposition to lcd_rotate=2 does not rotate touch.

P.P.S. Please post the result of lsmod

1 Like

Adding display_lcd_rotate=2 to userconfig.txt worked.

that file is now

#### Touch Display rotation setting below: do not alter ####
lcd_rotate=2
display_hdmi_rotate=2
display_lcd_rotate=2

I suppose display_hdmi_rotate=2 is not required

Sorry to take a while to come back to you, was out this afternoon. lsmod below…

many thanks for your help

volumio@living:~$ lsmod
Module                  Size  Used by
bnep                   20480  2 
hci_uart               40960  1 
btbcm                  16384  1 hci_uart
serdev                 20480  1 hci_uart
bluetooth             389120  24 hci_uart,bnep,btbcm
xt_REDIRECT            16384  1 
xt_tcpudp              16384  1 
iptable_nat            16384  1 
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 36864  2 nf_nat_ipv4,xt_REDIRECT
nf_conntrack          135168  3 nf_nat_ipv4,xt_REDIRECT,nf_nat
ecdh_generic           28672  1 bluetooth
nf_defrag_ipv6         20480  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
ip_tables              24576  1 iptable_nat
x_tables               32768  3 ip_tables,xt_tcpudp,xt_REDIRECT
nfsd                  319488  2 
brcmfmac              315392  0 
joydev                 20480  0 
brcmutil               16384  1 brcmfmac
snd_usb_audio         192512  2 
cfg80211              651264  1 brcmfmac
snd_hwdep              16384  1 snd_usb_audio
snd_usbmidi_lib        32768  1 snd_usb_audio
snd_seq_midi           16384  0 
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            32768  2 snd_seq_midi,snd_usbmidi_lib
evdev                  24576  4 
snd_bcm2835            24576  1 
snd_seq                69632  2 snd_seq_midi_event,snd_seq_midi
snd_pcm               102400  3 snd_usb_audio,snd_bcm2835
bcm2835_v4l2           45056  0 
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
bcm2835_codec          36864  0 
v4l2_mem2mem           24576  1 bcm2835_codec
snd_timer              32768  2 snd_seq,snd_pcm
v4l2_common            16384  1 bcm2835_v4l2
bcm2835_mmal_vchiq     32768  2 bcm2835_codec,bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
videobuf2_dma_contig    20480  1 bcm2835_codec
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2         24576  3 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
rfkill                 28672  4 bluetooth,cfg80211
videobuf2_common       45056  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd                    73728  14 snd_hwdep,snd_seq,snd_usb_audio,snd_timer,snd_rawmidi,snd_usbmidi_lib,snd_seq_device,snd_bcm2835,snd_pcm
videodev              200704  6 bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
raspberrypi_hwmon      16384  0 
hwmon                  16384  1 raspberrypi_hwmon
media                  36864  3 bcm2835_codec,videodev,v4l2_mem2mem
i2c_bcm2835            16384  0 
vc_sm_cma              36864  1 bcm2835_mmal_vchiq
rpivid_mem             16384  0 
uio_pdrv_genirq        16384  0 
uio                    20480  1 uio_pdrv_genirq
rpi_ft5406             16384  0 
rpi_backlight          16384  0 
i2c_dev                20480  0 
ipv6                  454656  106 
fuse                  110592  1 
squashfs               45056  1 
overlay               106496  1

Then the Osoyoo display (or its firmware) is not fully “compatible” with the original Raspberry screen which is a bummer since it uses the same module:

… which the Touch Display plugin uses to identify an original (or compatible…) Raspberry display.

No, not for your display, but leave it in there. :wink:

1 Like