Volumio with 3.5" TFT Touch Screen (GPIO) RPi 3B+

Yes, Volume version 3.198, the system is clean, only the Touch Display plugin is installed. Thank you, I will try.

@moderators I suggest moving posts 287 to 292 to a new thread as they do not involve a 3.5" SPI display. As a title I would suggest something like “Volumio with 5” HDMI display with resistive touch screen".

Yes, thank you, the screen is working. I haven’t figured out the axes of the touchscreen yet, but the screen reacts to clicks. In addition, there is an inversion of colors, the picture on the screen looks wrong. Tell me, please, is there an opportunity to fix this?

I suggest to enable the mouse pointer to be shown on the Touch Display plugin’s config page, so you you could easier determine if / how axes are inverted or swapped.

Could you post a picture please?

You could try adding

Option  "InvertX"       "1"
Option  "InvertY"       "1"

to “/etc/X11/xorg.conf.d/99-calibration.conf” so it would look like

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "140 3951 261 3998"
        Option  "SwapAxes"      "0"
        Option  "InvertX"       "1"
        Option  "InvertY"       "1"
EndSection

Or, if there is a 180 degree rotation of the touch screen instead of an inversion of the axes, you might try another calibration file which should rotate touch by 180 degrees:

sudo curl -L https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-calibration.conf-5-180 -o /etc/X11/xorg.conf.d/99-calibration.conf

Regarding the color issue: Try upping the amount of memory used for the GPU to e.g. 64MB. You find an option on the plugin’s config page to do so. If that should not help, you may play around with the value of the “config_hdmi_boost” setting in “/boot/userconfig.txt”. Increase or decrease the value (minimum is 0 and maximum 11).

Also make sure the display is supplied with sufficient power.

The touch worked correctly with such settings:
Option “SwapAxes” “1”
Option “InvertX” “1”
Option “InvertY” “1”
Thank you very much!

is anyone able to help me? using terminator via mac but still cannot escape the white screen! tia

More information is needed…

  1. What is your Volumio version?

  2. Which version of the Touch Display plugin are you using?

  3. What is the brand and exact model name of your screen?

  4. Did you install any additional files or did you modify any files in order to make the screen work? If so which?

  5. Do you see any error messages when you start the Touch Display plugin? If so, what’s their message?

touch display is 3.5 rpi display and just displaya white when turned on.
followed the google doc with no luck
volumio isnt even booting up now and unable to find the device.

Sorry, but that’s pretty unspecific.

There are a lot of 3.5" displays that use different techniques and require different installation steps.

If the system is not booting anymore the best option is to start with a fresh Volumio system. Starting from there we can do the display’s installation step by step, but please provide the requested information about Volumio version and brand and model name of your screen. If you can’t find that piece of information post a picture of the screen’s PCB.

Hi michel8166
I have try to do on you instruction , but still not work .
I used RPI 3 , IQaudio DAC+ , Volumio V2.773.
can you help me.

Thanks.

do you have the same type of touchscreen if so then it should work with those instructions.

if not you should ask @gvolt who also helped me then and knows a lot more about it.

I can only see the cursor blinking every second. any ideas ???

Did you already install the Touch Display plugin?

What Volumio version are you using and what hardware is Volumio running on?

What is the brand and exact model name of your screen?

@gvolt Could you please help in understanding what exact steps do I need to change in the guide to be able to use this 3.5 GPIO screen. Ihave not yet followed the steps in the guide, don’t want to mess up the instalation.
Thank you.

I suggest to try the following steps:

  1. Install the Touch Display plugin.

  2. Execute

sudo apt-get -y install xserver-xorg-video-fbturbo

sudo apt-get -y install xserver-xorg-input-evdev

sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

sudo curl -L https://github.com/goodtft/LCD-show/raw/master/usr/mhs35-overlay.dtb -o /boot/overlays/mhs35.dtbo

sudo curl -L https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-calibration.conf-mhs35-90 -o /etc/X11/xorg.conf.d/99-calibration.conf

sudo curl -L https://raw.githubusercontent.com/goodtft/LCD-show/master/usr/99-fbturbo.conf -o /usr/share/X11/xorg.conf.d/99-fbturbo.conf

cat >> /boot/userconfig.txt <<EOL

