OVMF Screen Resolution Bug

Stewge

Renowned Member
Feb 11, 2010
40
3
73
I'm still running into issues with OVMF resolution setting.

This issue is referenced in an earlier thread:
https://forum.proxmox.com/threads/cant-change-screen-resolution-in-windows-10-vm.27584/

It still seems to persist in 5.4 and with the same caveats.

I have an EFI disk attached and the Resolution information is indeed saved. However, the first cold boot of the VM will always be in 800x600. The fix is to soft-reboot the VM which will then trigger it to use the correct resolution.

This is significantly annoying when host reboots are required as it means I cannot simply leave it to reboot and start VMs, but must login to each VM and reboot them manually just to get resolution parameter back.

For reference, here's my pveversion:
Code:
root@node:~# pveversion -v
proxmox-ve: 5.4-1 (running kernel: 4.15.18-16-pve)
pve-manager: 5.4-6 (running version: 5.4-6/aa7856c5)
pve-kernel-4.15: 5.4-4
pve-kernel-4.15.18-16-pve: 4.15.18-41
pve-kernel-4.15.18-13-pve: 4.15.18-37
pve-kernel-4.15.18-9-pve: 4.15.18-30
pve-kernel-4.15.18-8-pve: 4.15.18-28
pve-kernel-4.15.17-1-pve: 4.15.17-9
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-10
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-52
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-13
libpve-storage-perl: 5.0-43
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-3
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
proxmox-widget-toolkit: 1.0-28
pve-cluster: 5.0-37
pve-container: 2.0-39
pve-docs: 5.4-2
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-22
pve-firmware: 2.0-6
pve-ha-manager: 2.0-9
pve-i18n: 1.1-4
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 3.0.1-2
pve-xtermjs: 3.12.0-1
qemu-server: 5.0-52
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.13-pve1~bpo2
VM Config:
Code:
agent: 1
balloon: 0
bios: ovmf
bootdisk: scsi0
cores: 4
efidisk0: lvm-purestorage:vm-4310-disk-1,size=128K
machine: q35
memory: 4096
name: RD-test
net0: virtio=66:20:3B:CA:E9:51,bridge=vmbr0,tag=1411
numa: 1
ostype: win10
sata3: none,media=cdrom
sata4: none,media=cdrom
scsi0: lvm-purestorage:vm-4310-disk-0,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=812281cd-7630-4b84-8da5-7aa48289e73c
sockets: 1
vmgenid: f12334dc-79c6-4d30-bafb-fab0b46befef
 
I've got this exact same bug too with Windows 10 Pro 1903 guest.

proxmox-ve: 5.4-2 (running kernel: 4.15.18-17-pve)
pve-manager: 5.4-10 (running version: 5.4-10/9603c337)
pve-kernel-4.15: 5.4-5
pve-kernel-4.13: 5.2-2
pve-kernel-4.15.18-17-pve: 4.15.18-43
pve-kernel-4.15.18-16-pve: 4.15.18-41
pve-kernel-4.15.18-15-pve: 4.15.18-40
pve-kernel-4.15.18-14-pve: 4.15.18-39
pve-kernel-4.15.18-13-pve: 4.15.18-37
pve-kernel-4.15.18-12-pve: 4.15.18-36
pve-kernel-4.15.18-11-pve: 4.15.18-34
pve-kernel-4.15.18-10-pve: 4.15.18-32
pve-kernel-4.15.18-8-pve: 4.15.18-28
pve-kernel-4.15.18-7-pve: 4.15.18-27
pve-kernel-4.15.18-5-pve: 4.15.18-24
pve-kernel-4.15.18-4-pve: 4.15.18-23
pve-kernel-4.15.18-3-pve: 4.15.18-22
pve-kernel-4.15.18-2-pve: 4.15.18-21
pve-kernel-4.15.18-1-pve: 4.15.18-19
pve-kernel-4.15.17-3-pve: 4.15.17-14
pve-kernel-4.15.17-2-pve: 4.15.17-10
pve-kernel-4.15.17-1-pve: 4.15.17-9
pve-kernel-4.15.15-1-pve: 4.15.15-6
pve-kernel-4.13.16-4-pve: 4.13.16-51
pve-kernel-4.13.16-3-pve: 4.13.16-50
pve-kernel-4.13.16-2-pve: 4.13.16-48
pve-kernel-4.13.4-1-pve: 4.13.4-26
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-11
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-53
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-13
libpve-storage-perl: 5.0-44
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-3
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
proxmox-widget-toolkit: 1.0-28
pve-cluster: 5.0-37
pve-container: 2.0-39
pve-docs: 5.4-2
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-22
pve-firmware: 2.0-6
pve-ha-manager: 2.0-9
pve-i18n: 1.1-4
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 3.0.1-4
pve-xtermjs: 3.12.0-1
qemu-server: 5.0-54
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.13-pve1~bpo2

agent: 1
bios: ovmf
bootdisk: scsi0
cores: 4
efidisk0: ssd:vm-102-disk-1,size=128K
ide0: local:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
machine: q35
memory: 2048
name:
net0: virtio=C2:0C:9F:42:3D:F4,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: win10
scsi0: ssd:vm-102-disk-0,discard=on,size=50G,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=f56bbf05-1255-4357-ad7d-2f7d7b6d0c20
sockets: 1
vmgenid: 3361adf8-58fa-4fe8-ba41-50fccf4cc12b
 
It's worst in my case. After rebooting the vm NoVNC console get's crooked even from the POST logo, making it impossible to do anything with the vm.

upload_2019-7-6_20-50-40.png
 
Same here in 6.1:
Code:
proxmox-ve: 6.1-2 (running kernel: 5.3.10-1-pve)
pve-manager: 6.1-3 (running version: 6.1-3/37248ce6)
pve-kernel-5.3: 6.0-12
pve-kernel-helper: 6.0-12
pve-kernel-5.0: 6.0-11
pve-kernel-5.3.10-1-pve: 5.3.10-1
pve-kernel-5.0.21-5-pve: 5.0.21-10
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.2-pve4
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.13-pve1
libpve-access-control: 6.0-5
libpve-apiclient-perl: 3.0-2
libpve-common-perl: 6.0-9
libpve-guest-common-perl: 3.0-3
libpve-http-server-perl: 3.0-3
libpve-storage-perl: 6.1-2
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve3
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-1
pve-cluster: 6.1-2
pve-container: 3.0-14
pve-docs: 6.1-3
pve-edk2-firmware: 2.20191002-1
pve-firewall: 4.0-9
pve-firmware: 3.0-4
pve-ha-manager: 3.0-8
pve-i18n: 2.0-3
pve-qemu-kvm: 4.1.1-2
pve-xtermjs: 3.13.2-1
qemu-server: 6.1-2
smartmontools: 7.0-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.2-pve2
 
I'm having the same problem across all VM's on a newly created proxmox 6.1 cluster. A soft-reset triggers use of the set resolution, but any "cold" boot of any OVMF-UEFI VM gets 800X600 resolution, ignoring the settings in OVMF.
 
Same here in 5.4
But on all Versions of Proxmox 5 I had to do a soft reboot to get the OVMF UEFI resolution worked. As a newbie I thought this is normal behaviour, but it seems to be a bug?
 
Last edited:
Any update on this? I also have this bug on PVE 6.1. Set OVMF resolution to 1920x1080, but it always cold boots to 800x600. Resettings VM sets it to correct resolution.
 
I have same issue too, just testing UEFI boot for new VM template and observed this issue, I am using version 5.3-8 tho.
 
Didn't realize there is a patch. First test: works for me.
Older changes on resolution seem do be discarded, so simply change it and save it in OVMF settings.
Thanks a lot guys!
 
  • Like
Reactions: Stoiko Ivanov
Thanks for verifying that the patch works for you!
 
This bug has returned.
did you recently upgrade? if yes from which to which version? please provide the output of `pveversion -v`
please also post the VM's config
 
did you recently upgrade? if yes from which to which version? please provide the output of `pveversion -v`
please also post the VM's config

I'm not sure when it actually returned. The cluster has been updated 3 times in the last month or so. I just noticed that all my windows VM's wouldn't "hold" their resolution settings through a shutdown/start cycle yesterday. (They do hold through a reboot). Have to either interrupt boot to adjust OVMF settings before it boots, or reboot and adjust settings, using "reset" in the OVMF after committing changes to have them work in the VM.

proxmox-ve: 6.2-1 (running kernel: 5.4.44-2-pve) pve-manager: 6.2-10 (running version: 6.2-10/a20769ed) pve-kernel-5.4: 6.2-4 pve-kernel-helper: 6.2-4 pve-kernel-5.3: 6.1-6 pve-kernel-5.4.44-2-pve: 5.4.44-2 pve-kernel-5.4.44-1-pve: 5.4.44-1 pve-kernel-5.4.41-1-pve: 5.4.41-1 pve-kernel-5.4.34-1-pve: 5.4.34-2 pve-kernel-5.3.18-3-pve: 5.3.18-3 pve-kernel-5.3.18-2-pve: 5.3.18-2 pve-kernel-5.3.13-3-pve: 5.3.13-3 pve-kernel-5.3.10-1-pve: 5.3.10-1 ceph: 14.2.9-pve1 ceph-fuse: 14.2.9-pve1 corosync: 3.0.4-pve1 criu: 3.11-3 glusterfs-client: 5.5-3 ifupdown: not correctly installed ifupdown2: 3.0.0-1+pve2 ksm-control-daemon: 1.3-1 libjs-extjs: 6.0.1-10 libknet1: 1.16-pve1 libproxmox-acme-perl: 1.0.4 libpve-access-control: 6.1-2 libpve-apiclient-perl: 3.0-3 libpve-common-perl: 6.1-5 libpve-guest-common-perl: 3.1-1 libpve-http-server-perl: 3.0-6 libpve-storage-perl: 6.2-5 libqb0: 1.0.5-1 libspice-server1: 0.14.2-4~pve6+1 lvm2: 2.03.02-pve4 lxc-pve: 4.0.2-1 lxcfs: 4.0.3-pve3 novnc-pve: 1.1.0-1 proxmox-mini-journalreader: 1.1-1 proxmox-widget-toolkit: 2.2-9 pve-cluster: 6.1-8 pve-container: 3.1-11 pve-docs: 6.2-5 pve-edk2-firmware: 2.20200531-1 pve-firewall: 4.1-2 pve-firmware: 3.1-1 pve-ha-manager: 3.0-9 pve-i18n: 2.1-3 pve-qemu-kvm: 5.0.0-11 pve-xtermjs: 4.3.0-1 qemu-server: 6.2-10 smartmontools: 7.1-pve2 spiceterm: 3.1-1 vncterm: 1.6-1 zfsutils-linux: 0.8.4-pve1

I'm under the impression that there's supposed to be like a QXL driver or something of that nature that would work with the VirtIO-GPU "device" such that resolution could be adjusted from within the OS, but I can't get any of those driver to actually work from the virtIO driver ISO's. Rather than put dev effort into fixing the existing issue, I'd be more interested in the dev effort to bring the resolution control back to windows in OVMF systems.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!