¿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. Ten en cuenta que debes 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 VBoxVGA heredada.
- VBoxVGA: Utiliza este controlador gráfico para los SO 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.
- Ninguno: No emula un tipo de adaptador gráfico.

Pero todavía no describe cuál de ellos y por qué debería 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 pasando el parámetro video=XRESxYRES se ignora:

+----------+----------------+--------------+
| 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 del arranque con fbset.

Solución

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

VBoxVGA

Esto emula un adaptador gráfico específico de VirtualBox, el mismo que en versiones anteriores (

Comentarios (10)

Pero sí que te dicen explícitamente cuándo debes preferirlos:

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

  • Linux o Windows 7
  • mejora el rendimiento y la compatibilidad con 3D

VBoxVGA: Utilice este controlador de gráficos 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 más compatibilidad con los SO 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 configurada en VMWare y tiene sus herramientas instaladas
  • puede no ser tan rápido como las tarjetas VBox porque intenta ser compatible con algo más.

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

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

He podido autoajustar la resolución del huésped con el compositor wayland sólo usando VBoxSVGA. Virtualbox-guest-additions" no pudo "redimensionar automáticamente la pantalla del huésped" con "Wayland" cuando se utiliza "VMSVGA".

Comentarios (0)