HiTide TIDAL Connect Installer - missing multiarch-support and libavformat57 packages on DietPi_RPi-ARMv8-Bullseye.

Hello,

I was able to successfully install HiTide TIDAL Connect on my Rpi4 with DietPi_RPi-ARMv6-Buster image using the following script:
https://github.com/shawaj/HiTide

However I have problems with installation on DietPi_RPi-ARMv8-Bullseye.

During installation, I get an error that multiarch-support and libavformat57 packages can not be found:

E: Unable to locate package multiarch-support
E: Unable to locate package libavformat57

I tried to add repo from ARMv6-Buster into /etc/apt/sources.list:

deb http://raspbian.raspberrypi.org/raspbian/ buster main

But after ‘apt update’ I’m getting an error:

N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' doesn't support architecture 'arm64'
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'http://archive.raspbian.org/raspbian stretch InRelease' doesn't support architecture 'arm64'

Does anyone know how to overcome this? What repositories should be added to ARMv8-Bullseye in order to have multiarch-support and libavformat57 packages available?

Looking forward,
Przemek

Well the ARMv8 (64bit) image is based on Debian repository source and there the package you are looking for is simply not available on Debian Bullseye https://packages.debian.org/search?suite=all&searchon=names&keywords=multiarch-support

You could try our ARMv6 (32bit) image as this is using the
Raspbian repository and might contain the package. I need to say I did not checked it.

If the Raspbian repository as well did not contain the package on Bullseye, you would need to stay on Buster until your package has become available.

Hello,

Thanks for your reply.

I figured out why I had problems when I was trying to use this repository on ARMv8:

deb http://archive.raspbian.org/raspbian stretch main

This repo is for Raspbian which is 32bit and ARMv8 Dietpi is 64bit…

I managed to find missing packages for ARMv8 Dietpi in Debian Stretch repository:

deb https://deb.debian.org/debian/ stretch main

I thought that now it will be possible to install TIDAL connect, but unfortunately it turned out that it is using 32bit binaries from git repo https://github.com/shawaj/ifi-tidal-release and it is not possible to install it on ARMv8 which is 64bit.

CONCLUSION: if you want to install TIDAL Connect on DietPi, use ARMv7 image and use Debian Stretch repository.

Looking forward,
Przemek

Just to make clear, this is not a limitation of DietPi. This is a limitation 64bit vs 32bit. Same will happen on Raspberry OS, which DietPi is build on.

Yes, of course :wink:

Initially I was just confused, which DietPi version should I use for my Raspberry Pi 4 and I chose the highest one which was ARMv8. However TIDAL connect has a limitation for 32bit operating system so it was wrong choice.

Now I know that:
ARMv6 - 32bit, Raspbian repos, for older CPUs
ARMv7 - 32bit, Debian repos, for newer CPUs
ARMv8 - 64bit, Debian repos, for newer CPUs

Looking forward,
Przemek

ARMv6 - 32bit, Raspbian repos, for older CPUs
ARMv7 - 32bit, Debian repos, for newer CPUs
ARMv8 - 64bit, Debian repos, for newer CPUs

Correct summary

Basically ARMv6 image could be used on all RPi devices if you like to use the Raspbian repository instead of Debian repository.

Since Buster already it’s libavformat58 btw, libavformat57 is available until Stretch only. Means the installer requires an urgent update since 4 years :wink:.

Ah no I see it’s the TIDAL Connect binaries used which require the update and the installer purposefully installs the Stretch repo and a bunch of manually downloaded packages. Yeah while this seems to have worked on Buster, it makes sense that it causes more and more issues. I don’t know much about TIDAL, is it abandoned or why there are no current binaries? Or are there sources to compile it from?

Hello,

I think this HiTide Tidal installer is a little bit unofficial, someone found git repository that belongs to iFi company and made it working on Raspbian/DietPi. I don’t think there will be an official package for that so the only way to install it is by playing with old repos and old packages :wink:

Cheers,
Przemek

I see. Doesn’t sound sustainable.

What I don’t understand is that TIDAL Connect was launched just at the end of last year, where Debian Buster was the stable release for a long time. Also the repositories were created from that time on. Only the original repo from ppy2 does not exist anymore. So how can it be that binaries for a new product require ancient libraries from a Debian version that became oldstable over 4 years ago :thinking:. Or do I misunderstand something?

