Screen and Touch Display plugin makes DAC unhappy

I have built a streamer with a Pi 4 B, and a Waveshare 5.5" AMOLED display. The only source I ever use is Tidal connect. I’ve used it with an SMSL SU-9 DAC, and a Khadas Tone2Pro dac. I was running Volumio 3.198 till tonight, with the Contemporary Advanced plugin 1.0.5, and Touch display 3.3.1. The system was maybe 70% reliable, so I didn’t use it very often. Today I decided to perform a factory reset, and upgrade to Volumio 3.396. I initially didn’t install the new Touchdisplay plugin, and ran the streamer headless. It worked great. I was able to quickly and reliably stream via Tidal Connect, and the Tone2Pro registered the correct MQA bitrates. Then I installed the Touchdisplay 3.3.5 plugin, and set the correct parameters for the screen in userconfig.txt. The screen looks great, and boots properly, but audio is completely broken. When I try to stream via Tidal Connect, Volumio starts playing, but Tidal on my phone stops at 1 or 2 seconds, and usually disconnects. The dac acts like it is locking onto the stream, but no sound comes out. This is a perplexing problem.

I thought perhaps it was the DAC and screen drawing too much power from the Pi, so I connected an external power supply to the DAC, and found no change in behavior.

One other symptom that may be pertinent is that physical interactions with the touch display are very slow. The system takes a second or more to register a touch event. I have the GPU memory at the 128Mb maximum, and the Pi has 8Gb of ram, so it seems like the system shouldn’t be memory starved, but maybe I’m missing something there.

If I disable the Touchdisplay plugin, and reboot the Pi, then the system is happy again. It seems like there is something at play between the screen, Touchdisplay plugin, and DAC that is messing up the handshake. Any ideas?

are the settings of your screen good?
your dac is on usb i guess?

Here’s a log just after rebooting with the touch display plugin turned on, and attempting to play audio content via Tidal connect:
http://logs.volumio.org/volumio/el9umvT.html

Yes, the screen works fine. Proper resolution, scaling, and orientation. The DAC is USB, yes.

look if khadas has a update for your tone2 …i have the tone one
please post your settings of userconfig and config.txt
for the screen and touch plugin i will ask @gvolt if he could help with it.
do you have more info on the Waveshare 5.5" AMOLED display like rev and version

I just updated to the latest v1.41 firmware on the Tone2Pro, and it appears to be working properly using a computer as a source.

userconfig.txt:

Add your custom config.txt options to this file, which will be preserved duri$

max_framebuffer_height=1920
config_hdmi_boost=10
hdmi_group=2
hdmi_force_hotplug=1
hdmi_mode=87
hdmi_timings=1080 1 26 4 50 1920 1 8 2 6 0 0 0 60 0 135580000 3
hdmi_blanking=1
display_rotate=1

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=127

Touchdisplay plugin settings:
screensaver timeout 120
no screensaver while playing “off”
rotate 0 degrees
control GPU memory “on”
GPU memory size 127 (was 128, but I was playing around with this value)
show mouse pointer “off”
scale factor 200

Here’s the info on the screen: https://www.waveshare.com/wiki/5.5inch_HDMI_AMOLED
I can’t find a rev or version number on the screen. It is about 1 year old if that’s helpful.

Do the playback / audio issues disappear with the USB connection between display and Pi removed (i.e. with no touch function)?

Also please post the output of

df -h

I just disconnected the PI to screen USB for touch, and used an external power supply to feed the screen. The screen is on, and no longer has touch functionality. The audio issue is still present.

Here’s the output of df -h:

Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  2.5G  892M  1.5G  39% /imgpart
/dev/loop0      414M  414M     0 100% /static
overlay         115G  1.1G  108G   1% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G   45M  1.9G   3% /dev/shm
tmpfs           1.9G  5.3M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs            20M   56K   20M   1% /var/log
tmpfs           1.9G  1.9M  1.9G   1% /tmp
tmpfs           1.9G     0  1.9G   0% /var/spool/cups
tmpfs           1.9G     0  1.9G   0% /var/spool/cups/tmp
/dev/mmcblk0p1   92M   55M   37M  61% /boot
tmpfs           379M     0  379M   0% /run/user/1000

did you still have the touch usb connected? from screen to pi

Nope. I physically removed the USB connection between the Pi and the screen, and replaced it with an external USB power supply to drive the screen. The only connection between the Pi and screen was the HDMI connection.

And you’re connected to the HDMI port, closest to the power input?
image

you have (3) the power that you replaced with external power ( is possible, no problem here )
but (4) your touch still needs to connect to your pi… ( otherwise no touch )

I just wonder if touch & tone2pro get mixed up because both have a hid interface?

Good thought, but @Jon reported that the problem persisted after the USB connection for touch was removed. By removing the USB connection the display’s hid interface should have been taken out of the equation IMHO.

@Jon did you reboot without the touch interface connected or just removed in runtime without unloading the module?

I removed the USB with the unit powered off, then booted it. The screen was off initially because I had the Touchdisplay plugin turned off, so I turned it on and rebooted again. That is when I reported my findings.

1 Like

Do you still have access to the SMSL SU-9 DAC you mentioned in the first post? If so, does the same problem occur with the SU-9?

The log shows, that the Volumio Tidal Connect service crashes with a segmentation error, this will ofc stop audio.
Do you issues also occur when using webradio or Volumio’s Tidal interface?
As this is a very strange situation, make sure to have as much as possible disabled, like multiroom.
Please supply another log.

I do still have access to the SU-9 DAC. I’ll try with that. Also, yes, the issue also happens with the local Volumio Tidal source. I haven’t tried web radio.

When you suggest testing with everything disabled, do you mean all the source options? Let me know what you’d like to see, and I will test it out.

I tried turning almost everything off. UPNP rendering and Tidal connect are the only things I have enabled. I tried playing content from the Volumio Tidal source, and got an ALSA error (I didn’t note it, but I’m sure it is in the log). Here’s the log:

http://logs.volumio.org/volumio/bS69b5e.html

And here’s the output of a df -h:

volumio@loungelizard:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 2.5G 892M 1.5G 39% /imgpart
/dev/loop0 414M 414M 0 100% /static
overlay 115G 1.1G 108G 1% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 24M 1.9G 2% /dev/shm
tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 1.9G 1.4M 1.9G 1% /tmp
tmpfs 20M 44K 20M 1% /var/log
tmpfs 1.9G 0 1.9G 0% /var/spool/cups
tmpfs 1.9G 0 1.9G 0% /var/spool/cups/tmp
/dev/mmcblk0p1 92M 55M 37M 61% /boot
tmpfs 379M 0 379M 0% /run/user/1000