dtparam=spi=on
dtoverlay=mhs35
EOL
  1. Reboot.

  2. If the display should not have the orientation you are looking for, add a rotation parameter to the overlay in “/boot/userconfig.txt” so it looks something like this:

dtoverlay=mhs35:rotate=90

This would rotate the display (not touch) by 90 degrees clockwise.

  1. Reboot once again.

  2. If the display rotation appears to be correct now, check if the touch function is already properly aligned to the display. If this should not the be case try to find out by what amount touch has to be rotated, so we can have a look how to correct that.

Edit: Changed the order of commands in step 2.

Edit 2: Changed the calibration file according to post #313 ff. in order to have touch aligned to the display in landscape mode.

After the reboot the screen is white and there seems to be no activity on the led. Are these scripts dependent on the Pi version maybe. Mine is a Pi 4B.

No.

Do you have SSH access to Volumio? If so, please post the output of

cat /var/log/Xorg.0.log

Here is the outupt. The screen is black rn.

volumio@boombox:~$ cat /var/log/Xorg.0.log
[    80.359] 
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[    80.359] Build Operating System: Linux 5.4.0-72-generic armv8l Raspbian
[    80.359] Current Operating System: Linux boombox 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l
[    80.359] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=640 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=E4:5F:01:3F:F3:B8 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=0 snd_bcm2835.enable_hdmi=1 loglevel=0
[    80.360] Build Date: 04 January 2022  10:05:34AM
[    80.360] xorg-server 2:1.20.4-1+rpt4+deb10u4 (https://www.debian.org/support) 
[    80.360] Current version of pixman: 0.36.0
[    80.360]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    80.360] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    80.360] (==) Log file: "/var/log/Xorg.0.log", Time: Tue May 24 19:30:10 2022
[    80.361] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    80.361] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    80.362] (==) No Layout section.  Using the first Screen section.
[    80.362] (==) No screen section available. Using defaults.
[    80.362] (**) |-->Screen "Default Screen Section" (0)
[    80.362] (**) |   |-->Monitor "<default monitor>"
[    80.362] (==) No device specified for screen "Default Screen Section".
        Using the first device section listed.
[    80.362] (**) |   |-->Device "Allwinner A10/A13 FBDEV"
[    80.362] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    80.362] (==) Automatically adding devices
[    80.363] (==) Automatically enabling devices
[    80.363] (==) Automatically adding GPU devices
[    80.363] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    80.363] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    80.363]    Entry deleted from font path.
[    80.363] (==) 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
[    80.363] (==) ModulePath set to "/usr/lib/xorg/modules"
[    80.363] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    80.363] (II) Loader magic: 0x1fdf80
[    80.363] (II) Module ABI versions:
[    80.363]    X.Org ANSI C Emulation: 0.4
[    80.363]    X.Org Video Driver: 24.0
[    80.363]    X.Org XInput driver : 24.1
[    80.363]    X.Org Server Extension : 10.0
[    80.364] (--) using VT number 2

[    80.364] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    80.365] (II) no primary bus or device found
[    80.365] (II) LoadModule: "glx"
[    80.366] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    80.368] (II) Module glx: vendor="X.Org Foundation"
[    80.368]    compiled for 1.20.4, module version = 1.0.0
[    80.368]    ABI class: X.Org Server Extension, version 10.0
[    80.368] (II) LoadModule: "fbturbo"
[    80.369] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[    80.369] (II) Module fbturbo: vendor="X.Org Foundation"
[    80.369]    compiled for 1.20.3, module version = 0.5.1
[    80.369]    Module class: X.Org Video Driver
[    80.369]    ABI class: X.Org Video Driver, version 24.0
[    80.369] (II) FBTURBO: driver for framebuffer: fbturbo
[    80.370] (WW) Falling back to old probe method for fbturbo
[    80.370] (II) Loading sub module "fbdevhw"
[    80.370] (II) LoadModule: "fbdevhw"
[    80.370] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    80.370] (II) Module fbdevhw: vendor="X.Org Foundation"
[    80.370]    compiled for 1.20.4, module version = 0.0.2
[    80.370]    ABI class: X.Org Video Driver, version 24.0
[    80.371] (II) FBTURBO(0): using /dev/fb0
[    80.371] (II) FBTURBO(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    80.371] (==) FBTURBO(0): Depth 24, (==) framebuffer bpp 32
[    80.371] (==) FBTURBO(0): RGB weight 888
[    80.371] (==) FBTURBO(0): Default visual is TrueColor
[    80.371] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[    80.371] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 1200kB)
[    80.371] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    80.371] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
[    80.371] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
[    80.371] (II) FBTURBO(0): processor: Unknown
[    80.371] (II) FBTURBO(0): checking modes against framebuffer device...
[    80.371] (II) FBTURBO(0): checking modes against monitor...
[    80.371] (II) FBTURBO(0): Virtual size is 640x480 (pitch 640)
[    80.371] (**) FBTURBO(0):  Built-in mode "current"
[    80.371] (==) FBTURBO(0): DPI set to (96, 96)
[    80.371] (II) Loading sub module "fb"
[    80.371] (II) LoadModule: "fb"
[    80.371] (II) Loading /usr/lib/xorg/modules/libfb.so
[    80.372] (II) Module fb: vendor="X.Org Foundation"
[    80.372]    compiled for 1.20.4, module version = 1.0.0
[    80.372]    ABI class: X.Org ANSI C Emulation, version 0.4
[    80.372] (II) FBTURBO(0): using backing store heuristics
[    80.381] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    80.381] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    80.381] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    80.381] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    80.381] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    80.381] (==) FBTURBO(0): Backing store enabled
[    80.382] (==) FBTURBO(0): DPMS enabled
[    80.382] (II) FBTURBO(0): failed to enable hardware cursor
[    80.382] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    80.382] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    80.382] (II) Initializing extension Generic Event Extension
[    80.383] (II) Initializing extension SHAPE
[    80.383] (II) Initializing extension MIT-SHM
[    80.384] (II) Initializing extension XInputExtension
[    80.384] (II) Initializing extension XTEST
[    80.385] (II) Initializing extension BIG-REQUESTS
[    80.385] (II) Initializing extension SYNC
[    80.386] (II) Initializing extension XKEYBOARD
[    80.387] (II) Initializing extension XC-MISC
[    80.387] (II) Initializing extension SECURITY
[    80.388] (II) Initializing extension XFIXES
[    80.388] (II) Initializing extension RENDER
[    80.389] (II) Initializing extension RANDR
[    80.390] (II) Initializing extension COMPOSITE
[    80.390] (II) Initializing extension DAMAGE
[    80.391] (II) Initializing extension MIT-SCREEN-SAVER
[    80.392] (II) Initializing extension DOUBLE-BUFFER
[    80.392] (II) Initializing extension RECORD
[    80.393] (II) Initializing extension DPMS
[    80.393] (II) Initializing extension Present
[    80.394] (II) Initializing extension DRI3
[    80.394] (II) Initializing extension X-Resource
[    80.394] (II) Initializing extension XVideo
[    80.395] (II) Initializing extension XVideo-MotionCompensation
[    80.395] (II) Initializing extension SELinux
[    80.395] (II) SELinux: Disabled on system
[    80.395] (II) Initializing extension GLX
[    80.395] (II) AIGLX: Screen 0 is not DRI2 capable
[    80.485] (II) IGLX: Loaded and initialized swrast
[    80.485] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    80.485] (II) Initializing extension XFree86-VidModeExtension
[    80.486] (II) Initializing extension XFree86-DGA
[    80.486] (II) Initializing extension XFree86-DRI
[    80.486] (II) Initializing extension DRI2
[    80.604] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    80.604] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    80.604] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    80.604] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    80.604] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    80.604] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    80.604] (II) LoadModule: "evdev"
[    80.604] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    80.605] (II) Module evdev: vendor="X.Org Foundation"
[    80.605]    compiled for 1.20.3, module version = 2.10.6
[    80.605]    Module class: X.Org XInput Driver
[    80.605]    ABI class: X.Org XInput driver, version 24.1
[    80.605] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    80.605] (**) ADS7846 Touchscreen: always reports core events
[    80.605] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    80.605] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    80.605] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    80.605] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    80.605] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    80.605] (**) Option "SwapAxes" "0"
[    80.605] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    80.605] (**) Option "EmulateThirdButton" "1"
[    80.605] (**) Option "EmulateThirdButtonTimeout" "1000"
[    80.605] (**) Option "EmulateThirdButtonMoveThreshold" "300"
[    80.606] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    80.606] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    80.606] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    80.606] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[    80.606] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    80.606] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    80.606] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    80.606] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    80.606] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    80.608] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    80.608] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    80.608] (II) No input driver specified, ignoring this device.
[    80.608] (II) This device may have been added with another device file.
[    80.691] (II) evdev: ADS7846 Touchscreen: Close
[    80.691] (II) UnloadModule: "evdev"
[    80.697] (II) FBTURBO(0): using backing store heuristics
[    80.707] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    80.707] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    80.707] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    80.707] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    80.708] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    80.708] (==) FBTURBO(0): DPMS enabled
[    80.708] (II) FBTURBO(0): failed to enable hardware cursor
[    80.708] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    80.708] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    80.709] (II) Initializing extension Generic Event Extension
[    80.709] (II) Initializing extension SHAPE
[    80.710] (II) Initializing extension MIT-SHM
[    80.710] (II) Initializing extension XInputExtension
[    80.711] (II) Initializing extension XTEST
[    80.712] (II) Initializing extension BIG-REQUESTS
[    80.712] (II) Initializing extension SYNC
[    80.713] (II) Initializing extension XKEYBOARD
[    80.714] (II) Initializing extension XC-MISC
[    80.714] (II) Initializing extension SECURITY
[    80.715] (II) Initializing extension XFIXES
[    80.715] (II) Initializing extension RENDER
[    80.716] (II) Initializing extension RANDR
[    80.717] (II) Initializing extension COMPOSITE
[    80.718] (II) Initializing extension DAMAGE
[    80.718] (II) Initializing extension MIT-SCREEN-SAVER
[    80.719] (II) Initializing extension DOUBLE-BUFFER
[    80.719] (II) Initializing extension RECORD
[    80.720] (II) Initializing extension DPMS
[    80.720] (II) Initializing extension Present
[    80.721] (II) Initializing extension DRI3
[    80.721] (II) Initializing extension X-Resource
[    80.722] (II) Initializing extension XVideo
[    80.722] (II) Initializing extension XVideo-MotionCompensation
[    80.722] (II) Initializing extension SELinux
[    80.722] (II) SELinux: Disabled on system
[    80.722] (II) Initializing extension GLX
[    80.723] (II) AIGLX: Screen 0 is not DRI2 capable
[    80.737] (II) IGLX: Loaded and initialized swrast
[    80.737] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    80.737] (II) Initializing extension XFree86-VidModeExtension
[    80.737] (II) Initializing extension XFree86-DGA
[    80.738] (II) Initializing extension XFree86-DRI
[    80.738] (II) Initializing extension DRI2
[    80.859] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    80.859] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    80.859] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    80.859] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    80.859] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    80.859] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    80.859] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    80.859] (**) ADS7846 Touchscreen: always reports core events
[    80.859] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    80.860] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    80.860] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    80.860] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    80.860] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    80.860] (**) Option "SwapAxes" "0"
[    80.860] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    80.860] (**) Option "EmulateThirdButton" "1"
[    80.860] (**) Option "EmulateThirdButtonTimeout" "1000"
[    80.860] (**) Option "EmulateThirdButtonMoveThreshold" "300"
[    80.860] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    80.860] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    80.860] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    80.860] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    80.860] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    80.860] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    80.860] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    80.860] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    80.862] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    80.862] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    80.862] (II) No input driver specified, ignoring this device.
[    80.862] (II) This device may have been added with another device file.
[    80.912] (II) evdev: ADS7846 Touchscreen: Close
[    80.912] (II) UnloadModule: "evdev"
[    80.918] (II) FBTURBO(0): using backing store heuristics
[    80.928] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    80.928] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    80.929] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    80.929] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    80.929] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    80.929] (==) FBTURBO(0): DPMS enabled
[    80.929] (II) FBTURBO(0): failed to enable hardware cursor
[    80.929] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    80.929] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    80.929] (II) Initializing extension Generic Event Extension
[    80.930] (II) Initializing extension SHAPE
[    80.931] (II) Initializing extension MIT-SHM
[    80.931] (II) Initializing extension XInputExtension
[    80.932] (II) Initializing extension XTEST
[    80.933] (II) Initializing extension BIG-REQUESTS
[    80.933] (II) Initializing extension SYNC
[    80.934] (II) Initializing extension XKEYBOARD
[    80.935] (II) Initializing extension XC-MISC
[    80.935] (II) Initializing extension SECURITY
[    80.936] (II) Initializing extension XFIXES
[    80.936] (II) Initializing extension RENDER
[    80.937] (II) Initializing extension RANDR
[    80.938] (II) Initializing extension COMPOSITE
[    80.938] (II) Initializing extension DAMAGE
[    80.939] (II) Initializing extension MIT-SCREEN-SAVER
[    80.940] (II) Initializing extension DOUBLE-BUFFER
[    80.940] (II) Initializing extension RECORD
[    80.941] (II) Initializing extension DPMS
[    80.941] (II) Initializing extension Present
[    80.942] (II) Initializing extension DRI3
[    80.942] (II) Initializing extension X-Resource
[    80.942] (II) Initializing extension XVideo
[    80.943] (II) Initializing extension XVideo-MotionCompensation
[    80.943] (II) Initializing extension SELinux
[    80.943] (II) SELinux: Disabled on system
[    80.943] (II) Initializing extension GLX
[    80.944] (II) AIGLX: Screen 0 is not DRI2 capable
[    80.956] (II) IGLX: Loaded and initialized swrast
[    80.956] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    80.956] (II) Initializing extension XFree86-VidModeExtension
[    80.957] (II) Initializing extension XFree86-DGA
[    80.958] (II) Initializing extension XFree86-DRI
[    80.958] (II) Initializing extension DRI2
[    81.076] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    81.076] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.076] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    81.076] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.076] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    81.076] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.076] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    81.076] (**) ADS7846 Touchscreen: always reports core events
[    81.076] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    81.076] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    81.076] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    81.076] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    81.076] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    81.076] (**) Option "SwapAxes" "0"
[    81.076] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    81.076] (**) Option "EmulateThirdButton" "1"
[    81.076] (**) Option "EmulateThirdButtonTimeout" "1000"
[    81.076] (**) Option "EmulateThirdButtonMoveThreshold" "300"
[    81.076] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    81.076] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    81.076] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    81.076] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    81.077] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    81.077] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    81.077] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    81.077] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    81.079] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    81.079] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.079] (II) No input driver specified, ignoring this device.
[    81.079] (II) This device may have been added with another device file.
[    81.142] (II) evdev: ADS7846 Touchscreen: Close
[    81.142] (II) UnloadModule: "evdev"
[    81.147] (II) FBTURBO(0): using backing store heuristics
[    81.158] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    81.158] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    81.158] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    81.158] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    81.158] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    81.159] (==) FBTURBO(0): DPMS enabled
[    81.159] (II) FBTURBO(0): failed to enable hardware cursor
[    81.159] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    81.159] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    81.159] (II) Initializing extension Generic Event Extension
[    81.160] (II) Initializing extension SHAPE
[    81.160] (II) Initializing extension MIT-SHM
[    81.161] (II) Initializing extension XInputExtension
[    81.162] (II) Initializing extension XTEST
[    81.163] (II) Initializing extension BIG-REQUESTS
[    81.163] (II) Initializing extension SYNC
[    81.164] (II) Initializing extension XKEYBOARD
[    81.164] (II) Initializing extension XC-MISC
[    81.165] (II) Initializing extension SECURITY
[    81.165] (II) Initializing extension XFIXES
[    81.166] (II) Initializing extension RENDER
[    81.167] (II) Initializing extension RANDR
[    81.168] (II) Initializing extension COMPOSITE
[    81.168] (II) Initializing extension DAMAGE
[    81.169] (II) Initializing extension MIT-SCREEN-SAVER
[    81.169] (II) Initializing extension DOUBLE-BUFFER
[    81.170] (II) Initializing extension RECORD
[    81.170] (II) Initializing extension DPMS
[    81.171] (II) Initializing extension Present
[    81.172] (II) Initializing extension DRI3
[    81.172] (II) Initializing extension X-Resource
[    81.172] (II) Initializing extension XVideo
[    81.173] (II) Initializing extension XVideo-MotionCompensation
[    81.173] (II) Initializing extension SELinux
[    81.173] (II) SELinux: Disabled on system
[    81.173] (II) Initializing extension GLX
[    81.173] (II) AIGLX: Screen 0 is not DRI2 capable
[    81.186] (II) IGLX: Loaded and initialized swrast
[    81.186] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    81.186] (II) Initializing extension XFree86-VidModeExtension
[    81.187] (II) Initializing extension XFree86-DGA
[    81.187] (II) Initializing extension XFree86-DRI
[    81.187] (II) Initializing extension DRI2
[    81.306] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    81.306] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.306] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    81.306] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.306] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    81.306] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.306] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    81.306] (**) ADS7846 Touchscreen: always reports core events
[    81.306] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    81.306] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    81.306] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    81.306] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    81.306] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    81.306] (**) Option "SwapAxes" "0"
[    81.306] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    81.307] (**) Option "EmulateThirdButton" "1"
[    81.307] (**) Option "EmulateThirdButtonTimeout" "1000"
[    81.307] (**) Option "EmulateThirdButtonMoveThreshold" "300"
[    81.307] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    81.307] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    81.307] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    81.307] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    81.307] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    81.307] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    81.307] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    81.307] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    81.309] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    81.309] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.309] (II) No input driver specified, ignoring this device.
[    81.309] (II) This device may have been added with another device file.
[    81.401] (II) evdev: ADS7846 Touchscreen: Close
[    81.401] (II) UnloadModule: "evdev"
[    81.407] (II) FBTURBO(0): using backing store heuristics
[    81.418] (II) FBTURBO(0): can't load 'g2d_23' kernel module
[    81.418] (II) FBTURBO(0): failed to enable the use of sunxi display controller
[    81.418] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
[    81.418] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
[    81.418] (II) FBTURBO(0): enabled fbdev copyarea acceleration
[    81.419] (==) FBTURBO(0): DPMS enabled
[    81.419] (II) FBTURBO(0): failed to enable hardware cursor
[    81.419] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
[    81.419] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
[    81.419] (II) Initializing extension Generic Event Extension
[    81.420] (II) Initializing extension SHAPE
[    81.420] (II) Initializing extension MIT-SHM
[    81.421] (II) Initializing extension XInputExtension
[    81.422] (II) Initializing extension XTEST
[    81.423] (II) Initializing extension BIG-REQUESTS
[    81.423] (II) Initializing extension SYNC
[    81.424] (II) Initializing extension XKEYBOARD
[    81.424] (II) Initializing extension XC-MISC
[    81.425] (II) Initializing extension SECURITY
[    81.425] (II) Initializing extension XFIXES
[    81.426] (II) Initializing extension RENDER
[    81.427] (II) Initializing extension RANDR
[    81.428] (II) Initializing extension COMPOSITE
[    81.428] (II) Initializing extension DAMAGE
[    81.429] (II) Initializing extension MIT-SCREEN-SAVER
[    81.430] (II) Initializing extension DOUBLE-BUFFER
[    81.430] (II) Initializing extension RECORD
[    81.431] (II) Initializing extension DPMS
[    81.431] (II) Initializing extension Present
[    81.432] (II) Initializing extension DRI3
[    81.432] (II) Initializing extension X-Resource
[    81.433] (II) Initializing extension XVideo
[    81.433] (II) Initializing extension XVideo-MotionCompensation
[    81.433] (II) Initializing extension SELinux
[    81.433] (II) SELinux: Disabled on system
[    81.433] (II) Initializing extension GLX
[    81.434] (II) AIGLX: Screen 0 is not DRI2 capable
[    81.449] (II) IGLX: Loaded and initialized swrast
[    81.449] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    81.449] (II) Initializing extension XFree86-VidModeExtension
[    81.450] (II) Initializing extension XFree86-DGA
[    81.450] (II) Initializing extension XFree86-DRI
[    81.450] (II) Initializing extension DRI2
[    81.566] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    81.566] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.566] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    81.566] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    81.566] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    81.566] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.566] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    81.566] (**) ADS7846 Touchscreen: always reports core events
[    81.566] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    81.566] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    81.566] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    81.566] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    81.566] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    81.566] (**) Option "SwapAxes" "0"
[    81.566] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    81.566] (**) Option "EmulateThirdButton" "1"
[    81.566] (**) Option "EmulateThirdButtonTimeout" "1000"
[    81.566] (**) Option "EmulateThirdButtonMoveThreshold" "300"
[    81.566] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    81.566] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    81.566] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    81.566] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    81.567] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    81.567] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    81.567] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    81.567] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    81.569] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    81.569] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    81.569] (II) No input driver specified, ignoring this device.
[    81.569] (II) This device may have been added with another device file.

Now please post the output of

cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf