Intel Arc A750: HDMI audio works once per boot
While investigating a total lack of HDMI audio in Pipewire on an Intel Arc A750, I found that HDMI audio is only audible with speaker-test / aplay once per boot. Motherboard's onboard audio functions normally, both through Pipewire and ALSA directly. This system was upgraded from an AMD R9 390 where HDMI audio functioned normally.
Hardware: Gigabyte B450 AORUS M, Ryzen 5 5600X, Intel Arc A750
Tested on 6.0.2, 6.0.3, 6.0.5, 6.1-rc2, and drm-tip (@ commits 9d6a004b1594b83b2d94776daa23757892423837, and 0f9cbc285f7d3d1860f7f903663933f33ff9ae25).
I masked all of Pipewire's services in systemd to prevent it from interfering with the tests.
Test case:
(reboot)
# speaker-test -D hdmi:CARD=PCH,DEV=0 -c2 -l2
speaker-test 1.2.8
Playback device is hdmi:CARD=PCH,DEV=0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 1048576
Period size range from 32 to 524288
Using max buffer size 1048576
Periods = 4
was set period_size = 262144
was set buffer_size = 1048576
0 - Front Left
1 - Front Right
Time per period = 10.934108
0 - Front Left
1 - Front Right
Time per period = 9.821655
# speaker-test -D hdmi:CARD=PCH,DEV=0 -c2 -l2
speaker-test 1.2.8
Playback device is hdmi:CARD=PCH,DEV=0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 1048576
Period size range from 32 to 524288
Using max buffer size 1048576
Periods = 4
was set period_size = 262144
was set buffer_size = 1048576
0 - Front Left
1 - Front Right
Time per period = 10.934176
0 - Front Left
1 - Front Right
Time per period = 10.933932
Sound is audible during the first run, but not the second or any subsequent runs.
(Opened this on the ALSA bugzilla, they advised to also submit here, https://bugzilla.kernel.org/show_bug.cgi?id=216635)