Quais são as diferenças entre VBoxVGA, VMSVGA e VBoxSVGA no VirtualBox?
O VirtualBox 6.0 fornece uma nova configuração chamada Controlador Gráfico. Há quatro opções para escolher:
- Nenhum
- VBoxVGA
- VMSVGA
- VBoxSVGA
No manual do usuário eu encontrei esta informação:
Controlador Gráfico: Especifica o tipo de adaptador gráfico usado pelo VM convidado. Note que você deve instalar o Guest Additions no guest VM para especificar a controladora de gráficos VBoxSVGA ou VMSVGA. As seguintes opções estão disponíveis:
- VBoxSVGA: A controladora de gráficos padrão para novas VMs que usam Linux ou Windows 7 ou posterior. Esta controladora gráfica melhora o desempenho e o suporte 3D quando comparada ao legado da opção VBoxVGA.
- VBoxVGA: Use esta controladora gráfica para os sistemas operacionais hóspedes antigos. Esta é a controladora gráfica padrão para versões do Windows antes do Windows 7.
- VMSVGA: Use esta controladora gráfica para emular um dispositivo gráfico VMware SVGA.
- Nenhuma: Não emula um tipo de adaptador gráfico.
Mas ainda assim não descreve qual deles e por que eu deveria preferir.
Quando devo escolher Nenhum?
O VMSVGA é melhor que o VBoxSVGA?
O que há de errado com a VBoxVGA?
Eu testei o boot do archlinux-2019.02.01-x86_64.iso com o virtualbox 6.0.4 nos modos efi e 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 │
└──────────┴─────────────────────────────────┴─────────────┘
Também notei que com VMSVGA e VBoxSVGA passando vídeo=XRESxYRES parâmetro é ignorado:
+----------+----------------+--------------+
| Adapter | EFI mode | Legacy mode |
+----------+----------------+--------------+
| VBoxVGA | works | works |
| VMSVGA | doesn't work | doesn't work |
| VBoxSVGA | could not test | doesn't work |
+----------+----------------+--------------+
Mas ainda é possível definir algumas dessas resoluções ignoradas após o arranque com o fbset.
Baseado no que I'encontrei no código fonte:
VBoxVGA
Isto emula um adaptador gráfico específico para o VirtualBox, o mesmo das versões anteriores (
Mas eles *dizem-lhe explicitamente quando você deve preferi-los:
Consegui definir automaticamente a resolução do convidado com o 'wayland' compositor apenas utilizando o 'VBoxSVGA'. O
virtualbox-guest-additions
não poderia'tauto-resize guest display
comwayland
ao utilizarVMSVGA
.