[PLUGIN] Touch Display

For testing purposes please

  1. set the rotation on the plugins config page to 0 deg.,
  2. remove the line display_rotate=3 from /boot/userconfig.txt and
  3. rename /etc/X11/xorg.conf.d/40-libinput.conf to e.g. /etc/X11/xorg.conf.d/40-libinput.conf.bak.

Then reboot and check if display and touch orientiation are properly aligned. If that’s the case set the desired rotation angle on the plugin’s config page, reboot and check again.

  1. image
  2. Removed display_rotate=3
  3. ls -al
    -rw-r–r-- 1 root root 1486 Nov 25 23:18 40-libinput.conf.bak
    -rw-r–r-- 1 root root 375 Nov 25 23:36 95-touch_display-plugin.conf

After reboot the screen is rotated by 90 deg. touch by 180deg.

So I re-flashed the SD, started over.
That seems to do the trick. So prob something got broken/weird during the OS updates…

So after re-flashing Volumio the misalignment of display and touch is gone?

Do still need to rotate by 270 deg. and is that working now?

Yes it is!!!
So I guess somewhere a residue was left from previous attempts. As i recalled it was working earlier. But with multiple OS upgrades, plugin updates on the same SD something went wrong. Not sure what happened with the first clean install (failed first install of the plugin as mentioned in Volumio 3 RC1 - Open Beta Testing)

Thanks for your feedback!

Hello there, new to the board, but not to Volumio.

I built a stand-alone headphone music server with a Raspberry Pi 4 and a DSI monitor (WaveShare 4.3" capacitive touch display) using the latest build of Volumio (2.917) and the Touch Display plugin (1.3.0), and no other plugins. Everything works just fine except for the Screensaver Setting - it won’t turn off.

This was a rebuild of an earlier project using the same RPi but with a different screen. The screensaver worked fine on the older screen, but sadly died a while ago, so ordered a different / larger screen to replace it. That build ran an older version of Volumio and the Touch Display plugin (sorry, I don’t know what version either was, but I think it was one of the later 2.8 versions): there are no other plugins installed. When I plugged in the new screen it worked with the old settings fine, but then noticed the screen wouldn’t turn off when it was suppose to.

I then saw there was an update for Volumio, so I updated that and the new plugin, too - but then the RPi wouldn’t reboot and I had to manually turn it off and on again and it booted back up but still no screensaver function. I then did a fresh wipe / reinstall of the mSD card with the latest Volumio and touch display plugin - rebooting from Volumio now works again, but still no screensaver.

As this RPi is a dedicated headphone music server and is on 24/7, I’d really like the screen to turn off when it’s (mostly) not in use so would like to get this function back if at all possible. Any help would be appreciated! Thanks in advance

Hi Buma,

what are your screensaver settings (i.e. “Screensaver timeout” and “No screensaver while playing”)?

Also please connect to Volumio via SSH and post the output of

cat /boot/config.txt
and
cat /boot/userconfig.txt

Hello gvolt, thanks for your response

screensaver timeout = 120
no screensaver while playing = off (usually I have it set to ‘on’ but left it off after the reinstall)

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

include userconfig.txt

Volumio i2s setting below: do not alter
dtoverlay=allo-boss-dac-pcm512x-audio

userconfig.txt
display_lcd_rotate=1
display_hdmi_rotate=1
hdmi_blanking=1 ← I added this one in from another thread but didn’t change anything

The files are looking good.

hdmi_blanking=1 can be removed. It should be irrevlevant for DSI displays.

To investigate further please start watching the live log with

journalctl -f | grep touch_display

set the screensaver timeout to another value, e.g. 10 and click “Apply”.

Copy the log output and post it here or send it to me via PM.

Nov 27 09:25:02 h-amp-rpi volumio[934]: info: CALLMETHOD: miscellanea touch_display saveScreensaverConf [object Object]
Nov 27 09:25:02 h-amp-rpi volumio[934]: info: CoreCommandRouter::executeOnPlugin: touch_display , saveScreensaverConf
Nov 27 09:25:02 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 100 seconds.
Nov 27 09:25:02 h-amp-rpi volumio[934]: info: touch_display: Using Xserver unix domain socket /tmp/.X11-unix/X0
Nov 27 09:25:02 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 100 seconds.
Nov 27 09:25:30 h-amp-rpi volumio[934]: info: CALLMETHOD: miscellanea touch_display saveScreensaverConf [object Object]
Nov 27 09:25:30 h-amp-rpi volumio[934]: info: CoreCommandRouter::executeOnPlugin: touch_display , saveScreensaverConf
Nov 27 09:25:30 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 10 seconds.
Nov 27 09:27:16 h-amp-rpi volumio[934]: info: CALLMETHOD: miscellanea touch_display saveScreensaverConf [object Object]
Nov 27 09:27:16 h-amp-rpi volumio[934]: info: CoreCommandRouter::executeOnPlugin: touch_display , saveScreensaverConf
Nov 27 09:27:16 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 15 seconds.
Nov 27 09:27:16 h-amp-rpi volumio[934]: info: touch_display: Using Xserver unix domain socket /tmp/.X11-unix/X0
Nov 27 09:27:16 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 15 seconds.
Nov 27 09:27:38 h-amp-rpi volumio[934]: info: CALLMETHOD: miscellanea touch_display saveScreensaverConf [object Object]
Nov 27 09:27:38 h-amp-rpi volumio[934]: info: CoreCommandRouter::executeOnPlugin: touch_display , saveScreensaverConf
Nov 27 09:27:38 h-amp-rpi volumio[934]: info: touch_display: Setting screensaver timeout to 10 seconds.

it just kinda sits there after I changed it to 10 seconds, so changed it to 15, then back to 10 a few times, just to see if it was still running - but it’s still on? Thx

Please post the results of

DISPLAY=:0 xset q

before and after the screensaver timeout has expired.

before:
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/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
DPMS (Energy Star):
Standby: 0 Suspend: 0 Off: 60
DPMS is Enabled
Monitor is Off

after:
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/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
DPMS (Energy Star):
Standby: 0 Suspend: 0 Off: 60
DPMS is Enabled
Monitor is Off

and yup, still on - thx

This is not okay. With the screensaver inactive it should read Monitor is On. I have an appointment now and will get back to you later.

Please try the following:

xset -display :0 s reset dpms force on

Before and again after the time has expired, after which the screen saver should be activated run

xset -display :0 q

and post the results.

okay so this is odd…
when I issued the DISPLAY=:0 xset q command previously, I hadn’t touched the screen and it was ‘on’, but I just touched it now and it brightened up. After the screensaver time expiring, it reverted back to the previous state where it was still ‘on’ but just dimmer.

results of after the ‘force on’ is used (which, like touching it, makes it brighter, which I assume is it’s intent)
before:
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/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
DPMS (Energy Star):
Standby: 0 Suspend: 0 Off: 60
DPMS is Enabled
Monitor is On

after:
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/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
DPMS (Energy Star):
Standby: 0 Suspend: 0 Off: 60
DPMS is Enabled
Monitor is Off

thx!

So, the display reacts after the screensaver time has expired by reducing its brightness and also reacts to a subsequent touch event by brightnening up?

If you disable and re-enable the plugin or after a reboot, does this behaviour persist?

SO - interesting…
I uninstalled and reinstalled (because I misread your post) it and while it was in 0 degree rotation orientation, it operated properly and the screen went off…

BUT when I changed the orientation to 90 degrees (as it’s a vertical install) and rebooted, it reverts to the ‘dimmed-off’ state when the screensaver activates.

when I disabled (not uninstalled) and re-enabled it, as well as when I restarted it, the 90 degree ‘dimmed-off’ condition persists

thx

That’s weird. What you could try is upping the GPU memory value to maybe 36MB. You can set this value from the plugin’s config page. I would not really expect this to help, because if GPU memory was too low, you would typically have no image at all. But it’s worth a try.

HI again, upped it to 50mb but still does the ‘dimmed-off’ state thing sadly - sounds like this is an odd one, huh…

(edit) and just to reconfirm, I switched it back to 0 degree rotation and it does indeed go off - will try the other orientations, too

so, results are:
0 degrees - works as normal
90 degrees - ‘dimmed-off’
180 degrees - works as normal
270 degrees - ‘dimmed-off’

at least it’s consistent? Any ideas?