The i2s encoder (which packs audio frames for HDMI) supports 16/24/32-bit output as can be seen here: https://github.com/torvalds/linux…r-i2s.c#L71-L76
However, it looks like 24 is padded to 32, see: https://github.com/torvalds/linux…r-i2s.c#L48-L59
And it outputs 2-channel or 8-channel, see: https://github.com/torvalds/linux…r-i2s.c#L61-L69
So I would make an educated guess that the hardware supports 24/32 bit output over 2-channels, but only 16-bit in 8-channel mode. This is also hinted in this comment in the code: https://github.com/torvalds/linux…oder-i2s.c#L118
That also aligns with the OSMC forum post, and this alsa conf from the legacy kernel which ensures HDMI is using 16-bit LE packing: https://github.com/LibreELEC/Libr…8AUDIO.conf#L39
So I'm right (24-bit is supported) and so is the other guy (HDMI is 16-bit). Enjoy ![]()