Not working? HQPlayer NAA on Raspberry Pi 4 / with Ian Canada FifoPi QII and HDMI Pro I2S out

Hi, I can’t seem to get the following HQ P setup going :

Source : Roon
HQPlayer 5 embedded running on dedicated PC
NAA Endpoint : Raspberry 4 with HQP NAA installed with following HATS: Ian Canada FifoPi QII and HDMI Pro I2S out
DAC : Holo MAY via I2S in

When on the HQPlayer embedded admin web interface the NAA endpoint does not appear in the Network Audio backend drop down menu (although the RPI with NAA does appear in my list of networked devices of my WiFi router).

→ My current suspicion is that as the FifoPI itself does not require a driver it doesn’t identify itself as a Endpoint/DAC on the network so HQP doesn’t seem to identify it as a endpoint (?) HQP NAA is not providing any admin interface in order to specify RPI driver (such as ‘Generic I2S’), the device seems to go essentially unrecognised (?)

Is there something I can change/add in the config file of HQP NAA?

Any help greatly appreciated.

Maybe @jussi_laako can chime in?

On RPi hardware, any necessary drivers (called overlays) are configured through config.txt on the boot partition. This is a regular FAT32 partition you can access on any regular computer in order to edit the file.

RPi and ARM platforms in general don’t have ACPI BIOS, and thus cannot tell the OS about the available hardware connections. So you need to manually tell the OS about what hardware exists (except when such hardware is connected to PCIe bus, for example on RPi5).

1 Like

Many thanks Jussi, I managed to make it work by adding ‘dtoverlay=i-sabre-q2m’ in the config.txt file, all good. (It might be good to mention this somewhere in a quick start guide, It’s of course totally obvious for people who have coding knowledge but totally obscure to people having none :wink: And actually I couldn’t find this (fairly basic) info through web search).

Other: limited to DSD128, is there no driver that could at least swing DSD256 on the RPI 4? How come the Holo Red which is based on RPI 4 compute module can do 1024?

This is documented in Raspberry Pi documentation, on their site. And many other places. I try not to document things that are not directly in HQPlayer scope, such as how to deal with the OS in question etc. Because internet already has tons of documentation about these, and maintaining such unrelated documentation is rather time consuming.

Sure, you can do DSD1024 out of regular RPi4 without issues. Just connect a DSD1024 capable DAC over USB to the RPi.

If you can get only DSD128, then it is limitation of the hardware in question. I2S bus on the RPi4 SoC is very limited, so it cannot do much. Since it doesn’t support DSD signals natively, and the maximum sampling rate it can do with PCM is 384k, you end up with maximum DSD128 using DoP.

I don’t see any advantage in using here I2S and not USB.
But: In generell the RPi4 is able to output DSD1024 also through I2S native DSD1024, if the the hardware (HAT) is correctly implemented and supported. An example is the Holo Audio Red, which I’m using with the May, but yet not with the NAA OS, but with Ropieee.

Holo Red has the internal DDC connected over USB, not using I2S…

The I2S in the Broadcom SoC used on RPi maxes out at 384k PCM. And doesn’t support DSD (thus you need DoP). I2S is PCM-only, DSD uses totally different signaling. The “I2S over HDMI cable” is non-standard and can do DSD by swapping meaning of the pins. But it is by no means “I2S” anymore.

On I2S you have one data pin, one word clock pin and one bit clock pin. On DSD you have two data pins and one bit clock pin.