Estou com dificuldades para configurar o VGA-passthrough. Estou executando um E5-1650v2, uma Nvidia GTX 970 para ser o host e um Quadro K4000 que eu quero passar para uma VM em um Asus X-99 E-WS. Este é o Ubuntu 16.04. Vt-d está ligado.
Eu tentei vincular o K4000 ao pci-stub e ao vfio-pci, e isso não funciona. Na linha de comando:
intel_iommu=on pci-stub.ids=10de:11fa,10de:0e0b
ou
intel_iommu=on vfio-pci.ids=10de:11fa,10de:0e0b
E em /etc/initramfs-tools/modules
. Ambas as técnicas acabam com o dispositivo de áudio ligado ao stub ou ao driver vfio, respectivamente, mas o driver da Nvidia sempre captura o dispositivo de exibição real.
Eu tentei definir
nvidia id=10de:13c2,10de:0fbb
(que é o cartão 970) em /etc/initramfs-tools/modules
para ver se isso funcionaria, mas não fez diferença.
Eu também tentei desvincular o cartão da linha de comando, fazendo eco do ID do dispositivo para /sys/bus/pci/drivers/nvidia/unbind
. Isso remove o diretório ...drivers/nvidia/
, mas também bloqueia o bash (que vai para 100% de um núcleo e é impossível de matar).
Existe uma maneira de dizer ao driver da Nvidia para ligar somente a uma placa?
Editar:
Para ver se haveria comportamento diferente, tentei vincular o 970 ao vfio. O driver nvidia ainda pega o dispositivo de vídeo, mas pelo menos eu estou vendo um grupo vfio em / dev / vfio fazendo isso, o que eu não consegui anotar acima não estava acontecendo antes.
Eu me pergunto se, de alguma forma, a ordem da ID PCI está envolvida; o K4000 é 06 e o 970 é 09, e a pré-inicialização e o processo de inicialização são exibidos no K4000. Eu não vejo nenhuma maneira de dizer ao BIOS qual placa tornar 'primária', e me pergunto se, uma vez que o BIOS preferia aquela placa, o kernel se recusaria a ligar o driver ao vfio / stub. O que implica que eu preciso derrubá-lo e reordenar os cartões.