Touch display plugin installation issues - X server does not start

Hello,

I am new to Volumio, trying to get the Touch Display Plugin working with the original 7" touch display.
I am using a Rasperry Pi 3B and a HiFiBerry DAC+ Pro.
My Volumio version is 2.861, the Touch Display Plugin version is 1.2.2.
I am using the German localization for the Volumio web GUI.

As the installation of the plugin aborted unsuccessfully when performed from the web GUI, I enabled ssh and tried to figure out what went wrong. (Side note: Trying to unistall the plugin from the web GUI also failed.)

I found the install.sh script in the folder /data/plugins/miscellanea/touch_display/ which seemed not to have run successfully. So I executed it manually with “bash ./install.sh” from the command line.
However, the two commands that create the files /opt/volumiokiosk.sh and /lib/systemd/system/volumio-kiosk.service did not have sufficient privileges albeit prefixed with “sudo”. (I think this is because the output redirection with “>” has a higher “priority” than the sudo command, should be crosschecked…)

Thus, I modified the script locally so that it creates the two files mentioned in /tmp/ and moves them with “sudo” to the desired places as a workaround. Finally, the script ran without error messages and the files were created.
However, after rebooting the X server did not start. Looking into the journal I found out that the volumio-kiosk.service did not start because of

Failed at step EXEC spawning /usr/bin/startx: No such file or directory

I tried to find the correct location of startx but “which startx” did not return anything.
With the help of https://packages.debian.org/file:startx I found out that I would need to install the package “xinit”.

After doing this I tried to start the service “volumio-kiosk” by invoking “systemctl start volumio-kiosk”.
But still the X server did not start. Looking into the journal I have now:

volumio startx[8144]: xauth: file /home/volumio/.Xauthority does not exist
volumio startx[8144]: xinit: unable to run server “/usr/bin/X”: No such file or directory
volumio startx[8144]: Use the – option, or make sure that /usr/bin is in your path and
volumio startx[8144]: that “/usr/bin/X” is a program or a link to the right type of server
volumio startx[8144]: for your display. Possible server names include:
volumio startx[8144]: Xorg Common X server for most displays
volumio startx[8144]: Xvfb Virtual frame buffer
volumio startx[8144]: Xfake kdrive-based virtual frame buffer
volumio startx[8144]: Xnest X server nested in a window on another X server
volumio startx[8144]: Xephyr kdrive-based nested X server
volumio startx[8144]: Xvnc X server accessed over VNC’s RFB protocol
volumio startx[8144]: Xdmx Distributed Multi-head X server

(The entry “allowed_users=anybody” in /etc/X11/Xwrapper.config is present.)

Does anyone have any idea?

Thank you for any replies!

Regards,

-oli-

PS: I used the search function on this page and did not find any current posts regarding my issues, only older issues (like needing to configure the keyboard etc.).
PPS: In principle the screen is working, I can see a console login prompt (text mode) on it when Volumio finished booting.

Short update:
It seemed that for some reason the install.sh script did not run so smooth as I thought originally.
So I manually installed the packages xorg, openbox and xserver-xorg-legacy.
After trying to start the X server / volumio-kiosk with “systemctl start volumio-kiosk” it get the following error messages when looking at systemctl status volumio-kiosk:

● volumio-kiosk.service - Volumio Kiosk
   Loaded: loaded (/lib/systemd/system/volumio-kiosk.service; disabled)
   Active: inactive (dead)

Jan 03 10:44:29 volumio startx[1312]: to make sure that you have the latest version.
Jan 03 10:44:29 volumio startx[1312]: Markers: (--) probed, (**) from config file, (==) default setting,
Jan 03 10:44:29 volumio startx[1312]: (++) from command line, (!!) notice, (II) informational,
Jan 03 10:44:29 volumio startx[1312]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Jan 03 10:44:29 volumio startx[1312]: (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jan  3 10:44:29 2021
Jan 03 10:44:29 volumio startx[1312]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Jan 03 10:44:29 volumio startx[1312]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Jan 03 10:44:29 volumio startx[1312]: modprobe: FATAL: Module g2d_23 not found.
Jan 03 10:44:31 volumio startx[1312]: xinit: connection to X server lost
Jan 03 10:44:31 volumio startx[1312]: waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.

For completeness here the content of /var/log/Xorg.0.log:

X.Org X Server 1.18.4
Release Date: 2016-07-19
[    44.717] X Protocol Version 11, Revision 0
[    44.717] Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
[    44.717] Current Operating System: Linux volumio 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l
[    44.717] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.
mem_size=0x40000000  splash quiet 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 console=t
tyS0,115200 kgdboc=ttyS0,115200 console=tty1 imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh elevator=noop rootwait bootdelay=5 logo.nologo vt.global_cursor_defaul
t=0 loglevel=0 snd-bcm2835.enable_compat_alsa=1 snd_bcm2835.enable_headphones=1
[    44.717] Build Date: 11 November 2016  11:59:59AM
[    44.717] xorg-server 2:1.18.4-2+rpi1 (https://www.debian.org/support) 
[    44.717] Current version of pixman: 0.32.6
[    44.717]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    44.717] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    44.717] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jan  3 10:44:29 2021
[    44.722] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    44.722] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    44.727] (==) No Layout section.  Using the first Screen section.
[    44.727] (==) No screen section available. Using defaults.
[    44.727] (**) |-->Screen "Default Screen Section" (0)
[    44.727] (**) |   |-->Monitor "<default monitor>"
[    44.732] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[    44.732] (**) |   |-->Device "Allwinner A10/A13 FBDEV"
[    44.732] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    44.733] (==) Automatically adding devices
[    44.733] (==) Automatically enabling devices
[    44.733] (==) Automatically adding GPU devices
[    44.739] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    44.740] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    44.740]    Entry deleted from font path.
[    44.743] (==) 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
[    44.743] (==) ModulePath set to "/usr/lib/xorg/modules"
[    44.743] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    44.743] (II) Loader magic: 0x6a6f20
[    44.743] (II) Module ABI versions:
[    44.743]    X.Org ANSI C Emulation: 0.4
[    44.743]    X.Org Video Driver: 20.0
[    44.743]    X.Org XInput driver : 22.1
[    44.743]    X.Org Server Extension : 9.0
[    44.745] (--) using VT number 2

[    44.745] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    44.745] (II) no primary bus or device found
[    44.746] (II) LoadModule: "glx"
[    44.750] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    44.806] (II) Module glx: vendor="X.Org Foundation"
[    44.806]    compiled for 1.18.4, module version = 1.0.0
[    44.806]    ABI class: X.Org Server Extension, version 9.0
[    44.806] (==) AIGLX enabled
[    44.806] (II) LoadModule: "fbturbo"
[    44.807] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[    44.811] (II) Module fbturbo: vendor="X.Org Foundation"
[    44.811]    compiled for 1.18.4, module version = 0.5.1
[    44.812]    Module class: X.Org Video Driver
[    44.812]    ABI class: X.Org Video Driver, version 20.0
[    44.812] (II) FBTURBO: driver for framebuffer: fbturbo
[    44.815] (WW) Falling back to old probe method for fbturbo
[    44.816] (II) Loading sub module "fbdevhw"
[    44.816] (II) LoadModule: "fbdevhw"
[    44.816] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    44.819] (II) Module fbdevhw: vendor="X.Org Foundation"
[    44.819]    compiled for 1.18.4, module version = 0.0.2
[    44.819]    ABI class: X.Org Video Driver, version 20.0
[    44.819] (II) FBTURBO(0): using /dev/fb0
[    44.819] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    44.819] (II) FBTURBO(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    44.819] (==) FBTURBO(0): Depth 24, (==) framebuffer bpp 32
[    44.819] (==) FBTURBO(0): RGB weight 888
[    44.819] (==) FBTURBO(0): Default visual is TrueColor
[    44.819] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[    44.819] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 1500kB)
[    44.819] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
[    44.819] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
[    44.819] (II) FBTURBO(0): processor: Unknown
[    44.819] (II) FBTURBO(0): checking modes against framebuffer device...
[    44.819] (II) FBTURBO(0): checking modes against monitor...
[    44.820] (--) FBTURBO(0): Virtual size is 800x480 (pitch 800)
[    44.820] (**) FBTURBO(0):  Built-in mode "current"
[    44.820] (==) FBTURBO(0): DPI set to (96, 96)
[    44.820] (II) Loading sub module "fb"
[    44.820] (II) LoadModule: "fb"
[    44.820] (II) Loading /usr/lib/xorg/modules/libfb.so
[    44.826] (II) Module fb: vendor="X.Org Foundation"
[    44.826]    compiled for 1.18.4, module version = 1.0.0
[    44.826]    ABI class: X.Org ANSI C Emulation, version 0.4
[    44.826] (==) Depth 24 pixmap format is 32 bpp
[    44.846] (II) FBTURBO(0): using backing store heuristics
[    44.853] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    44.853] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    44.853] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    44.853] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    44.853] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    44.853] (==) FBTURBO(0): Backing store enabled
[    44.862] (==) FBTURBO(0): DPMS enabled
[    44.862] (II) FBTURBO(0): failed to enable hardware cursor
[    44.862] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    44.862] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    44.864] (==) RandR enabled
[    44.895] (II) SELinux: Disabled on system
[    44.904] (II) AIGLX: Screen 0 is not DRI2 capable
[    44.904] (EE) AIGLX: reverting to software rendering
[    46.406] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[    46.408] (II) AIGLX: Loaded and initialized swrast
[    46.408] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    46.655] (II) config/udev: Adding input device FT5406 memory based driver (/dev/input/event0)
[    46.655] (**) FT5406 memory based driver: Applying InputClass "libinput touchscreen catchall"
[    46.655] (**) FT5406 memory based driver: Applying InputClass "Touch rotation"
[    46.655] (II) LoadModule: "libinput"
[    46.655] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    46.686] (II) Module libinput: vendor="X.Org Foundation"
[    46.687]    compiled for 1.18.4, module version = 0.20.0
[    46.687]    Module class: X.Org XInput Driver
[    46.687]    ABI class: X.Org XInput driver, version 22.1
[    46.687] (II) Using input driver 'libinput' for 'FT5406 memory based driver'
[    46.687] (**) FT5406 memory based driver: always reports core events
[    46.687] (**) Option "Device" "/dev/input/event0"
[    46.687] (**) Option "_source" "server/udev"
[    46.688] (II) input device 'FT5406 memory based driver', /dev/input/event0 is tagged by udev as: Touchscreen
[    46.688] (II) input device 'FT5406 memory based driver', /dev/input/event0 is a touch device
[    46.740] (**) Option "config_info" "udev:/sys/devices/virtual/input/input0/event0"
[    46.740] (II) XINPUT: Adding extended input device "FT5406 memory based driver" (type: TOUCHSCREEN, id 6)
[    46.740] (**) Option "AccelerationScheme" "none"
[    46.740] (**) FT5406 memory based driver: (accel) selected scheme none/0
[    46.740] (**) FT5406 memory based driver: (accel) acceleration factor: 2.000
[    46.740] (**) FT5406 memory based driver: (accel) acceleration threshold: 4
[    46.741] (II) input device 'FT5406 memory based driver', /dev/input/event0 is tagged by udev as: Touchscreen
[    46.741] (II) input device 'FT5406 memory based driver', /dev/input/event0 is a touch device
[    46.742] (II) config/udev: Adding input device FT5406 memory based driver (/dev/input/mouse0)
[    46.742] (II) No input driver specified, ignoring this device.
[    46.742] (II) This device may have been added with another device file.
[    47.382] (II) UnloadModule: "libinput"
[    47.403] (II) Server terminated successfully (0). Closing log file.

Any ideas?

Regards,
-oli-

Hi!
Honestly, the best is to remove the plugin and reinstall it… Be patient, it takes long time.
It works as this, for sure…

1 Like

I had no time to check the logs you provided. But I have seen the installation of the plugin fail because the the download of some of the required packages failed - I think mostly due to network / dns problems. It can be laborious to find out in what state the installation is after that. So, before we invest too much time into investigating what has messed up I would suggest to start with a fresh Volumio installation. If you should decide to take that route watch the logs while the plugin installs and watch for possible download errors.

1 Like

Thanks for the reply!
How can I uninstall the plugin manually?

Try

rm -Rf /data/plugins/miscellanea/touch*

If you can’t uninstall through the UI, you might try to run uninstall.sh from /data/plugins/miscellanea/touch_display using sudo. But as mentioned before I would recommend to start with a new Volumio system, especially if you already have several things to “repair” the plugin installation by manually installing packages.

1 Like

Just to add: That would not remove the additional software packages that have been installed during the plugin installation process.

Just for future reference the last plugin installation log is available at /tmp/installog - so if something fails, that would the first place to look for clues. :slight_smile:

1 Like

Thank you very much for the hints.
I started with a fresh Volumio installation, this time using a wired LAN connection.
After initial setup wizard (and enabling SSH) I installed the Touch Screen plugin from the web UI and watched /tmp/installog with tail -f. All went smooth, I had no error messages. After enabling the plugin it now works! =) =)

Regards,
-oli-

1 Like

Many thanks, for your feedback!