Looking to mirror HDMI and touch panel

Built this thing this week. First time with raspberry Pi long time computer guy. Really liking volumio so far, but the DAC I had plugged in was a little weak. It’s one of those cheap little headphone dongles.

Trying to get the audio to come on my HDMI and had problems at first. If I boot up with HDMI and the LCD screen both attached, then HDMI doesn’t work. If I disable the power to the LCD screen it works fine and I get audio being sent to my Denon DAC over HDMI and it sounds great!.

Problem is now there’s nothing on my little LCD screen.

Looking looking to mirror the info to both. I found this info

For Pi3, add “dtoverlay=vc4-fkms-v3d” to one of the [all] sections of config.txt to load FKMS. You probably want to add “max_framebuffers=2” as well.

I tried this and I now have video mirrored on both. But… It’s just the Linux prompt. X either didn’t start up or failed. Need my volumio interface running as well.

Any ideas?

would a HDMI splitter solve your issue ?

1 Like

Try removing

dtoverlay=vc4-fkms-v3d

2 Likes

An HDMI splitter wouldn’t work because the LCD wouldn’t be on then.

I tried removing that line but then HDMI isn’t connected. If I add it then both LCD and HDMI are mirrored. The sound comes out of HDMI to my stereo but the desktop never boots. It just sits at Linux login prompt.

Please post the output of

cat /boot/config.txt

cat /boot/userconfig.txt

cat /var/log/Xorg.0.log

volumio@tidalpi:~$ 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

Touch Display gpu_mem setting below: do not alter

gpu_mem=64
volumio@tidalpi:~$
volumio@tidalpi:~$ cat /boot/userconfig.txt

Add your custom config.txt options to this file, which will be pre

served during updates
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2
volumio@tidalpi:~$
volumio@tidalpi:~$ cat /var/log/Xorg.0.log
[ 44.163]
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[ 44.163] Build Operating System: Linux 5.4.0-109-generic armv8l
Raspbian
[ 44.163] Current Operating System: Linux tidalpi 5.10.92-v7+ #15
14 SMP Mon Jan 17 17:36:39 GMT 2022 armv7l
[ 44.164] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 s
nd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb
.fbwidth=800 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_
base=0x3ec00000 vc_mem.mem_size=0x40000000 splash plymouth.ignore-s
erial-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 c
onsole=tty1 imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh roo
twait 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
[ 44.164] Build Date: 09 November 2022 03:13:10PM
[ 44.164] xorg-server 2:1.20.4-1+rpt4+deb10u6 (https://www.debian
.org/support)
[ 44.164] Current version of pixman: 0.36.0
[ 44.164] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 44.164] Markers: (–) probed, () from config file, (==) defau
lt setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown
.
[ 44.164] (==) Log file: “/var/log/Xorg.0.log”, Time: Wed Jan 4
14:25:49 2023
[ 44.174] (==) Using config directory: “/etc/X11/xorg.conf.d”
[ 44.175] (==) Using system config directory “/usr/share/X11/xorg
.conf.d”
[ 44.183] (==) No Layout section. Using the first Screen section
.
[ 44.184] (==) No screen section available. Using defaults.
[ 44.184] (
) |–>Screen “Default Screen Section” (0)
[ 44.184] (**) | |–>Monitor “”
[ 44.190] (==) No monitor specified for screen “Default Screen Se
ction”.
Using a default monitor configuration.
[ 44.190] (==) Automatically adding devices
[ 44.190] (==) Automatically enabling devices
[ 44.190] (==) Automatically adding GPU devices
[ 44.196] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 44.197] (WW) The directory “/usr/share/fonts/X11/cyrillic” does
not exist.
[ 44.197] Entry deleted from font path.
[ 44.198] (==) 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.198] (==) ModulePath set to “/usr/lib/xorg/modules”
[ 44.198] (II) The server relies on udev to provide the list of i
nput devices.
If no devices become available, reconfigure udev or disable
AutoAddDevices.
[ 44.198] (II) Loader magic: 0x1fdf80
[ 44.198] (II) Module ABI versions:
[ 44.198] X.Org ANSI C Emulation: 0.4
[ 44.198] X.Org Video Driver: 24.0
[ 44.198] X.Org XInput driver : 24.1
[ 44.198] X.Org Server Extension : 10.0
[ 44.201] (–) using VT number 2

[ 44.201] (II) systemd-logind: logind integration requires -keept
ty and -keeptty was not provided, disabling logind integration
[ 44.202] (II) no primary bus or device found
[ 44.202] (II) LoadModule: “glx”
[ 44.203] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 44.250] (II) Module glx: vendor=“X.Org Foundation”
[ 44.250] compiled for 1.20.4, module version = 1.0.0
[ 44.250] ABI class: X.Org Server Extension, version 10.0
[ 44.250] (==) Matched modesetting as autoconfigured driver 0
[ 44.250] (==) Matched fbdev as autoconfigured driver 1
[ 44.250] (==) Assigned the driver to the xf86ConfigLayout
[ 44.250] (II) LoadModule: “modesetting”
[ 44.252] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_
drv.so
[ 44.257] (II) Module modesetting: vendor=“X.Org Foundation”
[ 44.257] compiled for 1.20.4, module version = 1.20.4
[ 44.257] Module class: X.Org Video Driver
[ 44.257] ABI class: X.Org Video Driver, version 24.0
[ 44.257] (II) LoadModule: “fbdev”
[ 44.258] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 44.260] (II) Module fbdev: vendor=“X.Org Foundation”
[ 44.260] compiled for 1.20.3, module version = 0.5.0
[ 44.260] Module class: X.Org Video Driver
[ 44.260] ABI class: X.Org Video Driver, version 24.0
[ 44.266] (II) modesetting: Driver for Modesetting Kernel Drivers
: kms
[ 44.266] (II) FBDEV: driver for framebuffer: fbdev
[ 44.270] (WW) Falling back to old probe method for modesetting
[ 44.270] (EE) open /dev/dri/card0: No such file or directory
[ 44.270] (WW) Falling back to old probe method for fbdev
[ 44.270] (II) Loading sub module “fbdevhw”
[ 44.270] (II) LoadModule: “fbdevhw”
[ 44.271] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 44.275] (II) Module fbdevhw: vendor=“X.Org Foundation”
[ 44.275] compiled for 1.20.4, module version = 0.0.2
[ 44.275] ABI class: X.Org Video Driver, version 24.0
[ 44.275] (II) FBDEV(0): using default device
[ 44.275] (WW) VGA arbiter: cannot open kernel arbiter, no multi-
card support
[ 44.276] (II) FBDEV(0): Creating default Display subsection in S
creen section
“Default Screen Section” for depth/fbbpp 24/32
[ 44.276] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[ 44.276] (==) FBDEV(0): RGB weight 888
[ 44.276] (==) FBDEV(0): Default visual is TrueColor
[ 44.276] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 44.276] (II) FBDEV(0): hardware: BCM2708 FB (video memory: 1500
kB)
[ 44.276] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[ 44.276] (II) FBDEV(0): checking modes against framebuffer devic
e…
[ 44.276] (II) FBDEV(0): checking modes against monitor…
[ 44.276] (II) FBDEV(0): Virtual size is 800x480 (pitch 800)
[ 44.276] () FBDEV(0): Built-in mode “current”
[ 44.276] (==) FBDEV(0): DPI set to (96, 96)
[ 44.276] (II) Loading sub module “fb”
[ 44.276] (II) LoadModule: “fb”
[ 44.276] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 44.282] (II) Module fb: vendor=“X.Org Foundation”
[ 44.282] compiled for 1.20.4, module version = 1.0.0
[ 44.282] ABI class: X.Org ANSI C Emulation, version 0.4
[ 44.282] (
) FBDEV(0): using shadow framebuffer
[ 44.282] (II) Loading sub module “shadow”
[ 44.282] (II) LoadModule: “shadow”
[ 44.282] (II) Loading /usr/lib/xorg/modules/libshadow.so
[ 44.285] (II) Module shadow: vendor=“X.Org Foundation”
[ 44.285] compiled for 1.20.4, module version = 1.1.0
[ 44.285] ABI class: X.Org ANSI C Emulation, version 0.4
[ 44.285] (II) UnloadModule: “modesetting”
[ 44.285] (II) Unloading modesetting
[ 44.309] (==) FBDEV(0): Backing store enabled
[ 44.314] (==) FBDEV(0): DPMS enabled
[ 44.315] (II) Initializing extension Generic Event Extension
[ 44.316] (II) Initializing extension SHAPE
[ 44.317] (II) Initializing extension MIT-SHM
[ 44.318] (II) Initializing extension XInputExtension
[ 44.322] (II) Initializing extension XTEST
[ 44.323] (II) Initializing extension BIG-REQUESTS
[ 44.324] (II) Initializing extension SYNC
[ 44.325] (II) Initializing extension XKEYBOARD
[ 44.326] (II) Initializing extension XC-MISC
[ 44.326] (II) Initializing extension SECURITY
[ 44.327] (II) Initializing extension XFIXES
[ 44.328] (II) Initializing extension RENDER
[ 44.329] (II) Initializing extension RANDR
[ 44.331] (II) Initializing extension COMPOSITE
[ 44.334] (II) Initializing extension DAMAGE
[ 44.335] (II) Initializing extension MIT-SCREEN-SAVER
[ 44.336] (II) Initializing extension DOUBLE-BUFFER
[ 44.337] (II) Initializing extension RECORD
[ 44.338] (II) Initializing extension DPMS
[ 44.339] (II) Initializing extension Present
[ 44.339] (II) Initializing extension DRI3
[ 44.339] (II) Initializing extension X-Resource
[ 44.340] (II) Initializing extension XVideo
[ 44.341] (II) Initializing extension XVideo-MotionCompensation
[ 44.341] (II) Initializing extension SELinux
[ 44.341] (II) SELinux: Disabled on system
[ 44.341] (II) Initializing extension GLX
[ 44.342] (II) AIGLX: Screen 0 is not DRI2 capable
[ 45.562] (II) IGLX: Loaded and initialized swrast
[ 45.562] (II) GLX: Initialized DRISWRAST GL provider for screen
0
[ 45.562] (II) Initializing extension XFree86-VidModeExtension
[ 45.563] (II) Initializing extension XFree86-DGA
[ 45.564] (II) Initializing extension XFree86-DRI
[ 45.568] (II) Initializing extension DRI2
[ 45.895] (II) config/udev: Adding input device raspberrypi-ts (/
dev/input/event0)
[ 45.895] () raspberrypi-ts: Applying InputClass “libinput touc
hscreen catchall”
[ 45.895] (
) raspberrypi-ts: Applying InputClass “Touch rotatio
n”
[ 45.895] (II) LoadModule: “libinput”
[ 45.896] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.s
o
[ 45.935] (II) Module libinput: vendor=“X.Org Foundation”
[ 45.935] compiled for 1.20.3, module version = 0.28.2
[ 45.935] Module class: X.Org XInput Driver
[ 45.935] ABI class: X.Org XInput driver, version 24.1
[ 45.935] (II) Using input driver ‘libinput’ for ‘raspberrypi-ts’
[ 45.935] () raspberrypi-ts: always reports core events
[ 45.935] (
) Option “Device” “/dev/input/event0”
[ 45.936] () Option “_source” “server/udev”
[ 45.958] (II) event0 - raspberrypi-ts: is tagged by udev as: To
uchscreen
[ 45.961] (II) event0 - raspberrypi-ts: device is a touch device
[ 45.962] (II) event0 - raspberrypi-ts: device removed
[ 46.030] (
) Option “config_info” “udev:/sys/devices/platform/s
oc/soc:firmware/soc:firmware:touchscreen/input/input0/event0”
[ 46.030] (II) XINPUT: Adding extended input device “raspberrypi-
ts” (type: TOUCHSCREEN, id 6)
[ 46.030] () Option “AccelerationScheme” “none”
[ 46.031] (
) raspberrypi-ts: (accel) selected scheme none/0
[ 46.031] () raspberrypi-ts: (accel) acceleration factor: 2.000
[ 46.031] (
) raspberrypi-ts: (accel) acceleration threshold: 4
[ 46.036] (II) event0 - raspberrypi-ts: is tagged by udev as: To
uchscreen
[ 46.038] (II) event0 - raspberrypi-ts: device is a touch device
[ 46.040] (II) config/udev: Adding input device raspberrypi-ts (/
dev/input/mouse0)
[ 46.040] (II) No input driver specified, ignoring this device.
[ 46.040] (II) This device may have been added with another devic
e file.

