Me di cuenta de que han pasado algunos años, pero quería responder ya que esta publicación aparece bastante alta cuando buscas en Google para "virtualbox 3d multiple GPU". En el tiempo transcurrido, las cosas se han vuelto mucho más simples y mejores.
Las personas que se topan con este hilo probablemente aterrizarán aquí porque tienen una computadora portátil o PC que tiene dos GPU, lo cual es bastante común en estos días, especialmente en las computadoras portátiles para juegos. La GPU Intel integrada se usa para renderizar ventanas y aplicaciones generales, pero las aplicaciones que hacen uso de la funcionalidad GPU 3D deberían hacerlo a través de la GPU Nvidia de mayor rendimiento.
Hoy, estaba construyendo una máquina virtual Ubuntu en mi computadora portátil para hacer un desarrollo multiplataforma, y todo estaba bien, excepto que la máquina virtual invitada era extremadamente lenta, y no había ninguna explicación porque la CPU, la memoria y el disco mostraban poca utilización.
No tardó mucho en darse cuenta de que era el rendimiento del video el que causaba el problema. El lanzamiento de aplicaciones, la maximización / minimización de ventanas, todo lo que damos por sentado en 2019 pero necesita aceleración 3D para funcionar a una velocidad razonable, estaba usando GPU 0.
Fue fácil determinar esto porque Windows 10 ahora tiene la capacidad de ver la utilización de la GPU usando el "administrador de tareas", luego la pestaña "rendimiento". Y pude ver a medida que movía las ventanas, maximizado, minimizado, que se hacía a través de GPU en el host. Esa GPU en el host es la GPU Intel HD integrada, y quería usar la NVidia GTX-1050ti, que era GPU1.
Después de buscar, realmente no encontré ningún lugar donde pudiera especificar qué GPU usar. Pero este hilo, y algunos otros, me recordaron que en este tipo de configuraciones tienes que ir al panel de control de NVidia, luego "administrar la configuración 3d", luego la pestaña "Configuración del programa".
Probablemente no encontrará "Virtualbox" en la lista. Pero puede presionar el botón "Agregar" y agregar virtualbox.exe. Es posible que deba profundizar en la unidad / ruta donde se encuentra la instalación de su virtualbox. Una vez que lo haya agregado, asegúrese de que el elemento 2. "Seleccione el procesador de gráficos preferido para este programa" esté configurado en la GPU que desea que use, que en mi caso fue "procesador NVIDIA de alto rendimiento" .
No lo configure en automático, y ciertamente no lo configure en integrado. Por supuesto, necesita la configuración de VM configurada con la casilla de aceleración 3D marcada, y necesita las adiciones de invitados instaladas en el host. Pero una vez que haya configurado la configuración 3D del video del host como se describe anteriormente, apague la máquina virtual invitada, salga de virtual box y luego vuelva a iniciar virtualbox y la VM.
Si usa performacne del administrador de tareas y observa el proceso del "administrador de virtualbox" y observa qué GPU se usa cuando navega por la interfaz de usuario de la máquina virtual invitada, debería verlo usando la mejor GPU ahora. Ver la imagen pegada a continuación.
Dicho todo esto, no esperes poder ejecutar juegos en una máquina virtual invitada. El paso de aceleración 3D todavía no está tan lejos. Pero puede esperar tener un SO y una interfaz de usuario modernos en su invitado, y tener una experiencia aceptable. Uno podría jugar juegos más antiguos en la máquina virtual invitada, como cualquier cosa basada en directX9. Desafortunadamente, a medida que la capacidad de virtualizar GPU evoluciona, la tecnología de juegos en 3D evoluciona más rápido.