В чем разница между VBoxVGA, VMSVGA и VBoxSVGA в VirtualBox?

VirtualBox 6.0 предоставляет новый параметр, называемый графическим контроллером. На выбор есть четыре варианта:

  • Нет
  • VBoxVGA
  • VMSVGA
  • VBoxSVGA

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

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

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

Я тестировал загрузку archlinux-2019.02.01-x86_64.iso с virtualbox 6.0.4 в режимах efi и legacy:

  ┌────────────────────────  ────────────────────┬───────────── Адаптер mode Режим EFI │ Устаревший режим │├─────  ─────┼─────────────────────────────────────────────  ───┤│ VBoxVGA │ ок │ ок ││ VMSVGA │ ок в меню загрузки systemd, │ ок ││ │ затем черный экран на некоторое время │ ││ │ при загрузке, затем становится нормально ok ││ VBoxSVGA │ черный экран │  хорошо │└──────────┴────────────────────────────────────┴──  ───────────┘  

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

  + ---------- + ---------------- + -------------- +  |  Адаптер |  Режим EFI |  Устаревший режим | + ---------- + ---------------- + -------------- + |  VBoxVGA |  работы |  работы ||  VMSVGA |  не работает |  не работает ||  VBoxSVGA |  не смог проверить |  не работает | + ---------- + ---------------- + -------------- +  

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


На основе того, что я нашел в исходном коде:

Имитирует графический адаптер, специфичный для VirtualBox, как и в предыдущих версиях (

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

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

Это имитирует графический адаптер VMware Workstation с методом ускорения “VMware SVGA 3D”.

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

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

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

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

Источники

  • Руководство по VirtualBox, глава 3.6. Настройки отображения
  • Исходный код VGA VirtualBox

30

Но они делают совершенно ясно, когда вам следует предпочесть их:

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

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

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

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

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

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

– Нет: не эмулирует графику тип адаптера.

  • вам не нужен графический адаптер
    т.е. вы хотите запустить машину без головы или через SSH, и вам не нужны накладные расходы на эмуляцию графики.
  • может повысить производительность, поскольку он удаляет слой или эмуляцию
Поделиться
Улучшить этот ответ
ответил 7 февраля ’19 в 13:43
добавить комментарий |

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

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

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

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

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

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

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

– Нет: не эмулирует графику тип адаптера.

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

15

Производительность – одно отличие. Тестируя glxgears , я получаю:

  • VBoxVGA: 60 кадров в секунду +/- 2 (очень мало, но перемещение окна не плавное, поэтому кажется правдоподобным)
  • VMSVGA: 1570fps +/- 50 (после перезагрузки я получаю 1300fps +/- 200 ?!)
  • VBoxSVGA: 970fps +/- 30 (в этом режиме Cinnamon предупреждает меня, что графика среды рабочего стола работает на ЦП)

Гостевые дополнения уже были обновлены из репозиториев Debian до того, как появилось сообщение об устаревании VBoxVGA, предупреждающее, что в первый раз, поэтому я мог просто переключить его, не обновляя сначала. Проверьте свою версию с помощью dpkg -l | grep virtualbox .

Гостевые дополнения – это версия 6.0.4 , mesa-utils (содержащие glxgears) 8.4.0-1 + b1 , базовая ОС – Debian 10 (Buster) с Cinnamon.

В виртуальной машине включен PAE/NX, 3D-ускорение, но нет 2D-ускорения, назначено 2 процессора (хост имеет 2 ядра с 2 потоками каждый), PV по умолчанию, VT-x/AMD-V включен и вложенное разбиение по страницам.

Поделиться
Улучшить этот ответ
ответил 02 декабря ’19 в 10:06
  • мой хост – centos7 , виртуальная машина – centos7 с cinnamon … но, к сожалению, мой cinnamon по-прежнему сообщает о программном рендеринге, и я чувствую задержку пользовательского интерфейса. возможно, я попробую использовать VBoxSVGA вместо VMSVGA . – Тревор Бойд Смит 16 дек. ’20 в 18:30
добавить комментарий |

Производительность – одно из отличий. Тестируя с помощью glxgears , я получаю:

  • VBoxVGA: 60 кадров в секунду +/- 2 (очень мало, но перемещение окна не плавное, поэтому кажется правдоподобным)
  • VMSVGA: 1570fps +/- 50 (после перезагрузки я получаю 1300fps +/- 200 ?!)
  • VBoxSVGA: 970fps +/- 30 (в этом режиме Cinnamon предупреждает меня, что графика среды рабочего стола работает на ЦП)

Гостевые дополнения уже были обновлены из репозиториев Debian до того, как появилось сообщение об устаревании VBoxVGA, предупреждающее в первый раз, поэтому я мог просто переключить его, не обновляя сначала. Проверьте свою версию с помощью dpkg -l | grep virtualbox .

Гостевые дополнения – это версия 6.0.4 , mesa-utils (содержащие glxgears) 8.4.0-1 + b1 , базовая ОС – Debian 10 (Buster) с Cinnamon.

В виртуальной машине включен PAE/NX, 3D-ускорение, но нет 2D-ускорения, назначено 2 процессора (хост имеет 2 ядра с 2 потоками каждый), PV по умолчанию, VT-x/AMD-V включен и вложенная подкачка.


3

Мне удалось автоматически установить разрешение гостя с помощью композитора wayland только с использованием VBoxSVGA . virtualbox-guest-adds не может автоматически изменять размер гостевого экрана с wayland при использовании VMSVGA .

Поделиться
Улучшите этот ответ
ответил 12 сен ’19 в 8:06
  • У меня не было автоматического изменения размера гостя с VMSVGA и xUbuntu 18.04, а VBoxSVGA работает (но только после входа в xfce) – Константин Пелепелин 18 января ’20 в 11:10
добавить комментарий |

Мне удалось автоматически установить разрешение гостя с помощью композитора wayland , только используя VBoxSVGA . virtualbox-guest-adds не может автоматически изменять размер гостевого экрана с wayland при использовании VMSVGA .


0

VBoxVGA запоминает и восстанавливает настройки размера гостевого окна Windows. VBoxSVGA НЕ запоминает настройки размера.

Я хочу, чтобы мои гости Windows открывались с размером экрана 1240×712. Если я использую VBoxSVGA, гости всегда открываются с разрешением 1024×768 и то мне нужно изменить их размер.

Если я использую VBoxVGA, отображение сохраняется/восстанавливается, хосты открываются с разрешением 1240×712 без дополнительной настройки.

Фактически, если Параметр «Настроить размер окна» используется для изменения отображения, завершения работы гостевой системы Windows и создания снимков с сохранением новой настройки. VBoxSVGA игнорирует текущие изменения размера.

Поделиться
Улучшите этот ответ
ответил 13 марта ’20 в 19:27
  • Это немного похоже на устаревший пакет “Guest Additions” … – user1686, 13 марта 2020 г., 19:53
добавить комментарий |

VBoxVGA запоминает и восстанавливает настройки размера гостевого окна Windows. VBoxSVGA НЕ запоминает настройки размера.

Я хочу мои гости Windows открываются с размером экрана 1240×712. Если я использую VBoxSVGA, гости всегда открываются с разрешением 1024×768, а затем мне нужно изменить их размер.

Если я использую VBoxVGA, отображение сохраняется/восстанавливается, хосты открываются с разрешением 1240×712 без дополнительной настройки.

Фактически, если параметр «Настроить размер окна» используется для изменения отображения, завершения работы гостевой системы Windows и создания снимков с сохранением новой настройки. VBoxSVGA игнорирует изменения размера бега.


0

У меня была аналогичная проблема с Fedora 31. Возможно, вам придется перейти в «Настройки> Устройства> Дисплей> Разрешение» и выбрать разрешение вручную. После правильной установки гостевых дополнений разрешение вашего хоста будет в списке поддерживаемых разрешений. для гостя.

В Ubuntu это будет

  1. Откройте Обзор действий и начните вводить Дисплеи.

  2. Щелкните Дисплеи, чтобы открыть панель.

  3. Если у вас несколько дисплеев и они не зеркалируются, вы можете иметь разные настройки для каждого дисплея. Выберите отображение в области предварительного просмотра.

  4. Выберите разрешение или масштаб и выберите ориентацию.

  5. Нажмите “Применить”. Новые настройки будут применены в течение 20 секунд перед возвратом. Таким образом, если вы ничего не видите с новыми настройками, ваши старые настройки будут автоматически восстановлены. Если вас устраивают новые настройки, нажмите «Сохранить изменения».

Поделиться
Улучшить этот ответ
ответил 20 апр. ’20 в 17:51
добавить комментарий |

У меня была аналогичная проблема в Fedora 31. Возможно, вам придется перейти в «Настройки> Устройства> Дисплей> Разрешение» и выбрать разрешение. Как только вы правильно установили гостевые дополнения, разрешение вашего хоста будет в списке поддерживаемых разрешений для гостя.

В Ubuntu это будет

  1. Откройте Обзор действий и начните вводить “Дисплеи”.

  2. Щелкните “Дисплеи”, чтобы открыть панель.

  3. Если у вас несколько дисплеев, и они не являются зеркальными, у вас могут быть разные настройки для каждого дисплея. Выберите отображение в области предварительного просмотра.

  4. Выберите разрешение или масштаб и выберите ориентацию.

  5. Нажмите “Применить”. Новые настройки будут применены в течение 20 секунд перед возвратом. Таким образом, если вы ничего не видите с новыми настройками, ваши старые настройки будут автоматически восстановлены. Если вас устраивают новые настройки, нажмите «Сохранить изменения».

Оцените статью
futurei.ru
Добавить комментарий