QEMU / KVMで視覚化された画面解像度を上げる方法は?


21

KVM / QEMUを使用した2つの仮想ゲストOSを備えた64ビットUbuntu 9.10ワークステーションがあります。両方とも64ビット。1つはFedora 12、もう1つはUbuntu 10.04のベータ版です。

問題は、デフォルトで設定されているより大きなサイズのディスプレイを使用したいということです。両方のゲストOSの最大画面解像度は1024x768です。これを1280x900や1440x900などに増やしたいと思います。ホストシステムの解像度は1920x1080です。

この構成は、インストール中に仮想スクリーンによって報告される解像度をインストールが検出した結果のようです。

この件に関して私が見つけた唯一の情報は、/ etc / X11ディレクトリにあるxorg.confファイルの修正を示唆しています。どちらのゲストシステムにもこのファイルはありません。

Fedoraシステムで1つ1つ手動で作成してみましたが、完全に使用できなくすることができました。これは最近インストールされ、簡単に再インストールできるため、大した問題ではありません。

私がやりたいことは可能ですか?もしそうなら、どうすればそれを達成できますか?


1
+1これも私が本当に知りたいことです。HostOSのネイティブ解像度は1920x1080で、GuestOS(Windows 7)も1024x768でスタックしています。(これまでオンラインで読んだことから)qemuがハードウェア仮想化を処理することは確かですが、物理グラフィックスカードで動作するように設定する方法がわかりません。
エヴァンプライス

1
わかった、答えを見てください。
エヴァンプライス

RedHatのlibvirtメーリングリストのVNCディスプレイサイズも参照してください。
-jww

1
@CiroSantilli新疆改造中心六四事件法轮功間違ったリンクだと思います。
レイ

回答:


4

コマンドラインに「-vga std」フラグを追加します

基本的に、仮想マシンは独自の仮想ドライバーをロードします。仮想ディスクイメージは、さまざまなアーキテクチャを持つ多くの異なるシステムにコピーされることが多いため、ハードウェアの仮想化が必要です。ハードウェアを抽象化することにより、vmイメージはこれを実行できます。

'-vga std'フラグを使用すると、物理カードが処理できる以上の解像度をサポートできる標準VGAデバイスをGuestOSにロードさせることができます。

詳細については、この記事をご覧ください。

注:古いバージョンのkvm / qemuを使用している場合は、代わりに '-std-vga'フラグを使用する必要があります。

1600x1200を超える解像度に到達できない場合、このオプションにはまだ問題があることに注意してください。


1
私は-vga std、Windowsゲストから高い結果にアクセスできますが、ubuntuゲストは1024x768でスタックしています。これらのリンクされた投稿はかなり古いものです(それぞれ2008年と2010年)。
マットコノリー

1
「 '-vga std'フラグをコマンドラインに追加する」と言ったら、どこで追加しましたか?でゲストを起動しvirsh start <machine> -vga stdますか?それとも別のことをしましたか?
jww

@jww最初の起動時に、grubコンソールから一時的に設定できます。カーネルフラグとして追加します。システムがブートされた後、grub.confgrubコンソールを介して追加されたのと同じ方法で永続的に追加できます。sudo update-grubgrubの設定を編集した後、設定をロックインすることを忘れないでください。
エヴァンプライス

1
@MattConnolly -vga virtioにより、最大4096 x 2160まで移動できました:superuser.com/a/1331924/128124
Ciro Santilli新疆改造中心法轮功六四事件

この回答では、「この記事」でリンクが腐っています。アーカイブを試してください:web.archive.org/web/20160126004059/http
レイウッドコック

15

vmvgaビデオカードを使用する

使用しますvirt-manager(私はkvmとlibvirtの完全な初心者です)。

仮想マシンの設定ウィンドウでビデオカードをからvgaに変更することで、Windows 7ゲストでより高い解像度を得ることができましたvmvga


私も...しかし、それは変わらない(常に1024x768)!

ここで私の記憶に戻りますが、vmvgaカードを使用して起動すると、ゲストOS内の画面解像度を変更できたと思います。
diffalot

vmvgadoesntのは、もはや存在しているように見えるが、vgaだけでなく、仕事の罰金に思えるqxl
Avindra Goolcharan

6

-vga virtio

このオプションを使用すると、4096 x 2160まで処理できます。

もちろん、私のディスプレイは1080pまでしか表示されないため、これは役に立たないので、1080pに設定します。

次にCtrl + Alt + F、またはを渡して、フルスクリーンを切り替えることができます-full-screen

どのように推測したか:virtio一般的には、通常のハードウェア制限なしで一般的な便利なVMマシンをシミュレートします。

この正確なセットアップでテスト済み:https : //askubuntu.com/questions/884534/how-to-run-ubuntu-16-04-desktop-on-qemu/1046792#1046792


5

2014年の時点で、Cirrus vGPUが提供する1024x768の解像度よりも良くしたい場合、x86_64 hostOSプラットフォームでハイパーバイザーとしてKVMを実行している場合、guestOSでQXL vGPUドライバーを使用することを検討する必要があります。 spice-serverディスプレイ。これは、virt-manager GUI設定から(またはもちろん、CLI引数から)設定できます。

私の場合、virt-installを使用してVMを作成し、通常のvncスタイルのコントロールと通常のcirrus-vGPUを使用してvHDDにOSを配置しました。すべてが機能し、すべてのguestOS(およびhostOS)ソフトウェアの更新が適用されたら、virt-managerを使用してvnc-displayからspice-graphics、cirrus-videoからQXL-videoに変更しました。また、ゲスト内で実行されるspice-vdagent [d]のVMに「チャネル」を追加するのに役立ちます。これにより、guestOSアプリとhostOSアプリ間でデータを適切にカットアンドペーストできます。

高解像度を提供することに加えて、guestOSでビデオを見るとき、QXL / spiceの設定はCirrus / VNCの設定よりも大幅に改善されました-1024x768 Cirrus / VNCでフルスクリーンのビデオを視聴しようとすると、実際にCPUからサーマルトリップ警告を受け取りました、しかしラップトップはクールに動作し、より効率的なQXL /スパイスオプションを使用してフルスクリーン1920x1080ビデオを実行するとファンは静かでした。QXL / spiceでサポートされるインストールの種類には制限がありますが、システムで使用できる場合は、2Dおよびビデオ再生を改善するためにお勧めします。 http://www.linux-kvm.org/page/SPICE、「virt-managerを使用したSPICEの有効化」までスクロールします。ページが主張するように、チャネルを追加するように求められませんでしたが、手動で追加することは難しくありませんでした。windows-guestOSを使用している場合、またはlinux-kvm.orgサイトでの簡単な指示に問題がある場合は、こちらを参照してください-http ://www.spice-space.org/page/Documentation (ただし、両方のwikiメインサイトはすっかり古くなっており、2009年から2012年までの多くのページがあるため、注意してください。プロジェクトは積極的に開発されていますが、あまり積極的に文書化されていません。

QXL / spiceは現時点では特に簡単ではなく、ご希望のソフトウェア/ハードウェア環境では機能しない場合があります。それでも、わずかなエルボグリースで動作させることできますが、特にバッテリー寿命やファンノイズが懸念される場合には、大きな利点があります。本当に高性能なグラフィックスは得られません-VFIOとVT-d / IOMMUパススルーを調べて、必要な特殊なCPU + GPUハードウェアがあり、それを試して動作させるのに十分な時間があればその可能性を調べてください。ただし、QXL / spiceは、適切な2Dおよびビデオ再生速度を提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.