Mi rendo conto che sono trascorsi alcuni anni, ma volevo rispondere dal momento che questo post si presenta piuttosto in alto quando vai su Google per "virtualbox 3d multiple GPU". Nel tempo che è passato, le cose sono diventate molto più semplici e migliori.
Le persone che si imbattono in questo thread probabilmente atterreranno qui perché hanno un laptop o un PC che ha due GPU, che è abbastanza comune in questi giorni - specialmente sui laptop da gioco. La GPU Intel integrata è utilizzata per il rendering di finestre e applicazioni generali, ma le applicazioni che utilizzano la funzionalità GPU 3D dovrebbero farlo tramite la GPU Nvidia dalle prestazioni più elevate.
Oggi stavo costruendo una VM Ubuntu sul mio laptop per fare un po 'di sviluppo multipiattaforma, e tutto andava bene tranne la VM guest era estremamente lenta, e non c'erano spiegazioni perché CPU, memoria, disco mostravano un basso utilizzo.
Non ci volle molto per capire che erano le prestazioni video a causare il problema. Il lancio di applicazioni, l'ottimizzazione / riduzione al minimo di Windows - tutto ciò che diamo per scontato nel 2019 ma che necessita di accelerazione 3D per funzionare a qualsiasi velocità ragionevole - utilizzava GPU 0.
È stato facile determinarlo perché Windows 10 ora ha la possibilità di vedere l'utilizzo della GPU usando "task manager", quindi la scheda "performance". E ho potuto vedere mentre spostavo Windows, ingrandito, ridotto a icona, che veniva fatto tramite GPU sull'host. Quella GPU sull'host è la GPU Intel HD integrata e volevo usare la NVidia GTX-1050ti, che era GPU1.
Dopo aver cercato in giro, non ho trovato da nessuna parte dove si potesse specificare quale GPU usare. Ma questo thread, e alcuni altri, mi hanno ricordato che su questo tipo di configurazioni devi andare nel pannello di controllo di NVidia, quindi "gestire le impostazioni 3d", quindi la scheda "Impostazioni del programma".
Probabilmente non troverai "Virtualbox" nell'elenco. Ma puoi premere il pulsante "Aggiungi" e aggiungere virtualbox.exe. Potrebbe essere necessario eseguire il drill-down dell'unità / percorso in cui si trova l'installazione della virtualbox. Dopo averlo aggiunto, nelle impostazioni seguenti assicurarsi che la voce 2. "Seleziona il processore grafico preferito per questo programma" sia impostata sulla GPU che si desidera utilizzare, che nel mio caso era "Processore NVIDIA ad alte prestazioni" .
Non impostarlo su auto e certamente non impostarlo su integrato. Ovviamente, sono necessarie le impostazioni della VM impostate con la casella di accelerazione 3D selezionata e sono necessarie le aggiunte guest installate sull'host. Ma una volta configurate le impostazioni 3d del video host come descritto sopra, arrestare la VM guest, uscire dalla virtual box e quindi riavviare virtualbox e VM.
Se usi Task Manager | performacne e osservi il processo "Virtualbox Manager" e guardi quale GPU viene utilizzata quando navighi sull'interfaccia utente della VM guest, dovresti vederlo ora usando la GPU migliore. Vedi l'immagine incollata di seguito.
Detto questo, non aspettarti di essere in grado di eseguire giochi in una VM guest. Il passaggio di accelerazione 3D attraverso non è ancora così lontano. Ma puoi aspettarti di avere un sistema operativo e un'interfaccia utente moderni nel tuo guest e avere un'esperienza accettabile. Uno sarebbe in grado di giocare a giochi più vecchi nella VM guest, come qualsiasi cosa basata su directX9. Sfortunatamente, poiché la capacità di virtualizzare gli eveolve GPU, la tecnologia di gioco 3d si evolve più rapidamente.