Saltar al contenido

¿Usar la GPU NVidia de VirtualBox?

Solución:

Me doy cuenta de que han pasado algunos años, pero quería responder ya que esta publicación aparece bastante alta cuando buscas en Google “virtualbox 3d multiple GPU”. En el tiempo que ha pasado, 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 utiliza para renderizar ventanas y aplicaciones generales, pero las aplicaciones que utilizan 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 explicación porque la CPU, la memoria y el disco mostraban una baja utilización.

No pasó mucho tiempo para darse cuenta de que era el rendimiento del video lo que estaba causando el problema. El lanzamiento de aplicaciones, la maximización / minimización de ventanas, cualquier cosa que damos por sentado en 2019 pero que 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” y luego la pestaña de “rendimiento”. Y pude ver mientras movía ventanas, maximizadas, minimizadas, que se estaba haciendo a través de la 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 pudieras 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”.

Es probable que no encuentre “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 virtualbox. Una vez que lo haya agregado, en la configuración a continuación, 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 era “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 invitado instaladas en el host. Pero una vez que haya establecido la configuración del host de video 3d como se describe anteriormente, apague la máquina virtual invitada, salga de la caja virtual y luego vuelva a iniciar la caja virtual y la máquina virtual.

Si usa el administrador de tareas | performacne y observa el proceso de “virtualbox manager” y observa qué GPU se usa cuando navega por la interfaz de usuario de la VM invitada, debería verlo usando la mejor GPU ahora. Vea la imagen pegada a continuación.

Dicho todo esto, no espere poder ejecutar juegos en una máquina virtual invitada. El paso de aceleración 3D aún no está tan avanzado. Pero puede esperar tener un sistema operativo 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 evoluciona la capacidad de virtualizar la GPU, la tecnología de juegos 3D evoluciona más rápido.

Captura de pantalla

Probablemente no sea posible otorgar al invitado acceso completo a la GPU. Si una máquina virtual tuvo acceso directo a su GPU mientras su host la estaba usando, Bad ThingsTM sucedería porque compartir memoria entre dos computadoras efectivamente diferentes no es una cosa; punteros y direcciones y todo lo demás serían muy diferentes entre ellos. (Ninguna tarjeta disponible para el consumidor admite el mantenimiento de dos computadoras a la vez).

Sin embargo, hay algunas cosas que puede probar. Primero, configure su procesador gráfico preferido en el bueno en el Panel de control de NVidia (Configuraciones 3DAdministrar la configuración 3DProcesador de gráficos preferido). Eso podría hacer que VirtualBox vaya con la tarjeta NVidia para OpenGL.

Si eso no ayuda, intente instalar Guest Additions en modo seguro en el invitado.

Finalmente, en hosts Linux, puede intentar pasar la GPU a la máquina virtual, pero esto solo funcionará para tarjetas PCI y no pude encontrar si la suya es PCI, y aún así, tiene una buena posibilidad de extraer la GPU de el anfitrión o causando otros problemas. Primero busque la dirección PCI (bus, dispositivo y función) de la tarjeta correcta. Configure el chipset de su VM en ICH9; esto no rompió nada inmediatamente cuando lo probé. Luego use la utilidad VBoxManage para conectar la tarjeta:

vboxmanage modifyvm "Your VM Name" --pciattach BB:[email protected]:dd.f

Reemplazar Your VM Name según sea apropiado. BB es el número de bus de su GPU en el host; DD es el dispositivo; F es la función. Después de la @, ingrese la ranura PCI que estará en el invitado. Por ejemplo:

vboxmanage modifyvm "Windows 7 x64" --pciattach 01:[email protected]

En general, es más probable que el paso a través de GPU sea posible en un host Linux. Consulte Cómo configurar una máquina de juegos con paso a través de GPU.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *