I just bought a DAC that has a I2S port and I would like to use it with my RPi 4. If I turn on the I2S DAC setting in Volumio and select the Generic I2S DAC and connect the Pi to the DAC with a HDMI cable, will it work or are there some other things I need to do?
If your DAC has asynchronous USB which covers about 99% of current DACs, you will get no advantage using I2S.
I2S is put out through the GIO-Connector of the Pi. The Pi doesn’t support I2S over HDMI directly.
So either you have to wire all I2S signals (BCLK, L/R CLK, DATA) to your DAC. Or if your DAC only provides an I2S over HDMI input you have to use a separate interface board.
Keep in mind that the MCLK some DACs need is not provided by the Pi. Further on the MCLK for both domains (44.1 and 48) is generated by a PLL on the Pi, resulting in poor jitter performance. So you might use a reclocker like the Allo Kali in between. The reclocker is also generating the MCLK signal.
This is beyond my technical abilities. I will stick with using USB.
All modern DACs perform very well over USB. When you read the reviews the best jitter figure are quite often when using the USB port. And as @fm-maniac did a good job of explaining, it’s not that easy to use I2S.
Also if the external DAC implements a HW volume control it will only work over USB.
Definitely need a different board (means adding a hat) for i2s. I have pi2aes hat and it definitely makes a difference (but then i2s doesn’t sound better than coax out of the pi2aes hat - it’s the fact of bypassing the usb that matters). But you’re looking at a 10-20% improvement, provided you have a reasonably resolving amp and speakers.