Please also post the results of

ls -al /dev/fb*

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

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

ls -al /dev/fb*
crw-rw---- 1 root video 29, 0 Jan 4 14:25 /dev/fb0
crw-rw---- 1 root video 29, 1 Jan 4 14:25 /dev/fb1
volumio@tidalpi:~$
volumio@tidalpi:~$ ls -al /usr/share/X11/xorg.conf.d
total 13
drwxr-xr-x 2 root root 1024 Jan 2 01:39 .
drwxr-xr-x 1 root root 1024 Jan 2 01:40 …
-rw-r–r-- 1 root root 92 Feb 7 2019 10-amdgpu.conf
-rw-r–r-- 1 root root 1350 Nov 9 15:13 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@tidalpi:~$
volumio@tidalpi:~$ ls -al /etc/X11/xorg.conf.d
total 5
drwxr-xr-x 2 root root 1024 Jan 3 21:36 .
drwxr-xr-x 1 root root 1024 Jan 2 01:45 …
-rw-r–r-- 1 root root 316 Jan 3 21:36 95-touch_display-plugin.con
f

If you didn’t already install “xserver-xorg-video-fbturbo” try executing

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

and reboot.

1 Like

That worked. I get my display on the touchscreen. Only audio on the HDMI which is fine.

Thanks for all the help. Worked great.

1 Like

Thank you gvolt!

Spent all evening trying to get HDMI audio out working with the LCD touch screen.

What does the xserver-org-video-fbturbo package do?

For other’s coming here, this is my config.txt:
initramfs volumio.initrd
gpu_mem=64
max_usb_current=1
dtparam=audio=on
audio_pwm_mode=2
dtparam=i2c_arm=on
disable_splash=1
hdmi_force_hotplug=1
hdmi_drive=2
hdmi_group=1
hdmi_mode=16
force_eeprom_read=0
lcd_rotate=2
max_framebuffers=2

1 Like