Jump to content

Tidal Connect on Raspberry (how-to)


Recommended Posts

Please find below a recap of the steps required to install and run Tidal connect on a raspberry.

I did this on top of a raspberry pi4 running Moode, but conceptually this should work on any raspberry with Debian.

The starting point is coming from this thread on raspberrypi.org:



  1. Connect to the raspberry using ssh and launch the installation as indicated in https://github.com/shawaj/HiTide
  2. Modify file "/usr/ifi/ifi-tidal-release/pa_devs/devices" to configure your own audio device
    The info to be used can be gathered using command "aplay -l"
    For example, I modified the row of  device #1 to enter the info of my USB dac
    device#1=LA-QXD1: USB Audio (hw:2,0)

  3. Modify file "/lib/systemd/system/ifi-streamer-tidal-connect.service" in order to

    • modify as you like  the name you want to give to the service  using parameters "-f" and "--model name"

    • specify the device audio to b used by the Tidal Connect service by adding the parameter "--playback-device".
      The value for playback-device needs to be exactly the same inserted at point 2
      ExecStart=/usr/ifi/ifi-tidal-release/bin/tidal_connect_application \
                      --tc-certificate-path "/usr/ifi/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \

                      -f "Fero Tidal Streamer" \
                      --codec-mpegh true \
                      --codec-mqa false \

                      --model-name "Fero Tidal Streamer" \
                      --disable-app-security false \
                      --disable-web-security false \
                      --enable-mqa-passthrough false \
                      --log-level 3 \
                      --enable-websocket-log "0"\

                      --playback-device "LA-QXD1: USB Audio (hw:2,0)"

  4. Configure the service for automatic startup at boot:
    systemctl enable ifi-streamer-tidal-connect.service


Usage Notes


To start the service, use command:

systemctl start ifi-streamer-tidal-connect.service


To stop the service, use command:

systemctl stop ifi-streamer-tidal-connect.service

To verify service status use command:
systemctl status ifi-streamer-tidal-connect.service


Please note that when you start the service, "it locks the audio device in exclusive mode", so that if you attempt to access the device in some other way (e.g. with MPD) you will get an error as long as the Tidal connect service will not be stopped.


....I know this is somehow annoying, but the benefits are:


1) as interface, you will use Tidal app, simply selecting where you want the output to go in "Sound Output"


2) for those using Tidal, sound quality is exceptional IMHO!!!!

Link to comment
Share on other sites

  • 4 months later...

Thanks Franz for the useful recap.


Just to point out that it's not necessary to stop the service to free up a shared audio port on Raspberry, disconnecting the Tidal connection from the iOS device does the job done.


For DAC MQA capable the service setup is the following:


ExecStart=/usr/ifi/ifi-tidal-release/bin/tidal_connect_application \

                                --tc-certificate-path "/usr/ifi/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \

                                -f "Topping D90 MQA Streamer" \

                                --codec-mpegh true \

                                --codec-mqa true \

                                --model-name "Topping D90 MQA Streamer" \

                                --disable-app-security false \

                                --disable-web-security false \

                                --enable-mqa-passthrough true \

                                --log-level 3 \

                                --enable-websocket-log "0" \

                                --playback-device "D90 MQA: USB Audio (hw:1,0)"


Link to comment
Share on other sites

  • 2 weeks later...

Hi all. I played with it today and I can't make it work with my Hegel H390. It is connected to the RPi (4B) with Moode and the install from the top of this post and seems that Tidal Connect is running, but I hear no output sound. The app shows correct streamer name (Adam-Pi as per screenshot below) and it connects to the RPi. I am attaching a few screenshots with my current settings. I tried to play with (hw:y,z) parameters, but with no luck. I made a second setup with Volumio and I managed to get it to work flawlessly and even control hardware volume on my H390. The snag there is that Volumio is a subscription service and this one is free.


Can you please advise if you see any obvious fixes to the issue? 


Today is the first time in my life I set up a Raspberry Pi  (4B) and manipulated files in it including permissions and editing the contents. I am a complete newbie and I would appreciate if you provide even most obvious steps.


Thank you.






The only device I have connected is Hegel. It is attached to the USB 2.0 port. I have no idea what the others on the list are doing here. 





I tried setting (hw:2,0) and (hw:1,0) and finally (hw:0,0) with no success.




I tried setting (hw:2,0) and (hw:1,0) and finally (hw:0,0) with no success.



Link to comment
Share on other sites

51 minutes ago, ralong said:

Try a clean install. Then just don't touch the config files. Worked for me.


Also show Your print after command:

sudo systemctl status ifi-streamer-tidal-connect.service

I tried the clean install and it didn't work either. RPi Tidal Connect was visible in the Tidal app, I was able to connect, but there was no sound in the amp. It seems like Raspberry Pi sees my amp, can output sound and control volume, but the Tidal Connect streamer on RPi cannot direct it correctly to my amp.



Link to comment
Share on other sites

Thank you. I noticed the issue as soon as I posted the pic. I got it fixed now. I can hear the music and controls over playing, skipping etc seem to work, but at first with a bit of a lag. I guess I can live with that. 

I noticed though that volume control doesn't work over Tidal Connect. It does work when I try to change volume from the Moode web interface. Not sure if that can be fixed though. It was working perfectly on Volumio.

Link to comment
Share on other sites


I will start by confessing that I am completely ignorant of Linux. So I'm sorry if I ask some stupid "obvious" answer question.

I did a fresh install, (Pi 4 + RPI hat DAC), on Moode Audio 7.3.
I used the command "curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash"
Everything went well.
The TIDAL app has the option to choose "Tidal Connect".
The sound comes out with excellent quality on both the RCA outputs and the 3.5 jack output.
But when I reboot Moode this option disappears and I don't know how to start Tidal Connect again.
Using the command "systemctl start ifi-streamer-tidal-connect.service" asks for root password which I have no idea what it is.
Can anyone help with this?

Captura de Ecrã (404).png

Captura de Ecrã (403).png

Link to comment
Share on other sites

Hi ralong,

Thank you very much for your quick response.
Yes, now everything works perfectly.
With the command "sudo systemctl enable ifi-streamer-tidal-connect.service" Tidal Connect starts automatically at every reboot.
Thanks again for the precious help.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...