You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.
I'm having a intel nuc ("Intel NUC 11 Essential Kit NUC11ATKC4 (Atlas Canyon)") featuring a intel N5105 CPU (Jasper Lake), running Debian Bullseye (stable) with bullseye-backports enabled, hence running kernel version is 5.18.0-0.deb11.4-amd64.
Host and guest/VM are running the same system flavour.
I already figured out out that GVT-g is not supported for my CPU version/generation (yet), so I'm trying to go withn GVT-d (full PCI passthrough of the iGPU).
I'm passing over the IOMMU group for the display controller as well as everything which is of the same IOMMU group as the sound card, resulting modprobing vfio-pci on the host with the following arguments:
Within the VM I load i915 the following way: modprobe i915 force_probe=4e61 enable_guc=0
It works, the VM the iGPU and sound card is attached to has full control of the iGPU and can drive the connected screen and can see the sound card.
Except for HDMI audio. The VM recognises the passed sound card producing analogue audio (DAC), but that's it.
When not using vfio / passing-through the PCI devices, but modprobing i915 and snd_hda_intel on the physical host (same way as in the VM as stated above), I do see the two soundcards - HDMI as well as the DAC.
I read, that instead of solely passing "intel_iommu=on" to the hosts's kernel, this issue might be fixed by passing "intel_iommu=on,igfx_off" instead (or even "intel_iommu=on,igfx_off iommu=pt"), however when doing so vfio fails to acquire the memory regions, failing with:
VFIO - User Level meta-driver version: 0.3
vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
vfio-pci: probe of 0000:00:02.0 failed with error -22
vfio_pci: add [8086:4e61[ffffffff:ffffffff]] class 0x000000/00000000
vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
vfio-pci: probe of 0000:00:02.0 failed with error -22
vfio_pci: add [8086:4d87[ffffffff:ffffffff]] class 0x000000/00000000
vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
vfio-pci: probe of 0000:00:02.0 failed with error -22
vfio_pci: add [8086:4da3[ffffffff:ffffffff]] class 0x000000/00000000
vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
vfio-pci: probe of 0000:00:02.0 failed with error -22
vfio_pci: add [8086:4da4[ffffffff:ffffffff]] class 0x000000/00000000
vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
vfio-pci: probe of 0000:00:02.0 failed with error -22
vfio_pci: add [8086:4dc8[ffffffff:ffffffff]] class 0x000000/00000000
when modprobing as stated above.
My kernel command line, resulting in the failing passthrough with above "error -22"-messages, is: BOOT_IMAGE=/vmlinuz-5.18.0-0.deb11.4-amd64 root=UUID=42a5070f-01d2-4904-aff9-f90a71a2b39c ro intel_iommu=on,igfx_off iommu=pt video=vesafb:off video=efifb:off nofb vga=off kvm.ignore_msrs=1 console=ttyS0,115200
What makes me wonder is the errors I see in dmesg when the VM controls the iGPU:
i915 0000:00:0a.0: [drm] VT-d active for gfx access
i915 0000:00:0a.0: vgaarb: deactivate vga console
i915 0000:00:0a.0: [drm] Transparent Hugepage mode 'huge=within_size'
i915 0000:00:0a.0: [drm] *ERROR* conflict detected with stolen region: [mem 0x78000000-0x7fffffff]
i915 0000:00:0a.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
i915 0000:00:0a.0: [drm] Failed to find VBIOS tables (VBT)
i915 0000:00:0a.0: [drm] *ERROR* VBT claims to have both internal and external displays on PHY A. Configuring for internal.
i915 0000:00:0a.0: [drm] *ERROR* VBT claims to have both internal and external displays on PHY A. Configuring for internal.
i915 0000:00:0a.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
i915 0000:00:0a.0: firmware: direct-loading firmware i915/icl_dmc_ver1_09.bin
i915 0000:00:0a.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)
i915 0000:00:0a.0: [drm] failed to retrieve link info, disabling eDP
i915 0000:00:0a.0: [drm] [ENCODER:238:DDI B/PHY B] is disabled/in DSI mode with an ungated DDI clock, gate it
[drm] Initialized i915 1.6.0 20201103 for 0000:00:0a.0 on minor 0
snd_hda_intel 0000:00:02.0: bound 0000:00:0a.0 (ops i915_audio_component_bind_ops [i915])
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:0a.0: [drm] *ERROR* VBT claims to have both internal and external displays on PHY A. Configuring for internal.
Console: switching to colour frame buffer device 240x67
i915 0000:00:0a.0: [drm] fb0: i915drmfb frame buffer device
snd_hda_intel 0000:00:02.0: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
snd_hda_intel 0000:00:02.0: No response from codec, disabling MSI: last cmd=0x200f0000
snd_hda_intel 0000:00:02.0: Codec #2 probe error; disabling it...
snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269VB: line_outs=1 (0x21/0x0/0x0/0x0/0x0) type:hp
snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC0D0: hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
snd_hda_codec_realtek hdaudioC0D0: inputs:
snd_hda_codec_realtek hdaudioC0D0: Mic=0x18
input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:02.0/sound/card0/input7
input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:02.0/sound/card0/input8
I do not see those errors when loading i915 equally on the physical host.
Thanks a lot!
The text was updated successfully, but these errors were encountered:
@mirko Did you get anywhere with this? I'm assuming GVT-g will never be supported on Jasper Lake since it uses an 11th Gen GPU, but I couldn't actually get GVT-d working at all either... (using a n6005 though). Just wondering if I will encounter the same issue with sound once I get video working.
I'm having a intel nuc ("Intel NUC 11 Essential Kit NUC11ATKC4 (Atlas Canyon)") featuring a intel N5105 CPU (Jasper Lake), running Debian Bullseye (stable) with bullseye-backports enabled, hence running kernel version is 5.18.0-0.deb11.4-amd64.
Host and guest/VM are running the same system flavour.
I already figured out out that GVT-g is not supported for my CPU version/generation (yet), so I'm trying to go withn GVT-d (full PCI passthrough of the iGPU).
I'm passing over the IOMMU group for the display controller as well as everything which is of the same IOMMU group as the sound card, resulting modprobing vfio-pci on the host with the following arguments:
modprobe vfio-pci ids=8086:4e61,8086:4d87,8086:4da3,8086:4da4,8086:4dc8
Within the VM I load i915 the following way:
modprobe i915 force_probe=4e61 enable_guc=0
It works, the VM the iGPU and sound card is attached to has full control of the iGPU and can drive the connected screen and can see the sound card.
Except for HDMI audio. The VM recognises the passed sound card producing analogue audio (DAC), but that's it.
When not using vfio / passing-through the PCI devices, but modprobing i915 and snd_hda_intel on the physical host (same way as in the VM as stated above), I do see the two soundcards - HDMI as well as the DAC.
I read, that instead of solely passing "intel_iommu=on" to the hosts's kernel, this issue might be fixed by passing "
intel_iommu=on,igfx_off
" instead (or even "intel_iommu=on,igfx_off iommu=pt
"), however when doing so vfio fails to acquire the memory regions, failing with:when modprobing as stated above.
My kernel command line, resulting in the failing passthrough with above "error -22"-messages, is:
BOOT_IMAGE=/vmlinuz-5.18.0-0.deb11.4-amd64 root=UUID=42a5070f-01d2-4904-aff9-f90a71a2b39c ro intel_iommu=on,igfx_off iommu=pt video=vesafb:off video=efifb:off nofb vga=off kvm.ignore_msrs=1 console=ttyS0,115200
What makes me wonder is the errors I see in dmesg when the VM controls the iGPU:
I do not see those errors when loading i915 equally on the physical host.
Thanks a lot!
The text was updated successfully, but these errors were encountered: