Care sunt diferențele între VBoxVGA, VMSVGA și VBoxSVGA in VirtualBox?

VirtualBox 6.0 oferă o nouă setare numit Controler Grafic. Există patru opțiuni pentru a alege de la:

  • Nici unul
  • VBoxVGA
  • VMSVGA
  • VBoxSVGA

In manualul de utilizare nu am gasit aceasta informatie:

Controler Grafic: Specifică adaptor grafic de tip utilizate de către oaspeți NEG. Rețineți că trebuie să instalați Guest Additions pe oaspete VM pentru a specifica VBoxSVGA sau VMSVGA controler grafic. Următoarele opțiuni sunt disponibile:
– VBoxSVGA: implicit grafica controler pentru noi VMs care folosesc Linux sau Windows 7 sau mai târziu. Acest controler grafic îmbunătățește performanța și suport 3D în comparație cu moștenirea VBoxVGA opțiune.
– VBoxVGA: Utilizați acest controler grafic pentru legacy guest sisteme de operare. Acest lucru este implicit grafica controler pentru versiunile de Windows înainte de Windows 7.
– VMSVGA: Utilizați acest controler grafic pentru a emula un VMware SVGA dispozitiv grafic.
– Nici unul: nu imite un adaptor grafic de tip.

Dar încă nu descrie care dintre ele, și de ce prefer. Când ar trebui să aleg pe Nici unul? Este VMSVGA mai bine decât VBoxSVGA? Ce este în neregulă cu VBoxVGA?

Am testat pornirea de archlinux-2019.02.01-x86_64.iso cu virtualbox 6.0.4 în efi și moștenirea moduri:

┌──────────┬─────────────────────────────────┬─────────────┐
│ 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          │
└──────────┴─────────────────────────────────┴─────────────┘

De asemenea, am observat că cu VMSVGA și VBoxSVGA trece video=XRESxYRES parametru este ignorat:

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

Dar este încă posibil să se stabilească unele dintre care a ignorat rezoluțiile după boot cu fbset.

Comentarii la întrebare (1)
Soluția

Bazat pe ceea ce am'am găsit în codul sursă:

VBoxVGA

Acesta emulează un adaptor grafic specific pentru VirtualBox, la fel ca în versiunile anterioare (<6.0.0).

  • Acest lucru este implicit pentru imaginile create pentru versiunile anterioare de VirtualBox (<6.0.0) și pentru Windows oaspeții înainte de Windows 7.
  • Are o formă de 3D passthrough, dar – dacă îmi amintesc corect – foloseste un nesigură abordare care permite doar oaspeți groapa de orice și toate comenzile la gazdă GPU.
  • Folosind-o pe un Linux oaspete necesită instalarea guest additions, deoarece acest adaptor nu este (încă) susținută de magistrala kernel-ul Linux.
  • Acceptă numai OpenGL 1.1 pe 64 de biți Windows 10 si tot Linux oaspeții.

Această opțiune probabil există doar pentru a oferi continuitate – după upgrade la 6.0, toate vechi VMs au acest modul selectat automat, astfel încât nu's nici o neașteptată schimbare în comportament; nu't pierde orice accelerare previously avut.

VMSVGA

Acesta emulează VMware Workstation adaptor grafic cu "VMware SVGA 3D" accelerare metodă.

  • Contrar a ceea ce manualul spune, acest lucru este în prezent implicit pentru oaspeți Linux.
  • Ar trebui să ofere o performanță mai bună și de securitate decât metoda veche.
  • Acest lucru este susținut de magistrala Linux kernel folosind la SVGA driver.
  • Suportă OpenGL 2.1 pe toate Windows și Linux oaspeții.
  • S-ar putea, de asemenea, au avantajul de a sprijini vechi sisteme de operare care au VMware guest additions disponibile, dar nu VirtualBox guest additions. (Am de gând pentru a testa acest lucru cu Windows 9x, care este de altfel o durere masiv pentru a obține chiar VESA grafice de lucru cu VirtualBox)

VBoxSVGA

Acest lucru oferă un dispozitiv hibrid care funcționează ca VMSVGA (inclusiv noul său accelerare 3D capacități), dar rapoartele același vechi PCI VID:PID ca VBoxVGA.

  • Acest lucru este implicit pentru Windows oaspeții.
  • Avantajul acestui mod este că puteți să faceți upgrade existente VMs (care a folosit anterior VBoxVGA și a avut VirtualBox driver Video instalat) și ei nu't pierde grafica lor în procesul – ei încă se văd același dispozitiv, până când faceți upgrade "guest additions" la orice moment ulterior pentru a permite accelerarea 3D.
  • De asemenea, pentru că's încă VMware SVGA emulated de VirtualBox, alegând această opțiune și folosind VirtualBox driver poate încă mai au avantaje față de VMware unul, de exemplu, vă permite să facă uz de VirtualBox specifice caracteristici suplimentare.

"Nimic"

Acest lucru este, în mod evident, nu emulat grafică, la toate. Utilizați-l numai dacă vă oferi un real GPU prin PCI passthrough, sau dacă sistemul dvs. absolut nici't need un GPU.

Surse

Comentarii (10)

Dar nu spune destul de explicit atunci când ar trebui să le prefera:

– VBoxSVGA: implicit grafica controler pentru noi VMs care folosesc Linux sau Windows 7 sau mai târziu. Acest controler grafic îmbunătățește performanța și suport 3D în comparație cu moștenirea VBoxVGA opțiune.

  • Linux sau Windows >7
  • îmbunătățește performanța și suport 3D

– VBoxVGA: Utilizați acest controler grafic pentru legacy guest sisteme de operare. Acest lucru este implicit grafica controler pentru versiunile de Windows înainte de Windows 7. 

  • (prin deducție) performanță ușor mai scăzute, dar mai mult de compatibilitate cu sisteme de operare mai vechi
  • Vechiul sistem de OPERARE Windows < 7

– VMSVGA: Utilizați acest controler grafic pentru a emula un VMware SVGA dispozitiv grafic. 

  • Emulează un dispozitiv VMWare
  • probabil cel mai bine atunci când VM a fost stabilit inițial pe VMWare și a lor instrumente de instalat
  • nu poate fi la fel de repede ca VBox cărți pentru că's încercând pentru a fi compatibil cu altceva.

– Nici unul: nu imite un adaptor grafic de tip.

  • nu't vreau un adaptor grafic adică vrei să conduci mașina fără cap sau peste SSH și don't nevoie aeriene din ea emularea grafică.
  • ar putea îmbunătăți performanța ca se indeparteaza un strat sau emulare
Comentarii (0)

Am fost capabil de a auto setați rezoluția de oaspeți cu waylandzețar folosind doarVBoxSVGA.virtualbox-guest-completărin&#39;tauto-redimensiona oaspete de afișare " cu " waylandatunci când se utilizeazăVMSVGA`.

Comentarii (0)

Performanța este o diferență. Testarea cu glxgears`, am obține:

  • VBoxVGA: 60fps +/- 2 (foarte scăzut, dar mutarea unei ferestre în jurul valorii de nu este buna deci pare plauzibil)
  • VMSVGA: 1570fps +/- 50 (după un reboot, am 1300fps +/- 200?!)
  • VBoxSVGA: 970fps +/- 30 (în acest mod, Scortisoara mă avertizează că mediul desktop's grafică rulează pe CPU)

Guest additions au fost deja actualizate de la Debian centrale de tranzacții înainte de a dat nastere VBoxVGA dezaprobare avertizare prima dată, așa că am putea trece fără a fi nevoie pentru a actualiza în primul rând. Verifica versiunea folosind dpkg -l | grep virtualbox`.

Guest additions sunt versiunea 6.0.4, mesa-utils (conțin glxgears)8.4.0-1+b1`, de bază de OPERARE este Debian 10 (Buster) cu Scortisoara.

VM a PAE/NX activat, accelerare 3D dar nu accelerare 2D, 2 Procesoare atribuit (gazdă are 2 nuclee cu 2 fire fiecare), PV default, VT-x/AMD-V-ului, și imbricate de paginare.

Comentarii (0)