222 votos

¿Cuáles son las diferencias entre VBoxVGA, VMSVGA y VBoxSVGA en VirtualBox?

VirtualBox 6.0 proporciona una nueva configuración llamada Controlador de Gráficos. Hay cuatro opciones para elegir:

  • Ninguno
  • VBoxVGA
  • VMSVGA
  • VBoxSVGA

En el manual de usuario he encontrado esta información:

Controlador de gráficos: Especifica el tipo de adaptador gráfico utilizado por la VM invitada. Tenga en cuenta que debe instalar las Guest Additions en la VM huésped para especificar el controlador gráfico VBoxSVGA o VMSVGA. Están disponibles las siguientes opciones:
- VBoxSVGA: El controlador gráfico por defecto para las nuevas VMs que utilizan Linux o Windows 7 o posterior. Este controlador gráfico mejora el rendimiento y la compatibilidad con 3D en comparación con la opción heredada VBoxVGA.
- VBoxVGA: Utilice este controlador gráfico para los sistemas operativos invitados heredados. Este es el controlador gráfico por defecto para las versiones de Windows anteriores a Windows 7.
- VMSVGA: Utilice este controlador gráfico para emular un dispositivo gráfico VMware SVGA.
- No: No emula un tipo de adaptador gráfico.

Pero sigue sin describir cuál de ellos y por qué debo preferir.
¿Cuándo debo elegir Ninguno?
¿Es VMSVGA mejor que VBoxSVGA?
¿Qué pasa con VBoxVGA?

He probado el arranque de archlinux-2019.02.01-x86_64.iso con virtualbox 6.0.4 en modos efi y legacy:

 Adapter              EFI mode              Legacy mode 

 VBoxVGA   ok                               ok          
 VMSVGA    ok in systemd-boot menu,         ok          
           then black screen for some time              
           when booting, then becomes ok                
 VBoxSVGA  black screen                     ok          

También he notado que con VMSVGA y VBoxSVGA pasar el parámetro video=XRESxYRES es ignorado:

+----------+----------------+--------------+
| Adapter  |    EFI mode    | Legacy mode  |
+----------+----------------+--------------+
| VBoxVGA  | works          | works        |
| VMSVGA   | doesn't work   | doesn't work |
| VBoxSVGA | could not test | doesn't work |
+----------+----------------+--------------+

Pero todavía es posible establecer algunas de esas resoluciones ignoradas después de boot con fbset.

0 votos

No recomendaría usar EFI en una máquina virtual a menos que sea absolutamente necesario. Es una sobrecarga inútil.

1 votos

He probado los tres en mi vm CentOS 7 con el gestor de ventanas i3 ejecutado en él usando un monitor 4k. VBoxSVGA parece ganar ligeramente a VMSVGA. VBoxVGA fue terrible. Ninguno de los tres funciona bien en la pantalla retina de mi MacBook Pro de 2018. Hay tanto lag que es casi inutilizable.

0 votos

@Shadoninja im conseguir de nuevo en linux y he instalado debian hoy en virtualbox. nada funcionó gráficos sabio tan lento y todo. im tratando VBoxSVGA al menos se muestra como VBX en la configuración de pantalla gnome. También estoy en un MacBook Pro Mid 2018 este comentario parece haber ayudado hasta ahora Gracias

179voto

Nick Dixon Puntos 154

Basado en lo que he encontrado en el código fuente:

VBoxVGA

Esto emula un adaptador gráfico específico de VirtualBox, igual que en las versiones anteriores (<6.0.0).

  • Este es el valor predeterminado para las imágenes creadas para versiones anteriores de VirtualBox (<6.0.0) y para los huéspedes de Windows anteriores a Windows 7.
  • Tiene alguna forma de passthrough 3D, pero -si no recuerdo mal- utiliza un enfoque inseguro que simplemente deja que el huésped vuelque todos los comandos a la GPU anfitriona.
  • Su uso en un invitado de Linux requiere la instalación de las adiciones del invitado porque este adaptador no es (todavía) soportado por el núcleo principal de Linux.
  • Sólo es compatible con OpenGL 1.1 en Windows 10 de 64 bits y todos los huéspedes de Linux.

