¿Alguna idea de si puede ejecutar una VM de Windows a través de IronHide para la aceleración de la tarjeta gráfica? Me gustaría jugar juegos / ver bluray, etc. utilizando mi tarjeta de video.
virtualbox
nvidia-optimus
bumblebee
mwjackson
fuente
fuente
Respuestas:
Tal vez una explicación entre los gráficos en un invitado virtual y el O / S del host real ayudaría aquí.
Primero lo básico:
Todo en un invitado virtual es una abstracción; lo que esto significa es que cada dispositivo y controlador en un O / S de invitado virtual no depende del dispositivo host y controlador reales.
Para darte un ejemplo simple. Un mouse se ve como un dispositivo específico: el kernel de Linux ve este dispositivo y permite que el sistema operativo invitado lo use. La herramienta de virtualización asigna este "dispositivo virtual" al dispositivo físico real: VirtualBox, VMWare, Xen, etc. Por lo tanto, el sistema operativo invitado nunca necesita comprender qué es el mouse físico, solo ve lo que la herramienta de virtualización le ha asignado. . El valor de este enfoque es que puede mover el invitado virtual a diferentes hosts: funcionará de la misma manera porque no hay una dependencia directa del host en sí.
Para mostrar esto en la práctica, puede ejecutar
lsusb
tanto en el host como en el invitado: en mi host, O / SI tiene los siguientes dispositivos USB:En mi invitado, oneiric O / SI puede ver los siguientes dispositivos USB: estos son diferentes del host:
Cualquier invitado O / S, ya sea Windows o Linux, solo verá este dispositivo invitado virtual.
Gráficos de host frente a gráficos de invitado
Es lo mismo para los gráficos.
Mis gráficos de host son:
En mi O / S oneiric invitado, puede ver la siguiente tarjeta gráfica: puede ver que no es lo mismo que el host:
Del mismo modo, un Windows Guest O / S solo verá un dispositivo virtual invitado similar.
En el mundo turbio de VirtualBox, las adiciones de invitados que puede instalar manualmente (o en 11.10 - jockey lo ve y recomienda que lo instale) instala módulos de kernel adicionales (o controladores de dispositivo para invitados de Windows) para permitir que el invitado tenga acceso mejorado a O / S Su host O / S gráficos. Una vez más, no es un mapeo directo, pero permite ver gráficos acelerados en 3D.
Si una aplicación dentro de su máquina virtual usa funciones 3D a través de la interfaz de programación OpenGL (o para un invitado de Windows O / S - sus llamadas DirectX), en lugar de emularlas en un software (lo que sería lento), VirtualBox intentará usar el host Hardware 3D
Una vez más, enfatizo, el invitado O / S no ve su tarjeta gráfica real, solo pasa la llamada OpenGL (o DirectX) del Invitado directamente al hardware del Host para procesar.
En la configuración de VirtualBox, debe cambiar la memoria de la tarjeta de video y la configuración de la tarjeta gráfica 3D. Su O / S invitado verá una "tarjeta acelerada 3D" con 128Mb de RAM. No importa si su tarjeta gráfica host es mejor que esto: su O / S invitado solo verá esta tarjeta gráfica virtual "simple" abstraída.
Como mencionó que está utilizando un O / S de invitado de Windows, la casilla de verificación 2D se aplica a usted ya que se realiza una transferencia similar de las llamadas de la interfaz de programación.
Bumblebee / IronHide es un mecanismo de conmutación de gráficos o bien: está utilizando gráficos integrados o los gráficos NVidia / ATI de mayor capacidad, pero no ambos al mismo tiempo.
Dado que la capacidad de OpenGL (o DirectX) de los gráficos intercambiables más altos es mayor que el conjunto de chips integrados, verá un rendimiento gráfico relativamente mejorado con las aplicaciones intensivas de gráficos Guest O / S. Sin embargo, esta mejora no es tan dramática como ejecutar la misma aplicación de forma nativa en el host, ya que todavía funciona dentro de las limitaciones del dispositivo gráfico de invitado virtual de 128 MB.
fuente
fuente
Una respuesta anterior https://askubuntu.com/a/85138/38052 explica cómo todo lo que ve el invitado O / S es una especie de abstracción. Si bien esto solía ser completamente cierto, creo que las cosas están cambiando y puede que ya no sea completamente cierto.
Algunos procesadores más nuevos también admiten la virtualización de E / S MMU. Las tecnologías se denominan Intel VT-d para la versión de Intel y AMD-Vi para la versión de AMD. Para citar el artículo de Wikipedia sobre virtualización x86:
Esto suena bastante interesante, pero ya puedo prever algunos problemas. Por un lado, en las computadoras portátiles Optimus, Intel IGP siempre está representando el resultado final en pantalla. No me queda claro cómo el Guest O / S y el Host O / S van a manejar el IGP. Un pensamiento es que si es posible ejecutar el Host sin ningún gráfico mientras los invitados se están ejecutando, esto podría funcionar, pero no me queda claro cómo se podría hacer esto.
fuente
OK, tenía curiosidad, así que intenté esto.
QEMU, y ahora VirtualBox, son compatibles con la transferencia de dispositivos PCI a la máquina invitada. Eso significa que si tiene una segunda tarjeta gráfica, puede pasarla a un invitado de Windows en un host Linux y obtener un rendimiento 3D completo (juegos) en un entorno de Windows virtualizado. Ese es el caso de una plataforma de escritorio con dos tarjetas gráficas. El administrador de dispositivos mostrará "NVIDIA GTX ... lo que sea" en lugar de decir "Adaptador de gráficos Virualbox".
Optimus siempre es más complicado. Estoy probando esto en un ASUS UX501. Pude pasar el chip NVidia al invitado de Windows y se muestra en el administrador de dispositivos como "Controlador de video 3D". Pero no pude instalar ningún controlador de Windows para admitirlo. Parece que la presencia de los gráficos de Intel es un requisito previo.
Sarang tenía razón al sospechar. Parece que el chip nvidia no es un "adaptador de pantalla" como manejaría un monitor, sino solo un acelerador para el chip intel integrado. No parecen funcionar como dos dispositivos separados independientemente.
fuente