HDA Intel Haswell no audio with IOMMU

Kernels & Hardware, configuring network, installing services

HDA Intel Haswell no audio with IOMMU

Postby mattia » 2020-03-21 20:29

Hi everyone,

I'm trying really hard to make my system working with GPU passthrough. I read tons of documentation. It seems working for the most part but not the audio, not even in the host.
My specs:
CPU: i5-4690K (iGPU: Intel® HD Graphics 4600)
dGPU: Radeon R9 290X
MB: Gigabyte GA-Z97X-UD3H (rev. 1.0)

I noticed this:
with GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt" the passthrough works (only video) but I have no audio in my iGPU
with GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on,igfx_off iommu=pt" the passthrough doesn't work (no video through my AMD dGPU) but I have audio in my iGPU

For the records I have a 3rd soundcard (in the motherboard) that I had to disable in BIOS to avoid problems with pulseaudio.

Some info:
Code: Select all
# lspci -nnkd 8086:0c0c
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
   Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:2010]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel

Code: Select all
$ pacmd list-cards
1 card(s) available.
    index: 0
   name: <alsa_card.pci-0000_00_03.0>
   driver: <module-alsa-card.c>
   owner module: 6
   properties:
      alsa.card = "0"
      alsa.card_name = "HDA Intel HDMI"
      alsa.long_card_name = "HDA Intel HDMI at 0xf7d30000 irq 34"
      alsa.driver_name = "snd_hda_intel"
      device.bus_path = "pci-0000:00:03.0"
      sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
      device.bus = "pci"
      device.vendor.id = "8086"
      device.vendor.name = "Intel Corporation"
      device.product.id = "0c0c"
      device.product.name = "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
      device.form_factor = "internal"
      device.string = "0"
      device.description = "Audio interno"
      module-udev-detect.discovered = "1"
      device.icon_name = "audio-card-pci"
   profiles:
      output:hdmi-stereo: Uscita «Digital Stereo (HDMI)» (priority 5900, available: unknown)
      output:hdmi-stereo-extra1: Uscita «Digital Stereo (HDMI 2)» (priority 5700, available: no)
      output:hdmi-surround-extra1: Uscita «Digital Surround 5.1 (HDMI 2)» (priority 600, available: no)
      output:hdmi-surround71-extra1: Uscita «Digital Surround 7.1 (HDMI 2)» (priority 600, available: no)
      output:hdmi-stereo-extra2: Uscita «Digital Stereo (HDMI 3)» (priority 5700, available: no)
      output:hdmi-surround-extra2: Uscita «Digital Surround 5.1 (HDMI 3)» (priority 600, available: no)
      output:hdmi-surround71-extra2: Uscita «Digital Surround 7.1 (HDMI 3)» (priority 600, available: no)
      output:hdmi-stereo-extra3: Uscita «Digital Stereo (HDMI 4)» (priority 5700, available: no)
      output:hdmi-surround-extra3: Uscita «Digital Surround 5.1 (HDMI 4)» (priority 600, available: no)
      output:hdmi-surround71-extra3: Uscita «Digital Surround 7.1 (HDMI 4)» (priority 600, available: no)
      output:hdmi-stereo-extra4: Uscita «Digital Stereo (HDMI 5)» (priority 5700, available: no)
      output:hdmi-surround-extra4: Uscita «Digital Surround 5.1 (HDMI 5)» (priority 600, available: no)
      output:hdmi-surround71-extra4: Uscita «Digital Surround 7.1 (HDMI 5)» (priority 600, available: no)
      off: Spento (priority 0, available: unknown)
   active profile: <output:hdmi-stereo>
   sinks:
      alsa_output.pci-0000_00_03.0.hdmi-stereo/#0: Audio interno Digital Stereo (HDMI)
   sources:
      alsa_output.pci-0000_00_03.0.hdmi-stereo.monitor/#0: Monitor of Audio interno Digital Stereo (HDMI)
   ports:
      hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
         properties:
            device.icon_name = "video-display"
            device.product.name = "2769M"
      hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
         properties:
            device.icon_name = "video-display"
      hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
         properties:
            device.icon_name = "video-display"
      hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
         properties:
            device.icon_name = "video-display"
      hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
         properties:
            device.icon_name = "video-display"

Code: Select all
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Code: Select all
$ aplay -L
default
    Playback/recording through the PulseAudio sound server