Esta opción probablemente existe sólo para proporcionar continuidad - después de actualizar a 6.0, todas las viejas máquinas virtuales tienen este modo seleccionado automáticamente para que no haya un cambio inesperado en el comportamiento; usted no pierde cualquier aceleración que anteriormente tenía.

VMSVGA

Esto emula el adaptador gráfico de VMware Workstation con el método de aceleración "VMware SVGA 3D".

  • Al contrario de lo que dice el manual, esto es actualmente el valor por defecto para los huéspedes de Linux.
  • Se supone que proporciona un mejor rendimiento y seguridad que el método antiguo.
  • Esto es soportado por el núcleo principal de Linux usando el controlador SVGA .
  • Soporta OpenGL 2.1 en todos los huéspedes de Windows y Linux.
  • También podría tener la ventaja de ser compatible con sistemas operativos antiguos que disponían de adiciones para huéspedes de VMware pero no de VirtualBox. (Tengo previsto probar esto con Windows 9x, que por otra parte es un enorme dolor para conseguir que incluso los gráficos VESA funcionen con VirtualBox)

VBoxSVGA

Esto proporciona un dispositivo híbrido que funciona como VMSVGA (incluyendo sus nuevas capacidades de aceleración 3D), pero reporta el mismo viejo PCI VID:PID que VBoxVGA.

  • Este es el valor por defecto para los huéspedes de Windows.
  • La ventaja de este modo es que puedes actualizar las VMs existentes (que previamente usaban VBoxVGA y tenían el driver de vídeo de VirtualBox instalado) y no pierden sus gráficos en el proceso - siguen viendo el mismo dispositivo, hasta que actualices las "guest additions" en cualquier momento posterior para habilitar la aceleración 3D.
  • Además, porque sigue siendo VMware SVGA emulado por VirtualBox, elegir esta opción y utilizar el controlador de VirtualBox puede seguir teniendo ventajas sobre el de VMware, por ejemplo, permitir hacer uso de las funciones adicionales específicas de VirtualBox.

"Ninguno"

Obviamente, no se trata de ningún gráfico emulado. Utilícelo sólo si proporciona una GPU real a través de PCI passthrough, o si su sistema absolutamente no Necesito una GPU.

Fuentes

2 votos

< virtualbox.org/browser/vbox/trunk/src/VBox/Devices/Graphics/ >; nótese cómo tanto VBoxSVGA como VMSVGA dan como resultado VMSVGAEnabled=true y VMSVGA3dEnabled=${3DEnabled} con la única diferencia de que VMSVGAPciId .

2 votos

@galgaesh VBoxVGA es soportado por drivers/staging/vboxvideo desde aproximadamente Linux 4.14.

0 votos

En otras palabras, VBoxVGA es mejor para ejecutar operaciones no gráficas aceleradas por la GPU de hardware también? oclvanitygen? "Enfoque que sólo permite al huésped volcar todos y cada uno de los comandos a la GPU anfitriona".

31voto

Leo King Puntos 151

Pero ellos hacer te dicen explícitamente cuándo debes preferirlos:

- VBoxSVGA: El controlador gráfico por defecto para las nuevas VMs que utilizan Linux o Windows 7 o posterior. Este controlador gráfico mejora el rendimiento y la compatibilidad con 3D en comparación con la opción heredada VBoxVGA.

  • Linux o Windows >7
  • mejora el rendimiento y el soporte 3D

- VBoxVGA: Utilice este controlador gráfico para los sistemas operativos invitados heredados. Este es el controlador gráfico por defecto para las versiones de Windows anteriores a Windows 7. 

  • (por inferencia) un rendimiento ligeramente inferior, pero mayor compatibilidad con los sistemas operativos más antiguos
  • Sistema operativo antiguo o Windows < 7

- VMSVGA: Utilice este controlador gráfico para emular un dispositivo gráfico VMware SVGA. 

  • Emula un dispositivo VMWare
  • probablemente es mejor cuando su VM fue originalmente configurado en VMWare y tiene sus herramientas instaladas
  • puede no ser tan rápido como las tarjetas VBox porque está tratando de ser compatible con algo más.

