Proxmox PVE Virtual Environment - Bildschirmauflösung Gast VM anpassen
Aus znilwiki
Changelog:
- 30.05.2025 erste Version
Vorwort
Ich habe hier eine Windows 11 Test VM mit den folgenden Hardware-Einstellungen:
Die Display Einstellungen steht noch auf Default.
Unter VMware bin ich es gewohnt, das bei installierten VMware-Tool, sich die Auflösung automatisch an die Größe des Konsolenfensterns anpasst.
Oder das man alternativ sich die Auflösung innerhalb der VM fest einstellt.
Jedoch passt sich - in der Standardkonfiguration - weder die Auflösung an noch darf man die Auflösung selbst anpassen:
Der Grafikkartentreiber in der VM ist zunächst der Microsoft Basic Display Adapter:
Nachfolgend zeige ich verschiedene Lösungen mit entsprechenden Vor- und Nachteilen.
Voraussetzungen installieren
Alle nachfolgenden Lösungen setzen voraus, das Ihr die QEMU-Gast-Tools installiert und aktiviert habt.
In den VM-Einstellungen den QEMU Guest Agent aktivieren:
Und in der VM die virtio-win-x.x.xxx.iso mounten (Download hier: https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers#Installation ) und aus dem Hauptverzeichnis die virtio-win-guest-tools.exe ausführen:
Es muss die aus dem Hauptverzeichnis sein, die Installiert dann alles notwendige nach! Mögliche Auswahlen bestätigt Ihr einfach!
Lösung 1: SPICE Graphic card
Wir fahren die VM herunter und ändern in den Hardware-Einstellungen das Display von Default auf SPICE, als Grafikkartenspeicher würde ich mindestens 32MiB einstellen. Eine FullHD Auflösung mit 24Bit Farbtiefe liegt schon bei rund 6MiB, so ist da noch Reserve.
Nach dem Reboot und Anmelden an Windows sollte sich der Treiber der Grafikkarte zu Red Hat QXL controller geändert haben:
Jedoch - zumindest bei mir - ist die Maus nun im Console Fenster deplatziert, die Koordinaten stimmen nicht mehr.
Lösung ist die Konsole per Doppelklick auf den VM-Namen zu öffnen (oder per rechte Maustaste auf die VM und dann >_ Console auswählen.
Dann öffnet sich das Download-Fenster mit einer Datei pve-spice.vv.
Diese könnte Ihr unter Windows mit dem virt-viewer öffnen den Ihr hier Herunterladen könnt:
https://virt-manager.org/download
und dann im mittleren Bereich:
Ich habe die https://releases.pagure.org/virt-viewer/virt-viewer-x64-11.0-1.0.msi , also die 64 Bit Version genommen.
Nach der Installation könnt ihr die .vv Dateien mit diesem Viewer verknüpfen so das sich dieser automatisch öffnet.
Die Auflösung der VM passt sich nach ein paar Sekunden dann immer der Größe des Fensters an:
Vorteile:
- Auflösung passt sich an Fenstergröße an
- Zwischenablage funktioniert (nur Text und Bilder, keine Dateien)
- Windowstaste / Tastenkombinationen werden größtenteils durchgereicht
Nachteile:
- Separater Viewer notwendig, denn
- natives Konsolenfenster hat falsche Mauskoordinaten. Auch wenn man ein separates Fenster per noVNC öffnet, passt es nicht.
- zusätzlicher Port 3128 notwendig
- Funktioniert nicht hinter Reverse Proxy bzw. nicht nur mit Port 443 / 8006
Lösung 2: VirtIO-GPU - Feste Auflösung Methode 1
VM herunterfahren und in den Hardwareeinstellungen bei Display VirtIO-GPU einstellen.
Nach dem Start der VM und der Anmeldung sollte der Grafikkartentreiber zu {{code|Red Hat VirtIO GPU DOD controller}0 geändert haben:
In den Anzeigeeinstellungen könnt Ihr nun quasi jede beliebige, vordefinierte Auflösung einstellen:
Falls ihr das separate Konsolenfenster öffnet, kann es passieren das er auch wieder den Download der pve-spice.vv anbietet,
Diese funktioniert jedoch nicht mit dem Viewer.
Statt dessen müsst Ihr oben rechts von Hand den noVNC Viewer auswählen:
Vorteile:
- Funktioniert hinter Proxy
- Kein extra Client notwendig
- Fenstergröße + Auflösung beim öffnen im separaten Fenster passt
- Auflösung kann dynamisch auf einen der vordefinierten Werte gewechselt werden.
Nachteile:
- noVNC muss von Hand ausgewählt werden (nur separates Fenster)
- Im nativen Konsolenfenster wird es einfach verkleinert oder vergrößert per Zoom
- Keine Windows Tasten werden durchgereicht (Reagiert zwar mit, aber nicht wie gewünscht)
- Keine geteilte Zwischenablage
Lösung 3: Feste Auflösung Methode 2
VM herunterfahren und in den Hardwareeinstellungen bei Display Standard VGA mit 32Mib Memory setzen:
Wenn Ihr die VM jetzt hochfahrt, wird die Auflösung 1280x800 sein und Ihr diese nicht ändern:
Der Grafikkartentreiber ist der Microsoft Basic Display Adapter:
Jetzt startet Ihr die VM noch einmal neu und wenn das Proxmox-Logo erscheint und unten Start boot options steht, drückt Ihr einmal auf ESC:
Hier wählt Ihr den Device Manager,
die Option OVMF Platform Configuration,
Und dort aus der Liste die gewünschte Auflösung, ich habe mich hier für 1440x900 entschieden:
Danach auf Commit Changes and Exit und danach noch einmal auf ESC und dann ganz unten auf Reset.
Nach dem Booten ist die VM immer noch auf der Auflösung 1280x800, aber nun können wir diese ändern:
Das Feld ist zwar danach wieder ausgegraut, aber wir haben die neue Auflösung:
Vorteile:
- Funktioniert hinter Proxy
- Kein extra Client notwendig
- Fenstergröße + Auflösung beim öffnen im separaten Fenster passt
Nachteile:
- Im nativen Konsolenfenster wird es einfach verkleinert oder vergrößert per Zoom
- Keine Windows Tasten werden durchgereicht (Reagiert zwar mit, aber nicht wie gewünscht)
- Keine geteilte Zwischenablage
- Nur die im BIOS der VM fest eigestellte Auflösung möglich, kein Wechseln während der Sitzung