Goodtft 7" LCD configuration with new volumio init

OTA from 695 to 699 works on Raspi4; DAC; 7" Screen; (Plugins: “Touch Screen” and “Now playing”) with the known reboot issue. After the first powerless reboot, the system starts like always but after the bootlogo the screen turns to black. I restart the two plugins via Webinterface and now it works like it should.

Hey @Dirk_Kramer ,

What is the screen in the reference here? “Touch Screen” plugin suggest Official 7" Raspberry Pi v 1.1 or newer. Please be hardware specific.

Kind Regards,

Hi, yes you are right. The screen is not an original Raspberry 7" Screen. So i have not the right to complain. But for me the screen works since 3 or 4 years without probs.
I only write here my observations with your system.
Btw: Its one of these: GitHub - goodtft/LCD-show: 2.4" 2.8"3.2" 3.5" 5.0" 7.0" TFT LCD driver for the Raspberry PI 3B+/A/A+/B/B+/PI2/ PI3/ZERO/ZERO W

Hey @Dirk_Kramer ,

Init is changing and custom startup for versions newer than 3.661 requires different handling.

Let’s move testing to the help section with Goodtft heading.

Kind Regards,

Let’s review the configuration pieces one after another.

Which is the exact 7" model out of four mentioned in the github that you have?
Please share content of cmdline.txt, config.txt, volumioconfig.txt and userconfig.txt
In addition, content of all files present in the /etc/X11/xorg.conf.d/ folder.

Kind Regards,

I have this one: 7inch HDMI Display-C-1024X600(MPI7002)
config.txt

### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
initramfs volumio.initrd
gpu_mem=128
gpu_mem_256=32
gpu_mem_512=32
gpu_mem_1024=128
max_usb_current=1
[pi5]
usb_max_current_enable=1
[all]
include volumioconfig.txt
include userconfig.txt

#### Volumio i2s setting below: do not alter ####
dtoverlay=hifiberry-dacplus,slave

Volumioconfig.txt

