How to choose HDMI as sound output in ALSA mode?

I’m running ardour 5.12 without Jack in ALSA mode. When I load my project I can specify my sound card under “Output device” and there is a button to start ALSA. The sound is on my headphones then, I wonder how to get it to HDMI instead. I can set the ALSA card but not the ALSA device.

$ cat /proc/asound/pcm
00-00: USB Audio : USB Audio : playback 1 : capture 1
01-00: ALC892 Analog : ALC892 Analog : playback 1 : capture 1
01-02: ALC892 Alt Analog : ALC892 Alt Analog : capture 1
01-03: HDMI 0 : HDMI 0 : playback 1
01-07: HDMI 1 : HDMI 1 : playback 1
01-08: HDMI 2 : HDMI 2 : playback 1
01-09: HDMI 3 : HDMI 3 : playback 1
01-10: HDMI 4 : HDMI 4 : playback 1

You have an unusual hardware configuration, in that the HDMI outputs are a subdevice of your builtin audio interface, rather than a separate device entirely.

There’s no trivial way to specify this subdevice using Ardour. You can do it in JACK.

Ardour enumerates all the devices it finds, but not all the subdevices. Note the difference in the output on (e.g.) my system:

% cat /proc/asound/pcm
00-00: Loopback PCM : Loopback PCM : playback 8 : capture 8
00-01: Loopback PCM : Loopback PCM : playback 8 : capture 8
01-03: HDMI 0 : HDMI 0 : playback 1
01-07: HDMI 1 : HDMI 1 : playback 1
01-08: HDMI 2 : HDMI 2 : playback 1
02-00: ALC892 Analog : ALC892 Analog : playback 1 : capture 1
02-01: ALC892 Digital : ALC892 Digital : playback 1
02-02: ALC892 Alt Analog : ALC892 Alt Analog : capture 1

Note how the HDMI outputs are device 01, whereas the regular builtin (ALC892) is device 02.

I have a very similar setup here and it works just fine with Ardour 5.12:

$ cat /proc/asound/pcm
00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1
00-08: HDMI 2 : HDMI 2 : playback 1
00-09: HDMI 3 : HDMI 3 : playback 1
00-10: HDMI 4 : HDMI 4 : playback 1
01-00: ALC3232 Analog : ALC3232 Analog : playback 1 : capture 1

I do however need to pick a large buffersize (4096) otherwise the backend won’t start.

ardour_hdmi

Strange or not, I have the same, and I cannot choose HDMI either.

Odd, would be nice to investigate this, preferably interactively on IRC though.

Meanwhile you could try to start Ardour after setting an environment variable:

ARDOUR_ALSA_DEVICE=hw:1,7 Ardour5

That skips device-scanning and and, in this case lists 01-07: HDMI 1 : HDMI 1 : playback 1 as sole available device. It was added mainly as work-around for some rare edge-case where you need an explicit subdevice. By default Ardour5/ALSA always pick the first

2 Likes

Awesome, Thanks @x42!

Not sure, but maybe HDMI is a subdevice of the built-in audio controller on Intel iGPUs.