Eu tenho tentado por vários dias agora (tive que reinstalar o arco duas vezes durante), com a configuração do GPU passthrough no meu pc sem sucesso. O hardware é
- Asus Z97-P
- Intel I5-4690
- AMD Radeon R9 380 (o catalisador o vê como R9 285)
que deve ser capaz de IOMMU. Meu computador executa o Arch Linux.
Tenho acompanhado os dois artigos seguintes sobre o tema:
O objetivo
Infelizmente eu só tenho uma placa de vídeo (e intel on-board), mas eu ficaria totalmente feliz em começar a VM a partir da linha de comando quando eu quiser usar o Windows, caso contrário, gostaria de digitar startx para utilizar os gráficos cartão para o módulo fglrx.
Como tentei alcançá-lo
Eu passei a opção intel_iommu = on para initrd, que resultou na seguinte lista usando
# find /sys/kernel/iommu_groups -type l
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:1a.0
/sys/kernel/iommu_groups/5/devices/0000:00:1b.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.2
/sys/kernel/iommu_groups/6/devices/0000:00:1c.3
/sys/kernel/iommu_groups/6/devices/0000:03:00.0
/sys/kernel/iommu_groups/6/devices/0000:04:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
que pode significar que o IOMMU está habilitado com sucesso, mas de acordo com o arch wiki ele pode não ter sido configurado corretamente (veja a última linha de código):
#dmesg|grep -e DMAR -e IOMMU
[ 0.000000] ACPI: DMAR 0x00000000DDB41D40 000080 (v01 INTEL BDW 00000001 INTL 00000001)
[ 0.000000] Intel-IOMMU: enabled
[ 0.024745] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap d2008c20660462 ecap f010da
[ 0.024747] IOAPIC id 8 under DRHD base 0xfed90000 IOMMU 0
[ 0.296873] DMAR: No ATSR found
[ 0.296964] IOMMU: dmar0 using Queued invalidation
[ 0.296965] IOMMU: Setting RMRR:
[ 0.296973] IOMMU: Setting identity map for device 0000:00:14.0 [0xdee7d000 - 0xdee8bfff]
[ 0.296996] IOMMU: Setting identity map for device 0000:00:1a.0 [0xdee7d000 - 0xdee8bfff]
[ 0.297012] IOMMU: Setting identity map for device 0000:00:1d.0 [0xdee7d000 - 0xdee8bfff]
[ 0.297024] IOMMU: Prepare 0-16MiB unity mapping for LPC
[ 0.297029] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 3.326568] AMD IOMMUv2 driver by Joerg Roedel <[email protected]>
[ 3.326569] AMD IOMMUv2 functionality not available on this system
Eu tentei as outras opções mencionadas no site wiki do Arch ( passe pci-stub para MODULES em mkinitcpio.conf) , mas esta última linha persistiu.
Primeira pergunta: A saída do primeiro comando é suficiente para dizer que meu sistema utiliza corretamente o IOMMU?
Com um pouco de desconfiança, eu cheguei na parte em que eu tinha que ligar o meu VGA ao pci-stub, o que levou a algumas reinstalações, então eu gostaria de ter pelo menos algumas instruções para ir a partir daqui, se usar pci-stub ou VFIO e tal.
Desculpem o longo post e espero que não seja uma questão muito ampla para começar.