Sadly otherwise it seems to be closed source.

Unfortunately I can’t answer that- iFi company (or other vendor who is implementing it) developers would have to comment :wink:

Probably there are newer versions of binaries available, but they might not be available to everyone since TIDAL doesn’t rather have an open approach…

Ideally it would be great if TIDAL Connect was available in dietpi-software like Spotify is https://dietpi.com/docs/software/media/#raspotify but as you mentioned it doesn’t sound sustainable…

Cheers,
Przemek

Yes as long as there are not public binaries or packages or sources, we have no chance to implement it. Using those legacy ones together with several Jessie and Stretch packages is not an option, also since the original source does not exist anymore so that nobody knows that is actually inside, whether its original or manipulated. Also whether it is “legal” to use those or was simply an accident that they were available at all on a public GitHub repo is unknown as well.

Totally agree with everything what you’ve wrote Michael :slight_smile:

iFi introduced their streamer called iFi ZEN Stream that has an operating system that looks like Volumio (probably they bought some part of the code), so I think that they were developing TIDAL connect and accidentally made the repo public… But this is just my guess.

However if founder of such a great OS as DietPi had contacted TIDAL and/or iFi asking whether it is possible to add officially TIDAL Connect to dietpi-software it would have been a great bonus for DietPi users :smiley: I’m just showing the possibilities :smiley:

We could try that. However, there are so many other software titles highly requested, so for proprietary (product) closed source software I currently don’t have the time to start contacting them about such matter. That would clearly be quite some longer process, probably involves some legal agreements (at least when we got the sources to build own binaries) etc. Basically I see a chance only when TIDAL would provide Debian binaries from their end, which then would also mean that there is a guaranteed functionality from their end, a willingness to in case adjust code to keep it functional with new Debian releases and all such. This is not something we are able to deal with (time investment) ourselves, and it doesn’t make sense at all to have DietPi only binaries/packages without making those Debian binaries/packages with a much larger user space that would benefit from the efforts.

Sure, understood :wink: Nevertheless I keep my fingers crossed for seeing one day TIDAL Connect in dietpi-software :sunglasses:

Cheers,
Przemek

Hi,

I just managed to get Tidal connect working on dietpi using the docker container provided here: https://github.com/TonyTromp/tidal-connect-docker

My setup is:

Tidal Connect → Allo USBRIDGE Sig running DietPi USB out → Oppo UDP-205 DAC

I edited the entrypoint.sh file to look like this:

#!/bin/bash

echo "Starting Speaker Application in Background (TMUX)"
/usr/bin/tmux new-session -d -s speaker_controller_application '/app/ifi-tidal-release/bin/speaker_controller_application'


echo "Starting TIDAL Connect.."
/app/ifi-tidal-release/bin/tidal_connect_application \
   --tc-certificate-path "/app/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \
   -f "${FRIENDLY_NAME}" \
   --playback-device "OPPO UDP-205 USB AUDIO 2.0 DAC: Audio (hw:1,0)" \
   --codec-mpegh true \
   --codec-mqa ${MQA_CODEC} \
   --model-name "${MODEL_NAME}" \
   --disable-app-security false \
   --disable-web-security false \
   --enable-mqa-passthrough ${MQA_PASSTHROUGH} \
   --log-level 3 \
   --enable-websocket-log "0" \

#echo "Starting Speaker Control Application.."
#/app/ifi-tidal-release/bin/speaker_controller_application


echo "TIDAL Connect Container Stopped.."

Then I built the docker container using the provided build_docker.sh script. After that I started the container with:

docker run -d --restart always --device /dev/snd -v /var/run/dbus:/var/run/dbus -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket -e FRIENDLY_NAME=dietpi -e MQA_CODEC=false -e MODEL_NAME=test -e MQA_PASSTHROUGH=true -e DOCKER_DNS=8.8.8.8 --network host edgecrush3r/tidal-connect:latest

Then I was able to select dietpi as tidal connect device and start playing music :slight_smile:

Great, thanks for sharing and I wish you a happy new year in advance :fireworks::tada:.