GPU passthrough funziona con il firmware UEFI ma non con la iso di Windows
Dopo aver consultato esperti in questo campo, programmatori di diverse aree e professori, abbiamo trovato la risposta alla domanda e la lasciamo riflessa in questo post.
Soluzione:
Sei già sulla strada giusta. Il GPU Passthrough non è perfetto, specialmente se si tratta di una scheda NVidia (di cui non si parla di NVidia o AMD). Terminare la configurazione nella finestra Qemu. Assicurarsi che la macchina Windows sia connessa a Internet e lasciare che Windows Update installi i driver grafici. Quando si torna indietro si dovrebbe essere accolti da un secondo monitor; in caso contrario, riavviare. Di solito rimuovo la console spice/vnc e collego solo il monitor della GPU. Per far funzionare il GPU Passthrough è necessario procedere per tentativi.
Altre cose da provare:
Installare Windows senza GPU Passthrough, quindi provare a passare la GPU.
Installare i driver tramite NVidia_drivers.exe
Installare i driver tramite Windows Update
Bios vs UEFI
Q35 vs i440fx
Nota: il codice 43 è un errore noto di NVidia relativo ai driver NVidia che verificano se sono in esecuzione in una macchina virtuale. NVidia vende schede specifiche per l'esecuzione in un ambiente VM e tenta di bloccare l'installazione dei driver per le schede consumer in una VM. È necessario assicurarsi di utilizzare quanto segue nel proprio domain.xml
Vedere https://passthroughpo.st/apply-error-43-workaround/ e altre risorse per gli esempi.
Ecco una schermata della mia configurazione:
Ecco la parte "rilevante" del mio domain.xml, posso condividerlo interamente se volete, ma contiene un mucchio di cose inutili.
e poi andando alla voce GTX 1070 in Gestione dispositivi e aggiornando i driver. L'ultima volta (usando virt-install) ho installato gli aggiornamenti dal sito web di NVIDIA. Ora per far funzionare questo con virt-install in modo da avere un dominio XML modificabile.
Edit: Finora, usando virt-install, ho ottenuto (di nuovo) la schermata di Tiano, ma questa volta l'installazione dei driver come descritto sopra non è stata sufficiente, né ha funzionato importare l'installazione di cui sopra usando virt-install (come nota a margine, mi ci è voluto un po' per capire che tutto quello che dovevo fare per far funzionare virt-install con la mia installazione esistente era includere l'iso di avvio, permettendogli di avviarsi dall'installazione senza errori).
Edit: Quindi, credo di averlo fatto funzionare ora.
Eseguire l'installazione iniziale usando il precedente qemu-system-x86_64
Aggiornare i driver usando Gestione dispositivi
Poi fare virt-install (ma ottenere di nuovo l'errore 43):
Se ritieni che questo post ti sia stato utile, sarebbe molto utile se lo condividessi con più appassionati di programmazione e ci aiutassi a diffondere queste informazioni.