21

VirtualBox 6.0 предоставляет новую настройку под названием Graphics Controller. Есть четыре варианта на выбор:

  • Никто
  • VBoxVGA
  • VMSVGA
  • VBoxSVGA

В руководстве пользователя я нашел эту информацию:

Графический контроллер: указывает тип графического адаптера, используемого гостевой виртуальной машиной. Обратите внимание, что вы должны установить гостевые дополнения на гостевой виртуальной машине, чтобы указать графический контроллер VBoxSVGA или VMSVGA. Доступны следующие опции:
- VBoxSVGA: графический контроллер по умолчанию для новых виртуальных машин, использующих Linux или Windows 7 или более позднюю версию. Этот графический контроллер улучшает производительность и поддержку 3D по сравнению с устаревшей опцией VBoxVGA.
- VBoxVGA: используйте этот графический контроллер для устаревших гостевых ОС. Это графический контроллер по умолчанию для версий Windows до Windows 7.
- VMSVGA: используйте этот графический контроллер для эмуляции графического устройства VMware SVGA.
- Нет: не эмулирует тип графического адаптера.

Но все же это не описывает, какой из них и почему я должен предпочесть.
Когда я должен выбрать None?
VMSVGA лучше, чем VBoxSVGA?
Что не так с VBoxVGA?

Я протестировал загрузку archlinux-2019.02.01-x86_64.iso с virtualbox 6.0.4 в режимах efi и 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          │
└──────────┴─────────────────────────────────┴─────────────┘

Также я заметил, что при VMSVGA и VBoxSVGA передача видео = параметр XRESxYRES игнорируется:

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

Но все еще возможно установить некоторые из этих игнорируемых разрешений после загрузки с помощью fbset.

2 ответа2

25

Основываясь на том, что я нашел в исходном коде:

VBoxVGA

Это эмулирует графический адаптер, специфичный для VirtualBox, так же, как и в предыдущих версиях (<6.0.0).

  • Это значение по умолчанию для изображений, созданных для предыдущих версий VirtualBox (<6.0.0), и для гостей Windows до Windows 7.
  • Он имеет некоторую форму трехмерного сквозного прохождения, но - если я правильно помню - использует небезопасный подход, который просто позволяет гостю выгружать любые и все команды в графический процессор хоста.
  • Использование его на гостевой системе Linux требует установки гостевых дополнений, поскольку этот адаптер (пока) не поддерживается основным ядром Linux.
  • Поддерживает только OpenGL 1.1 на 64-битной Windows 10 и всех гостях Linux.

Эта опция, скорее всего, существует просто для обеспечения непрерывности - после обновления до 6.0 на всех старых виртуальных машинах этот режим выбирается автоматически, поэтому никаких неожиданных изменений в поведении не происходит; Вы не потеряете ускорение, которое у вас было раньше .

VMSVGA

Это эмулирует графический адаптер VMware Workstation с помощью метода ускорения "VMware SVGA 3D".

  • Вопреки тому, что написано в руководстве, это в настоящее время по умолчанию для гостей Linux.
  • Предполагается, что он обеспечивает лучшую производительность и безопасность, чем старый метод.
  • Это поддерживается основным ядром Linux, использующим драйвер SVGA.
  • Поддерживает OpenGL 2.1 на всех гостях Windows и Linux.
  • Это также может иметь преимущество поддержки старых операционных систем, в которых доступны гостевые дополнения VMware, но нет гостевых дополнений VirtualBox. (Я планирую протестировать это с Windows 9x, в противном случае это большая проблема, чтобы заставить даже графику VESA работать с VirtualBox)

VBoxSVGA

Это обеспечивает гибридное устройство, которое работает как VMSVGA (включая его новые возможности 3D-ускорения), но сообщает тот же старый PCI VID:PID, что и VBoxVGA.

  • Это по умолчанию для гостей Windows.
  • Преимущество этого режима заключается в том, что вы можете обновить существующие виртуальные машины (которые ранее использовали VBoxVGA и в которых был установлен видеодрайвер VirtualBox), и они не теряют свою графику в процессе - они по-прежнему видят одно и то же устройство, пока вы не обновите "guest" дополнения "в любое время, чтобы включить 3D-ускорение.
  • Кроме того, поскольку это все еще VMware SVGA, эмулируемый VirtualBox, выбор этой опции и использование драйвера VirtualBox могут иметь преимущества перед VMware, например, позволяют использовать дополнительные функции, специфичные для VirtualBox.

"Никто"

Это, очевидно, не эмулируемая графика вообще. Используйте его только в том случае, если вы предоставляете реальный графический процессор через PCI, или если вашей системе абсолютно не нужен графический процессор.

источники

8

Но они говорят вам совсем явно , когда вы должны отдавать предпочтение им:

- VBoxSVGA: графический контроллер по умолчанию для новых виртуальных машин, использующих Linux или Windows 7 или более позднюю версию. Этот графический контроллер улучшает производительность и поддержку 3D по сравнению с устаревшей опцией VBoxVGA.

  • Linux или Windows> 7
  • улучшает производительность и поддержку 3D

- VBoxVGA: используйте этот графический контроллер для устаревших гостевых ОС. Это графический контроллер по умолчанию для версий Windows до Windows 7. 

  • (вывод) немного более низкая производительность, но большая совместимость со старыми ОС
  • Старая ОС или Windows <7

- VMSVGA: используйте этот графический контроллер для эмуляции графического устройства VMware SVGA. 

  • Эмулирует устройство VMWare
  • вероятно, лучше всего, когда ваша виртуальная машина была изначально настроена на VMWare и на ней установлены инструменты
  • может быть не так быстро, как карты VBox, потому что он пытается быть совместимым с чем-то другим.

- Нет: не эмулирует тип графического адаптера.

  • вам не нужен графический адаптер
    то есть вы хотите запускать машину без заголовка или по SSH и не нуждаетесь в дополнительной эмуляции графики.
  • может улучшить производительность, так как удаляет слой или эмуляцию

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .