display – VirtualBox の VBoxVGA、VMSVGA、VBoxSVGA の違いは何ですか?

adapter display vga virtualbox

VirtualBox 6.0では、Graphics Controllerという新しい設定が用意されています。選択肢は4つあります

  • None
  • VBoxVGA
  • VMSVGA
  • VBoxSVGA

ユーザーマニュアルの中にこんな情報がありました

グラフィックス コントローラ。ゲスト VM で使用するグラフィックス アダプタの種類を指定します。VBoxSVGA または VMSVGA グラフィックス コントローラを指定するには、ゲスト VM にゲスト追加をインストールする必要があることに注意してください。VBoxSVGA:Linux または Windows 7 以降を使用する新しい VM のデフォルトのグラフィック コントローラです。VBoxSVGA:Linux または Windows 7 以降を使用する新しい VM 用のデフ ォル ト のグ ラ フ ィ ッ ク ス コ ン ト ロ ー ラ ーで す。- VBoxVGA: レガシー ゲスト OS 用にこのグラフィック コントローラを使用します。これは、Windows 7 以前の Windows バージョンのデフォルトのグラフィック コントローラです。 – VMSVGA:このグラフィックスコントローラを使用して、VMware SVGA グラフィックスデバイスをエミュレートします。 – None:なし。グラフィックスアダプタのタイプをエミュレートしません

しかし、それでもどれを選んだらいいのか、なぜ選ぶべきなのかが書かれていません。 どのような場合に「なし」を選択すればよいのでしょうか? VMSVGAはVBoxSVGAよりも優れていますか? VBoxVGAの何が悪いのですか?

efi モードとレガシーモードで、archlinux-2019.02.01-x86_64.iso を virtualbox 6.0.4 で起動してみました

┌──────────┬─────────────────────────────────┬─────────────┐
│ 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では、video=XRESxYRESパラメータを渡すと無視されることに気付きました

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

しかし、ブート後に fbset で無視された解像度を設定することは可能です

  192  Ashark  2019-02-07


ベストアンサー

ソースコードにあったものを元にしています

VBoxVGA

これは以前のバージョン(<6.0.0)と同様にVirtualBox専用のグラフィックアダプタをエミュレートします

  • これは、以前のバージョンの VirtualBox (<6.0.0) および Windows 7 以前の Windows ゲスト用に作成されたイメージのデフォルトです
  • これは、3Dパススルーのいくつかの形態を持っていますが、私の記憶が正しければ、ゲストがホストGPUにすべてのコマンドをダンプさせるだけの安全ではないアプローチを使用しています
  • このアダプタは (まだ) メインラインの Linux カーネルではサポートされていないため、Linux ゲストで使用するには、ゲストの追加機能をインストールする必要があります
  • 64bitのWindows 10とすべてのLinuxゲストでOpenGL 1.1のみをサポートしています

6.0へのアップグレード後、すべての古いVMでこのモードが自動的に選択されているため、予期せぬ動作の変化がなく、以前のアクセラレーションが失われることはありません

VMSVGA

これは、「VMware SVGA 3D」アクセラレーション方式でVMware Workstationグラフィックスアダプタをエミュレートします

  • マニュアルに書いてあることに反して、これは現在のところ Linux ゲストのデフォルトです
  • 旧来の方法よりも優れた性能とセキュリティを提供することになっています
  • これは、SVGA ドライバを使用するメインラインの Linux カーネルでサポートされています
  • すべてのWindowsとLinuxのゲストでOpenGL 2.1をサポートしています
  • また、VMware のゲスト追加機能は利用できるが VirtualBox のゲスト追加機能は利用できない古い OS をサポートする利点もあるかもしれません。(私はこれをWindows 9xでテストするつもりですが、そうしないとVirtualBoxでVESAグラフィックスを動作させるのが大変なことになります)

VBoxSVGA

これは、VMSVGAと同様に動作するハイブリッドデバイス(新しい3Dアクセラレーション機能を含む)を提供しますが、VBoxVGAと同じ古いPCI VID:PIDを報告します

  • これはWindowsゲストのデフォルトです
  • このモードの利点は、既存の VM(以前は VBoxVGA を使用していて VirtualBox Video ドライバがインストールされていた)をアップグレードしても、その過程でグラフィックが失われることがなく、後から「ゲスト追加」をアップグレードして 3D アクセラレーションを有効にするまで、同じデバイスを表示したままになります
  • また、VirtualBoxでエミュレートされたVMware SVGAであるため、このオプションを選択してVirtualBoxドライバを使用することで、VMwareのものよりも利点があるかもしれません

“None”

これは明らかにエミュレートされたグラフィックではありません。PCIパススルー経由で本物のGPUを提供する場合や、システムが絶対にGPUを必要としない場合にのみ使用してください

Sources

153  community wiki  2019-02-15


しかし、彼らはあなたがそれらを好むべきであるかどうかをかなり明確に教えてくれます

– VBoxSVGA: Linux または Windows 7 以降を使用する新しい VM 用のデフォルトのグラフィック コントローラ。このグラフィックス コントローラは、従来の VBoxVGA オプションと比較してパフォーマンスと 3D サポートが向上します

  • Linux または Windows >7
  • パフォーマンスと3D対応を向上させます

– VBoxVGA: レガシーゲストOS用にこのグラフィックコントローラを使用します。これは、Windows 7 より前の Windows バージョンのデフォルトのグラフィック コントローラです

  • (推論ですが)若干性能が落ちますが、古いOSとの互換性があります
  • 古いOSまたはWindows<7

– VMSVGA: このグラフィックスコントローラを使用して、VMware SVGA グラフィックスデバイスをエミュレートします

  • VMWare デバイスをエミュレートします
  • おそらく、あなたの VM が元々 VMWare でセットアップされていて、そのツールがインストールされている場合がベストでしょう
  • は何かと互換性を持たせようとしているので、VBoxカードのように高速ではないかもしれません

– なし。グラフィックスアダプタのタイプをエミュレートしません

  • グラフィックスアダプタはいらない、つまり、ヘッドレスまたはSSHでマシンを動かしたい、グラフィックスをエミュレートするためのオーバーヘッドを必要としない、ということです
  • レイヤーやエミュレーションを削除してパフォーマンスを向上させることができます

28  Mokubai  2019-02-07


性能は1つの違いです。glxgearsでテストすると、得する

  • VBoxVGA:60fps±2(非常に低いが、窓の移動がスムーズではないのでもっともらしい)
  • VMSVGA:1570fps±50(再起動したら1300fps±200になった!?
  • VBoxSVGA: 970fps +/- 30(このモードでは、デスクトップ環境のグラフィックスがCPUで動作しているとシナモンが警告しています)

最初に VBoxVGA 非推奨の警告が出る前に、ゲストの追加はすでに Debian リポジトリから更新されていたので、最初に更新しなくても切り替えられました。dpkg -l | grep virtualboxでバージョンを確認してください

ゲストの追加はバージョン6.0.4、mesa-utils (glxgearsを含む) 8.4.0-1+b1、ベースOSはDebian 10 (Buster) with Cinnamonです

VMはPAE/NXが有効、3Dアクセラレーションはあるが2Dアクセラレーションはない、CPUが2つ割り当てられている(ホストは各2スレッドで2コア)、PVはデフォルト、VT-x/AMD-Vが有効、ページングは入れ子になっている

12  Luc  2019-12-02


waylandのコンポジターでVBoxSVGAだけでゲストの解像度を自動設定できました。virtualbox-guest-additionsではVMSVGAではwaylandauto-resize guest displayができなかった

3  Necktwi  2019-09-12


VBoxVGAはWindowsゲストウィンドウのサイズ調整を記憶し、復元します。VBoxSVGAはサイズ調整を記憶しません

Windowsのゲストを1240×712のディスプレイサイズで開くようにしたいのですが、VBoxSVGAを使用した場合、ゲストは常に1024×768で開きます。VBoxSVGAを使用した場合、ゲストは常に1024×768で開き、サイズを変更する必要があります

VBoxVGAを使っていると、表示が保存/復元されると、それ以上の調整をしなくても1240×712でホストが開くようになりました

実際には、「ウィンドウサイズの調整」設定で表示を変更した場合、Windowsゲストをシャットダウンしてスナップショットすると、新しい設定が保持されます。VBoxSVGAはランニングサイズの変更を無視します

0  HrdWorker  2020-03-13


私はFedora 31で同じような問題を抱えていました。Settings > Devices > Display > Resolution “に行って、手動で解像度を選択する必要があるかもしれません。ゲスト追加を正しくインストールすると、ホストの解像度はゲストがサポートしている解像度のリストに表示されます

Ubuntuでは、そうなります

  1. アクティビティの概要を開き、「ディスプレイ」と入力します

  2. パネルを開くには、[表示]をクリックします

  3. 複数のディスプレイがあり、それらがミラーリングされていない場合は、それぞれのディスプレイで異なる設定を行うことができます。プレビューエリアでディスプレイを選択します

  4. 解像度またはスケールを選択し、向きを選択します

  5. 適用をクリックします。新しい設定が20秒間適用されてから元に戻ります。これにより、新しい設定で何も表示されない場合は、古い設定が自動的に復元されます。新しい設定に問題がなければ、[変更を維持] をクリックします

0  user10398534  2020-04-20


タイトルとURLをコピーしました