surround21
    2.1 Surround output to Front and Subwoofer speakers
surround40
    4.0 Surround output to Front and Rear speakers
surround41
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
    5.0 Surround output to Front, Center and Rear speakers
surround51
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA Intel HDMI, HDMI 4
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample mixing device
dmix:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample mixing device
dmix:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample mixing device
dmix:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct sample mixing device
dmix:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Hardware device with all software conversions
usbstream:CARD=HDMI
    HDA Intel HDMI
    USB Stream Output
mattia
 
Posts: 3
Joined: 2020-03-21 10:07

Re: HDA Intel Haswell no audio with IOMMU

Postby Head_on_a_Stick » 2020-03-22 09:07

According to the posted output you only have HDMI audio at the moment.

mattia wrote:I have a 3rd soundcard (in the motherboard) that I had to disable in BIOS to avoid problems with pulseaudio

Please elaborate on these problems.

Enable the card then post the output of
Code: Select all
cat /proc/asound/cards
aplay -Ll
User avatar
Head_on_a_Stick
 
Posts: 12004
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: HDA Intel Haswell no audio with IOMMU

Postby mattia » 2020-03-22 11:07

Head_on_a_Stick wrote:According to the posted output you only have HDMI audio at the moment.

That's correct.

Head_on_a_Stick wrote:
mattia wrote:I have a 3rd soundcard (in the motherboard) that I had to disable in BIOS to avoid problems with pulseaudio

Please elaborate on these problems.

Please forget it. Now it works but I tried too many things to know what did it.

Head_on_a_Stick wrote:Enable the card then post the output of
Code: Select all
cat /proc/asound/cards
aplay -Ll

I enabled the 3rd card as requested. Now I have 3:
Code: Select all
# lspci -nn|grep -i audio
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] [1002:aac8]

1- provided by my iGPU:
Code: Select all
# lspci -nnk -d 8086:0c0c
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
   Subsystem: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:2010]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel

2- integrated in the MB (front panel for the headset):
Code: Select all
# lspci -nnk -d 8086:8ca0
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
   Subsystem: Gigabyte Technology Co., Ltd 9 Series Chipset Family HD Audio Controller [1458:a182]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel

3- provided by my dGPU:
Code: Select all
# lspci -nnk -d 1002:aac8
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] [1002:aac8]
   Subsystem: PC Partner Limited / Sapphire Technology Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] [174b:aac8]
   Kernel driver in use: vfio-pci
   Kernel modules: snd_hda_intel

Code: Select all
$ cat /proc/asound/cards
 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7d34000 irq 34
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7d30000 irq 35

Code: Select all
$ aplay -Ll
default
    Playback/recording through the PulseAudio sound server
surround21
    2.1 Surround output to Front and Subwoofer speakers
surround40
    4.0 Surround output to Front and Rear speakers
surround41
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
    5.0 Surround output to Front, Center and Rear speakers
surround51
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA Intel HDMI, HDMI 4
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample mixing device
dmix:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample mixing device
dmix:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample mixing device
dmix:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct sample mixing device
dmix:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=9
    HDA Intel HDMI, HDMI 3
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=10
    HDA Intel HDMI, HDMI 4
    Hardware device with all software conversions
usbstream:CARD=HDMI
    HDA Intel HDMI
    USB Stream Output
sysdefault:CARD=PCH
    HDA Intel PCH, ALC1150 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Digital
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Direct sample mixing device
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, ALC1150 Digital
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, ALC1150 Digital
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC1150 Digital
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC1150 Digital
    Hardware device with all software conversions
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC1150 Analog [ALC1150 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 1: ALC1150 Digital [ALC1150 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


If I play an mp3 I head no audio when I use the soundcard of my iGPU and it plays way too fast.
If I use the soundcard of the MB (headset) it works just fine.
mattia
 
Posts: 3
Joined: 2020-03-21 10:07

Re: HDA Intel Haswell no audio with IOMMU

Postby mattia » 2020-03-27 12:51

Seems a known bug
https://bugzilla.kernel.org/show_bug.cgi?id=60769

No fixes so far.. :(
mattia
 
Posts: 3
Joined: 2020-03-21 10:07


Return to System configuration

Who is online

Users browsing this forum: No registered users and 4 guests

fashionable