```### DO NOT EDIT THIS FILE ###
### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
[cm4]
dtoverlay=dwc2,dr_mode=host
otg_mode=1
[pi5]
dtoverlay=vc4-kms-v3d-pi5
# dtparam=uart0_console # Disabled by default
dtparam=nvme
dtparam=pciex1_gen=2
[all]
arm_64bit=0
dtparam=audio=on
audio_pwm_mode=2
dtparam=i2c_arm=on
disable_splash=1
hdmi_force_hotplug=1
force_eeprom_read=0

userconfig.txt

# 7,9 inch hdmi touchscreen
max_usb_current=1
hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=87
hdmi_drive=1
display_rotate=0
hdmi_cvt 1024 600 60 6 0 0 0

cmdline.txt

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=serial0,115200 console=tty1 imgpart=UUID=b03999d3-62d1-465b-bc18-4eadea228d52 imgfile=/volumio_current.sqsh bootpart=UUID=F38E-0C3B datapart=UUID=4d34e5fc-a979-41a5-b19d-9e67ec9e687a uuidconfig=cmdline.txt pcie_aspm=off pci=pcie_bus_safe rootwait bootdelay=7 logo.nologo vt.global_cursor_default=0 net.ifnames=0 snd-bcm2835.enable_compat_alsa= snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 loglevel=0 nodebug use_kmsg=no

the the /etc/X11/xorg.conf.d/ folder ist emtpy !

I didn’t install any driver from github. ( I’ve tried a few times, but after that system never came up again)
Dont waste to much time in it. It works without problems after restart the Plugins.

Hey @Dirk_Kramer ,

Which plugins you are restarting?

Even with custom changes, the essentials can be handled in a way that they can be preserved upon OTA upgrade.

Kind regards,

the TouchDisplay Plugin

Hey @Dirk_Kramer ,

In the /var/log/Xorg.0.log there will be a section with “driver” - can you copy these parts where /dev/fb… and modeset are shown?

Kind Regards,

volumio@volumio:/var/log$ cat Xorg.0.log | grep /dev/fb
volumio@volumio:/var/log$
volumio@volumio:/var/log$ cat Xorg.0.log | grep modeset
[    41.360] (==) Matched modesetting as autoconfigured driver 0
[    41.360] (II) LoadModule: "modesetting"
[    41.362] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    41.375] (II) Module modesetting: vendor="X.Org Foundation"
[    41.379] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    41.381] (WW) Falling back to old probe method for modesetting
[    41.407] (II) UnloadModule: "modesetting"
[    41.407] (II) Unloading modesetting

I have a look on the hole file… there ist something like that

  41.375] (II) LoadModule: "fbdev"
[    41.375] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    41.379] (II) Module fbdev: vendor="X.Org Foundation"
[    41.379]    compiled for 1.20.3, module version = 0.5.0
[    41.379]    Module class: X.Org Video Driver
[    41.379]    ABI class: X.Org Video Driver, version 24.0
[    41.379] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    41.379] (II) FBDEV: driver for framebuffer: fbdev
[    41.381] (WW) Falling back to old probe method for modesetting
[    41.381] (EE) open /dev/dri/card0: No such file or directory
[    41.381] (WW) Falling back to old probe method for fbdev
[    41.381] (II) Loading sub module "fbdevhw"
[    41.381] (II) LoadModule: "fbdevhw"
[    41.381] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    41.385] (II) Module fbdevhw: vendor="X.Org Foundation"
[    41.385]    compiled for 1.20.4, module version = 0.0.2
[    41.385]    ABI class: X.Org Video Driver, version 24.0
[    41.385] (II) FBDEV(0): using default device

I hope this will help you…

It does, actually.

Can you also check:
cat Xorg.0.log | grep -i driver

Kind Regards,

volumio@volumio:/var/log$ cat Xorg.0.log | grep -i driver
[    41.303]    X.Org Video Driver: 24.0
[    41.303]    X.Org XInput driver : 24.1
[    41.360] (==) Matched modesetting as autoconfigured driver 0
[    41.360] (==) Matched fbdev as autoconfigured driver 1
[    41.360] (==) Assigned the driver to the xf86ConfigLayout
[    41.362] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    41.375]    Module class: X.Org Video Driver
[    41.375]    ABI class: X.Org Video Driver, version 24.0
[    41.375] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    41.379]    Module class: X.Org Video Driver
[    41.379]    ABI class: X.Org Video Driver, version 24.0
[    41.379] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    41.379] (II) FBDEV: driver for framebuffer: fbdev
[    41.385]    ABI class: X.Org Video Driver, version 24.0
[    42.988]    Module class: X.Org XInput Driver
[    42.988]    ABI class: X.Org XInput driver, version 24.1
[    42.989] (II) Using input driver 'libinput' for 'QDtech MPI7003'
[    43.101] (II) No input driver specified, ignoring this device.
volumio@volumio:/var/log$

Hey @Dirk_Kramer ,

All above makes sense except, there is no obvious xorg display control section. What do you get when listing:

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

The framebuffer is created, question - from where?

volumio@volumio:~$ ls -la /etc/X11/xorg.conf.d/
total 5
drwxr-xr-x 2 root root 1024 May 30 06:42 .
drwxr-xr-x 1 root root 1024 May 30 06:45 ..
-rw-rw-rw- 1 root root  300 May 30 06:42 95-touch_display-plugin.conf
-rw-rw-rw- 1 root root  132 May 30 06:42 99-vc4.conf
volumio@volumio:~$

All works fine. Display and Touch-function

Hey @Dirk_Kramer ,

Now it makes sense.
Can you post content:

sudo cat /etc/X11/xorg.conf.d/95-touch_display-plugin.conf
sudo cat /etc/X11/xorg.conf.d/99-vc4.conf

My money is on the first one that is being re-created when enable/disable plugin is triggered.

Kind Regards,

sudo cat /etc/X11/xorg.conf.d/95-touch_display-plugin.conf
# This file is managed by the Touch Display plugin: Do not alter!
# It will be deleted when the Touch Display plugin gets uninstalled.
Section "InputClass"
    Identifier "Touch rotation"
    MatchIsTouchscreen "on"
    MatchDevicePath "/dev/input/event*"
    MatchDriver "libinput|evdev"
EndSection

sudo cat /etc/X11/xorg.conf.d/99-vc4.conf

Section "OutputClass"
    Identifier "vc4"
    MatchDriver "vc4"
    Driver "modesetting"
    Option "PrimaryGPU" "true"
EndSection

Thank you @Dirk_Kramer ,

With all the pieces in place I am looking at a solution that will keep configuration in place, even with OTA upgrade.
Will share update, once ready.
Kind Regards,

New 701 works after OTA and powerless reboot without any Problems. Display and touch work as expected :slight_smile: Thx. I only need to start twice. I seem to remember it was the same with 699. But I don’t really know anymore