Miuzei 4 inch IPS Touch Screen LCD Display

Volumio Information

Volumio Version:2.873
Hardware: RPi 4B 4GB
DAC:

Purchased the Miuzei 4 inch LCD, the LCD works great connected to anything but Volumio, I have enabled the plugin, I have installed LCDshow manually, I have tried every guide I could find, still getting a blue flashing screen.
Has anyone successfully installed this display, and if so, can you help me out getting it to work?

Thank you.

Tried installing driver per LCD manufacturers instructions, and got…

Unpacking xserver-xorg-input-evdev (1:2.10.6-1+b1) …
dpkg: dependency problems prevent configuration of xserver-xorg-input-evdev:
xserver-xorg-input-evdev depends on libevdev2 (>= 1.2.2+dfsg-1~); however:
Package libevdev2 is not installed.
xserver-xorg-input-evdev depends on libmtdev1 (>= 1.1.0); however:
Package libmtdev1 is not installed.
xserver-xorg-input-evdev depends on xorg-input-abi-24; however:
Package xorg-input-abi-24 is not installed.
xserver-xorg-input-evdev depends on xserver-xorg-core (>= 2:1.18.99.901); however:
Package xserver-xorg-core is not installed.

dpkg: error processing package xserver-xorg-input-evdev (–install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
xserver-xorg-input-evdev

Which is as far as it goes, comes to this ever boot, reflashed.

Assuming the display is connected to HDMI0 port of your Pi4 you could try the following:

  1. Start with a fresh Volumio installation.
  2. Install the touch display plugin.
  3. Don’t install LCDshow or any other script / driver.
  4. Connect to Volumio via SSH.
  5. Open “/boot/userconfig.txt” by executing

sudo nano /boot/userconfig.txt

  1. Add the following lines
dtparam=spi=on
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=ads7846
dtparam=cs=1
dtparam=penirq=25
dtparam=penirq_pull=2
dtparam=speed=50000
dtparam=swapxy=0
dtparam=pmax=255
dtparam=xohms=150
dtparam=xmin=200
dtparam=xmax=3900
dtparam=ymin=200
dtparam=ymax=3900
  1. Save the file typing Ctrl+x, y and Enter
  2. Reboot

As I don’t know where the display has its origin (coordinates 0,0) it could be necessary to adjust some of the values to get display and touch function matching. If you should encounter a mismatch of display and touch don’t alter any settings but try to describe where on the screen a touch event is recognized when you touch it so I could (hopefully) understand what has to be changed in the setup.

Edit: According to @Scuzzbucket 's findings below the value for “hdmi_drive” has to be “2”.

After adding those lines, it at least stopped blinking, but changes from no input, to “Not Support” which seems likes something is out of range.

Thank you for the help so far.

Ok, you might try changing

to

hdmi_cvt 480 800 60 6 0 0 0

P.S.: Just to make sure we are talking about the same display: Can you confirm it is the one shown here?

This is what I did to get it working, not sure if it all correct or needed, but the display is working, wasn’t that worried about the touch

dtparam=i2c_arm=on
dtparam=spi=on
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
hdmi_cvt 480 800 60 6 0 0 0
dtoverlay=ads7846
dtparam=cs=1
dtparam=penirq=25
dtparam=penirq_pull=2
dtparam=speed=50000
dtparam=swapxy=0
dtparam=pmax=255
dtparam=xohms=150
dtparam=xmin=200
dtparam=xmax=3900
dtparam=ymin=200
dtparam=ymax=3900

Good to see it works!

Apart from your value for “hdmi_drive” that meets my proposal (including the change of “hdmi_cvt”) exactly. Did “hdmi_drive=2” instead of “hdmi_drive=1” make the difference or “hdmi_cvt 480 800…”?

I think it was the 2, I changed the 480 first, still nothing.
I really appreciate your help, I was up till almost 4am messing with it.

Ok, yes I see it now. I edited my post above accordingly.

Thanks for checking it out!

Confirming this works for me too.
I followed gvolt’s steps, edited /boot/userconfig.txt with the latest config text from Scuzzbucket.
and then installed the screen and it turn on great.

Also - you can rotate the screen as well by adding

display_rotate=3

to /boot/userconfig.txt
0 is the normal configuration. 1 is 90 degrees. 2 is 180 degress. 3 is 270 degrees.

Touch support is hit or miss, but that’s ok for me. Mainly using the 4in for display only.

I would think that this addition is not necessary as you could set the rotation from the Touch Display’s config. Or does that not work for you?

1 Like

Good point. I hadn’t noticed this in the touch screen plugin settings, but yes that accomplishes the same thing and we wouldn’t need to manually add the display_rotate.

1 Like

Thanks for confirming. :slightly_smiling_face:

Thanks for the great procedure. I tried the procedure for 3.5" LCD but could never get it to work. I have the same Miuzei display and the installation procedure works the first time I tried on my RPi 4. The problem I have is with the touch. When I touch the screen with the pen, the display does not respond to the touch. I tried to enable the show mouse cursor setting in the Touch Screen plugin. There is no cursor showing on the screen. Any help to find out the problem will be much appreciated.

1 Like

So you also have the Miuzei 4 inch LCD?

Please post the results of

cat /boot/config.txt

cat /boot/userconfig.txt

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

ls -al /dev/input

cat /var/log/Xorg.0.log

P.S. What is your Volumio version and what version of the Touch Display plugin are you using?

Edit: Corrected typo in “cat /var/log/Xorg.0.log”

Yes, it is a Miuzei 4 inch IPS Touch Screen LCD Display.
The Volumio version is 3.179-2021-12-20pi.img
The Touch Display plugin is 3.3.1

The debug info:
volumio@jukebox:~$ cat /boot/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
force_eeprom_read=0

include userconfig.txt

volumio@jukebox:~$ cat /boot/userconfig.txt

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

dtparam=i2c_arm=on
dtparam=spi=on
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
hdmi_cvt 480 800 60 6 0 0 0
dtoverlay=ads7846
dtparam=cs=1
dtparam=penirq=25
dtparam=penirq_pull=2
dtparam=speed=50000
dtparam=swapxy=0
dtparam=pmax=255
dtparam=xohms=150
dtparam=xmin=200
dtparam=xmax=3900
dtparam=ymin=200
dtparam=ymax=3900

Touch Display rotation setting below: do not alter

display_lcd_rotate=3
display_hdmi_rotate=3

volumio@jukebox:~$ ls -al /usr/share/X11/xorg.conf.d
total 13
drwxr-xr-x 2 root root 1024 Jan 19 03:10 .
drwxr-xr-x 1 root root 1024 Jan 19 03:10 …
-rw-r–r-- 1 root root 92 Feb 7 2019 10-amdgpu.conf
-rw-r–r-- 1 root root 1350 Jan 4 10:05 10-quirks.conf
-rw-r–r-- 1 root root 92 Apr 6 2019 10-radeon.conf
-rw-r–r-- 1 root root 1429 Mar 31 2019 40-libinput.conf
-rw-r–r-- 1 root root 2747 Jun 26 2017 70-wacom.conf

volumio@jukebox:~$ ls -al /dev/input*
total 0
drwxr-xr-x 3 root root 120 Jan 19 17:02 .
drwxr-xr-x 16 root root 3760 Jan 19 17:02 …
drwxr-xr-x 2 root root 60 Jan 19 17:02 by-path
crw-rw---- 1 root input 13, 64 Jan 19 17:02 event0
crw-rw---- 1 root input 13, 63 Jan 19 17:02 mice
crw-rw---- 1 root input 13, 32 Jan 19 17:02 mouse0cat

volumio@jukebox:~$ volumio@jukebox:~$ cat /var/log/xorg.0.log
r/log/xorg.0.log: No such file or directory-bash: volumio@jukebox:~$: command not found

Thank you for the information. Unfortunately I had a typo in the command to get the log from Xorg.

Please post the result of

cat /var/log/Xorg.0.log

For future readers I have corrected my post above accordingly.

The log contains many links and I am not able to paste the log or upload it here.

It should be possible to copy the text of the log and paste it here as others have done this already (e.g. here). :wink:

After pasting the text into the box where you create posts the text should still be selected / highlighted. At this point format the text with code tags (using the “</>” symbol). If necessary post screenshots.

`

volumio@jukebox:~$ cat /var/log/Xorg.0.log
[    41.077]
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[    41.077] Build Operating System: Linux 5.4.0-72-generic armv8l Raspbian
[    41.078] Current Operating System: Linux jukebox 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l
[    41.078] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=DC:A6:32:01:F1:02 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
[    41.079] Build Date: 04 January 2022  10:05:34AM
[    41.079] xorg-server 2:1.20.4-1+rpt4+deb10u4 (https://www.debian.org/support)
[    41.080] Current version of pixman: 0.36.0
[    41.080]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    41.080] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    41.082] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 19 17:17:27 2022
[    41.090] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    41.090] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    41.095] (==) No Layout section.  Using the first Screen section.
[    41.095] (==) No screen section available. Using defaults.
[    41.095] (**) |-->Screen "Default Screen Section" (0)
[    41.095] (**) |   |-->Monitor "<default monitor>"
[    41.100] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[    41.100] (==) Automatically adding devices
[    41.100] (==) Automatically enabling devices
[    41.100] (==) Automatically adding GPU devices
[    41.104] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    41.105] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    41.105]    Entry deleted from font path.
[    41.107] (==) 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
[    41.107] (==) ModulePath set to "/usr/lib/xorg/modules"
[    41.107] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[    41.107] (II) Loader magic: 0x1fdf80
[    41.107] (II) Module ABI versions:
[    41.107]    X.Org ANSI C Emulation: 0.4
[    41.107]    X.Org Video Driver: 24.0
[    41.107]    X.Org XInput driver : 24.1
[    41.107]    X.Org Server Extension : 10.0
[    41.108] (--) using VT number 2

[    41.108] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    41.109] (II) no primary bus or device found
[    41.109] (II) LoadModule: "glx"
[    41.112] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    41.159] (II) Module glx: vendor="X.Org Foundation"
[    41.159]    compiled for 1.20.4, module version = 1.0.0
[    41.159]    ABI class: X.Org Server Extension, version 10.0
[    41.159] (==) Matched modesetting as autoconfigured driver 0
[    41.159] (==) Matched fbdev as autoconfigured driver 1
[    41.159] (==) Assigned the driver to the xf86ConfigLayout
[    41.159] (II) LoadModule: "modesetting"
[    41.160] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    41.165] (II) Module modesetting: vendor="X.Org Foundation"
[    41.165]    compiled for 1.20.4, module version = 1.20.4
[    41.165]    Module class: X.Org Video Driver
[    41.165]    ABI class: X.Org Video Driver, version 24.0
[    41.165] (II) LoadModule: "fbdev"
[    41.165] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    41.167] (II) Module fbdev: vendor="X.Org Foundation"
[    41.167]    compiled for 1.20.3, module version = 0.5.0
[    41.167]    Module class: X.Org Video Driver
[    41.167]    ABI class: X.Org Video Driver, version 24.0
[    41.167] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    41.167] (II) FBDEV: driver for framebuffer: fbdev
[    41.170] (WW) Falling back to old probe method for modesetting
[    41.170] (EE) open /dev/dri/card0: No such file or directory
[    41.170] (WW) Falling back to old probe method for fbdev
[    41.170] (II) Loading sub module "fbdevhw"
[    41.170] (II) LoadModule: "fbdevhw"
[    41.170] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    41.173] (II) Module fbdevhw: vendor="X.Org Foundation"
[    41.173]    compiled for 1.20.4, module version = 0.0.2
[    41.173]    ABI class: X.Org Video Driver, version 24.0
[    41.173] (II) FBDEV(0): using default device
[    41.173] (II) FBDEV(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    41.173] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[    41.173] (==) FBDEV(0): RGB weight 888
[    41.173] (==) FBDEV(0): Default visual is TrueColor
[    41.173] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[    41.173] (II) FBDEV(0): hardware: BCM2708 FB (video memory: 1500kB)
[    41.173] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    41.173] (II) FBDEV(0): checking modes against framebuffer device...
[    41.173] (II) FBDEV(0): checking modes against monitor...
[    41.173] (II) FBDEV(0): Virtual size is 800x480 (pitch 800)
[    41.173] (**) FBDEV(0):  Built-in mode "current"
[    41.173] (==) FBDEV(0): DPI set to (96, 96)
[    41.173] (II) Loading sub module "fb"
[    41.173] (II) LoadModule: "fb"
[    41.173] (II) Loading /usr/lib/xorg/modules/libfb.so
[    41.178] (II) Module fb: vendor="X.Org Foundation"
[    41.178]    compiled for 1.20.4, module version = 1.0.0
[    41.178]    ABI class: X.Org ANSI C Emulation, version 0.4
[    41.178] (**) FBDEV(0): using shadow framebuffer
[    41.178] (II) Loading sub module "shadow"
[    41.178] (II) LoadModule: "shadow"
[    41.178] (II) Loading /usr/lib/xorg/modules/libshadow.so
[    41.181] (II) Module shadow: vendor="X.Org Foundation"
[    41.181]    compiled for 1.20.4, module version = 1.1.0
[    41.181]    ABI class: X.Org ANSI C Emulation, version 0.4
[    41.182] (II) UnloadModule: "modesetting"
[    41.182] (II) Unloading modesetting
[    41.201] (==) FBDEV(0): Backing store enabled
[    41.205] (==) FBDEV(0): DPMS enabled
[    41.206] (II) Initializing extension Generic Event Extension
[    41.207] (II) Initializing extension SHAPE
[    41.208] (II) Initializing extension MIT-SHM
[    41.208] (II) Initializing extension XInputExtension
[    41.212] (II) Initializing extension XTEST
[    41.212] (II) Initializing extension BIG-REQUESTS
[    41.213] (II) Initializing extension SYNC
[    41.214] (II) Initializing extension XKEYBOARD
[    41.214] (II) Initializing extension XC-MISC
[    41.215] (II) Initializing extension SECURITY
[    41.216] (II) Initializing extension XFIXES
[    41.216] (II) Initializing extension RENDER
[    41.217] (II) Initializing extension RANDR
[    41.218] (II) Initializing extension COMPOSITE
[    41.220] (II) Initializing extension DAMAGE
[    41.221] (II) Initializing extension MIT-SCREEN-SAVER
[    41.222] (II) Initializing extension DOUBLE-BUFFER
[    41.222] (II) Initializing extension RECORD
[    41.223] (II) Initializing extension DPMS
[    41.223] (II) Initializing extension Present
[    41.224] (II) Initializing extension DRI3
[    41.224] (II) Initializing extension X-Resource
[    41.225] (II) Initializing extension XVideo
[    41.225] (II) Initializing extension XVideo-MotionCompensation
[    41.225] (II) Initializing extension SELinux
[    41.225] (II) SELinux: Disabled on system
[    41.225] (II) Initializing extension GLX
[    41.226] (II) AIGLX: Screen 0 is not DRI2 capable
[    42.154] (II) IGLX: Loaded and initialized swrast
[    42.154] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    42.154] (II) Initializing extension XFree86-VidModeExtension
[    42.154] (II) Initializing extension XFree86-DGA
[    42.155] (II) Initializing extension XFree86-DRI
[    42.157] (II) Initializing extension DRI2
[    42.373] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    42.373] (**) ADS7846 Touchscreen: Applying InputClass "libinput touchscreen catchall"
[    42.373] (**) ADS7846 Touchscreen: Applying InputClass "Touch rotation"
[    42.373] (II) LoadModule: "libinput"
[    42.374] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    42.397] (II) Module libinput: vendor="X.Org Foundation"
[    42.397]    compiled for 1.20.3, module version = 0.28.2
[    42.397]    Module class: X.Org XInput Driver
[    42.397]    ABI class: X.Org XInput driver, version 24.1
[    42.397] (II) Using input driver 'libinput' for 'ADS7846 Touchscreen'
[    42.397] (**) ADS7846 Touchscreen: always reports core events
[    42.397] (**) Option "Device" "/dev/input/event0"
[    42.397] (**) Option "_source" "server/udev"
[    42.427] (II) event0  - ADS7846 Touchscreen: is tagged by udev as: Touchscreen
[    42.428] (II) event0  - ADS7846 Touchscreen: device is a touch device
[    42.429] (II) event0  - ADS7846 Touchscreen: device removed
[    42.490] (**) Option "config_info" "udev:/sys/devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0/event0"
[    42.490] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[    42.491] (**) Option "AccelerationScheme" "none"
[    42.491] (**) ADS7846 Touchscreen: (accel) selected scheme none/0
[    42.491] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    42.491] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    42.496] (II) event0  - ADS7846 Touchscreen: is tagged by udev as: Touchscreen
[    42.497] (II) event0  - ADS7846 Touchscreen: device is a touch device
[    42.499] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    42.499] (II) No input driver specified, ignoring this device.
[    42.499] (II) This device may have been added with another device file.
volumio@jukebox:~$
``
type or paste code here

Thank you for your instruction.