- No: No emula un tipo de adaptador gráfico.

  • no quieres un adaptador gráfico
    Es decir, que quieres ejecutar la máquina sin cabeza o a través de SSH y no necesitas la sobrecarga de que emule los gráficos.
  • podría mejorar el rendimiento, ya que elimina una capa o emulación

16voto

Luc Puntos 427

El rendimiento es una diferencia. Las pruebas con glxgears me sale:

  • VBoxVGA: 60fps +/- 2 (muy bajo, pero mover una ventana no es suave así que parece plausible)
  • VMSVGA: 1570fps +/- 50 (después de reiniciar, obtengo 1300fps +/- 200?!)
  • VBoxSVGA: 970fps +/- 30 (en este modo, Cinnamon me avisa de que los gráficos del entorno de escritorio están funcionando con la CPU)

Las adiciones del huésped ya estaban actualizadas desde los repositorios de Debian antes de que apareciera la advertencia de desaprobación de VBoxVGA la primera vez, así que pude cambiarlas sin necesidad de actualizarlas primero. Comprueba tu versión usando dpkg -l | grep virtualbox .

Las incorporaciones de invitados son la versión 6.0.4 , tabla-utils (que contiene glxgears) 8.4.0-1+b1 El sistema operativo base es Debian 10 (Buster) con Cinnamon.

La VM tiene PAE/NX activado, aceleración 3D pero no 2D, 2 CPUs asignadas (el host tiene 2 núcleos con 2 hilos cada uno), PV por defecto, VT-x/AMD-V activado y paginación anidada.

0 votos

Mi anfitrión es centos7 , VM es centos7 con cinnamon ... pero lamentablemente mi cinnamon sigue informando de la representación del software y puedo sentir el retraso de la interfaz de usuario. VBoxSVGA en lugar de VMSVGA .

1 votos

Supongo que depende mucho del sistema del anfitrión y del invitado. Ejecuto VirtualBox 6.1.18 en un Probook Windows 10 i3 3rd Gen y en el huésped Debian Buster con LXDE, glxgears muestran ~600 fps con VBoxVGA sin aceleración 3D habilitada, VMSVGA sólo ~500 fps. Al habilitar la aceleración 3D, que no es realmente soportada por esa HD Graphics 4000, ambos se vuelven mucho más lentos, ~190 y ~170 fps, siendo VBoxVGA aún más rápido. Todo probado con el controlador de pantalla xserver-xorg-video-vmware, que extrañamente se utiliza para el adaptador VBoxVGA también. Así que si el rendimiento es importante para lo que uno hace en una pantalla VM, pruebe usted mismo.

4voto

neckTwi Puntos 166

Pude autoajustar la resolución del huésped con wayland compositor sólo con el uso de VBoxSVGA . virtualbox-guest-additions no pudo auto-resize guest display con wayland cuando se utiliza VMSVGA .

0 votos

No conseguí el auto redimensionamiento de invitados con VMSVGA y xUbuntu 18.04 también y VBoxSVGA funciona (pero sólo después de iniciar sesión en xfce)

0voto

HrdWorker Puntos 1

VBoxVGA recuerda y restaura los ajustes de tamaño de las ventanas de los huéspedes de Windows. VBoxSVGA NO recuerda los ajustes de tamaño.

Quiero que mis invitados de Windows se abran con un tamaño de pantalla de 1240x712. Si utilizo VBoxSVGA, los invitados siempre se abren a 1024x768 y luego tengo que cambiar su tamaño.

Si uso VBoxVGA, la pantalla se guarda/restaura, los hosts se abren a 1240x712 sin más ajustes.

De hecho, si la configuración "Ajustar el tamaño de la ventana" se utiliza para cambiar la pantalla, al apagar el invitado de Windows y hacer una instantánea se conservará la nueva configuración. El VBoxSVGA ignora los cambios de tamaño en ejecución.

0 votos

Esto suena un poco como un paquete de "adiciones de invitados" fuera de fecha...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: