XCP-ng VM's display resolution locked

I tested on a few of our hosts and they all seem to support higher resolutions. Under advanced make sure you have Windows “Update tools” and “VGA” for that VM turned on.

I just checked one of mine, a server 2022 eval and the same issue. I had to change the memory to 16mb, but had previously had VGA turned on. Did a restart to see if that might allow it to change to the higher memory limit, but it did not.
monitor_res

You can see that it is only using 4mb for graphics.

This machine is UEFI if that matters, that was one of the improvements when I created this VM and wanted to try it out.

Sorry can’t help more, but will be interested in the solution if you find one.

Hey Tom, thanks for taking the time to reply. At least I know it can be done. Setting VGA and 16MB is part of my SOP, so all good there. I might SSH into the host and verify the GUI settings are applying. I’m using a DELL R730, and know from your videos that you mainly use the DELL R7xx series. You don’t have an addition graphics card plugged in do you?
I’m having the same issue as Greg_E. I didn’t want to do a deep dive to fix this if it wasn’t possible. Now I know it is, I’ll spend more time on it and post back here when I have a fix.

Thanks again Tom and keep up the great work.

I tested it on a Dell R630, R720, and a Dell Inc. OptiPlex 9020 desktop and none have an extra car but all can do the higher resolution.

Legend, thanks mate. I’ll do a deep dive and post back my findings.

Cheers and stay safe
Brad

Hey Tom, with regards to this display issue, are your VM’s using the “Microsoft Basic Display Adaptor”? I’ve touched base with Xen Orchestra support and they can’t replicate your settings. See below. I’m wondering if in all your research you can come across a setting/config that you apply by default, that makes all the difference? Thanks again for your time.

From XOA Support
Looking at it this morning again can’t find anything, my VM as 16m off video RAM but for me the limitation is on the Microsoft basic display driver that limit the max res for the display.

Not sure how Tom has work around that, i will be interested to see what display adaptor is displayed on is device manager and what driver is linked to that device.

I am not doing anything special, here is a screen shot from a Windows 10 running on my Dell R720 with the “Windows Update” turned on.

He Tom,

Sorry to bother you with that but still trying to reproduce on my side.
Here is what i have on my side:

Latest W10 release up to date
21h1
build 19043.1165

Generic non-pnp monitor
Driver 10.0.19041.868

Microsoft basic display
Driver 10.0.19041.868

Latest citrix tools
9.2.1-26

Update tools and VGA 16Mo UEFI
Original template W10 64


And the resolution is still blocked

If it’s not too much to ask could you please dump me the param of your VM so i could compare with mine?

xe vm-param-list uuid=UUID of the VM

Thanks for your help.

Here you go:

[14:20 xcp-ng-r720 ~]# xe vm-param-list uuid=08af72e3-38d7-4f63-2b1d-a12366774e8e
uuid ( RO) : 08af72e3-38d7-4f63-2b1d-a12366774e8e
name-label ( RW): Windows10 Lab Base
name-description ( RW): WIndows Ten Test
user-version ( RW): 2
is-a-template ( RW): false
is-default-template ( RW): false
is-a-snapshot ( RO): false
snapshot-of ( RO):
snapshots ( RO):
snapshot-time ( RO): 19700101T00:00:00Z
snapshot-info ( RO):
parent ( RO):
children ( RO):
is-control-domain ( RO): false
power-state ( RO): halted
memory-actual ( RO): 8589938688
memory-target ( RO): 0
memory-overhead ( RO): 77594624
memory-static-max ( RW): 8589934592
memory-dynamic-max ( RW): 8589934592
memory-dynamic-min ( RW): 4294967296
memory-static-min ( RW): 2147483648
suspend-VDI-uuid ( RW):
suspend-SR-uuid ( RW):
VCPUs-params (MRW):
VCPUs-max ( RW): 8
VCPUs-at-startup ( RW): 8
actions-after-shutdown ( RW): Destroy
actions-after-reboot ( RW): Restart
actions-after-crash ( RW): Restart
console-uuids (SRO):
hvm ( RO): false
platform (MRW): timeoffset: -14400; videoram: 8; hpet: true; acpi_laptop_slate: 1; device-model: qemu-upstream-compat; apic: true; device_id: 0002; cores-per-socket: 2; pae: true; vga: std; nx: true; viridian_time_ref_count: true; viridian: true; acpi: 1; viridian_reference_tsc: true
allowed-operations (SRO): changing_NVRAM; changing_dynamic_range; changing_shadow_memory; changing_static_range; make_into_template; migrate_send; destroy; export; start_on; start; clone; copy; snapshot
current-operations (SRO):
blocked-operations (MRW):
allowed-VBD-devices (SRO): 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 100; 101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112; 113; 114; 115; 116; 117; 118; 119; 120; 121; 122; 123; 124; 125; 126; 127; 128; 129; 130; 131; 132; 133; 134; 135; 136; 137; 138; 139; 140; 141; 142; 143; 144; 145; 146; 147; 148; 149; 150; 151; 152; 153; 154; 155; 156; 157; 158; 159; 160; 161; 162; 163; 164; 165; 166; 167; 168; 169; 170; 171; 172; 173; 174; 175; 176; 177; 178; 179; 180; 181; 182; 183; 184; 185; 186; 187; 188; 189; 190; 191; 192; 193; 194; 195; 196; 197; 198; 199; 200; 201; 202; 203; 204; 205; 206; 207; 208; 209; 210; 211; 212; 213; 214; 215; 216; 217; 218; 219; 220; 221; 222; 223; 224; 225; 226; 227; 228; 229; 230; 231; 232; 233; 234; 235; 236; 237; 238; 239; 240; 241; 242; 243; 244; 245; 246; 247; 248; 249; 250; 251; 252; 253; 254
allowed-VIF-devices (SRO): 1; 2; 3; 4; 5; 6
possible-hosts ( RO): 14ed4c7d-d2a4-4c86-b2f6-12170e4537f1
domain-type ( RW): hvm
current-domain-type ( RO): unspecified
HVM-boot-policy ( RW): BIOS order
HVM-boot-params (MRW): order: c
HVM-shadow-multiplier ( RW): 1.000
PV-kernel ( RW):
PV-ramdisk ( RW):
PV-args ( RW):
PV-legacy-args ( RW):
PV-bootloader ( RW):
PV-bootloader-args ( RW):
last-boot-CPU-flags ( RO): vendor: GenuineIntel; features: 1fcbfbff-97ba2223-2d93fbff-00000403-00000001-00000000-00000000-00000000-00001000-9c000400-00000000-00000000-00000000-00000000-00000000
last-boot-record ( RO): ‘’
resident-on ( RO):
affinity ( RW):
other-config (MRW): import_task: OpaqueRef:33dd5a0d-aa92-4a1c-b2fb-8200bcd1b5ac; mac_seed: 15e350b4-ef3c-f986-9ca0-e6fc324b9d27; pci: 00:1b.0; base_template_name: Windows 10 (64-bit); install-methods: cdrom; xo:copy_of: 19bef414-e847-c517-4d8c-db3579e7b64e
dom-id ( RO): -1
recommendations ( RO):
xenstore-data (MRW): vm-data/mmio-hole-size: 268435456; vm-data:
ha-always-run ( RW) [DEPRECATED]: false
ha-restart-priority ( RW):
blobs ( RO):
start-time ( RO): 19700101T00:00:00Z
install-time ( RO): 19700101T00:00:00Z
VCPUs-number ( RO): 0
VCPUs-utilisation (MRO):
os-version (MRO):
PV-drivers-version (MRO):
PV-drivers-up-to-date ( RO) [DEPRECATED]: true
memory (MRO):
disks (MRO):
VBDs (SRO): 5c814098-e853-e667-3e0e-24ac1543ec75
networks (MRO): 0/ip: 172.16.69.191; 0/ipv4/0: 172.16.69.191; 0/ipv6/0: fe80:0000:0000:0000:1869:62d2:84f5:b697
PV-drivers-detected ( RO): true
other (MRO): feature-balloon: 1; feature-suspend: 1; has-vendor-device: 1; platform-feature-xs_reset_watches: 1; platform-feature-multiprocessor-suspend: 1
live ( RO): true
guest-metrics-last-updated ( RO): 20210819T10:35:26Z
can-use-hotplug-vbd ( RO): unspecified
can-use-hotplug-vif ( RO): true
cooperative ( RO) [DEPRECATED]: true
tags (SRW): Lab Test Machines, winders
appliance ( RW):
snapshot-schedule ( RW):
is-vmss-snapshot ( RO): false
start-delay ( RW): 0
shutdown-delay ( RW): 0
order ( RW): 0
version ( RO): 0
generation-id ( RO): 5062211737269012600:9011267006993312963
hardware-platform-version ( RO): 2
has-vendor-device ( RW): true
requires-reboot ( RO): false
reference-label ( RO):
bios-strings (MRO): bios-vendor: Xen; bios-version: ; system-manufacturer: Xen; system-product-name: HVM domU; system-version: ; system-serial-number: ; baseboard-manufacturer: ; baseboard-product-name: ; baseboard-version: ; baseboard-serial-number: ; baseboard-asset-tag: ; baseboard-location-in-chassis: ; enclosure-asset-tag: ; hp-rombios: ; oem-1: Xen; oem-2: MS_VM_CERT/SHA1/bdbeb6e0a816d43fa6d3fe8aaef04c2bad9d3e3d

Thanks a lot Tom,
After testing with the infos you provided i heve been able to pinpoint the isssue.
You can switch resolution cause your VM is in BIOS mode, the issue come with UEFI mode.

Where looking at it on our side.

Thanks a lot for your help.

2 Likes

That explains my Server 2022 having the same issue, they are UEFI mode and I think secure boot (because eventually we will be required to have these two things). I may get time to mess with this today, cleaning up updates on my servers.

I can confirm, I only have this with UEFI mode enabled. Also looking forward to a proper fix, since it’s a production server and i don’t wanna do anything too crazy with it.

Hi All,

So a fix has come through from Yannick and the guys. See below. Sorry, I meant to post this earlier.

So you will have to set the resolution in the BIOS of the VM. To do that:

  • At VM start (tiano bios logo) press esc.
  • Go to device manager menu
  • Go to OVMF Platform configuration
  • Change Preferred
  • Select the resolution you want
  • F10 to save
  • restart the VM

At reboot you should be fine.

They are updating the official doco.

Thanks again Tom for taking time out of your busy schedule to assist, and thanks to Yannick and the guys at XOA support for working through to a solution.

Cheers

1 Like

Thanks! That did work but it also uncovered something else not related to the graphics…

Even though you may have secure boot turned on in the VM setting in XO, it is not enabled in the BIOS. Yes I had to go poking around now that I know how to get in. I’ll have to turn this on in BIOS and try making a new VM to see if it really works. The VM that I most recently built to work on some tweaks before imaging does show that secure boot is off, not all that important but one of the things I’m wanting to test going forward.

Awesome, i will test on a production server tomorrow!

Answering myself: Tested on a server now. Worked beatifully. But i wasn’t fast enough to get it to recognize ESC while rebooting, so i shut it down and then managed to get into to UEFI menu.

Thanks a lot!

Yes, there is a very narrow window to get into the UEFI menu, and that’s on my old slow hardware. Fast current hardware might make this really difficult.

A small update while i’m setting up some XCP-NG Hosts, only with the VGA and updates option, the resolution is ok when visiting the machine with remote desktop.

System is 8,2 build from sources and EUFI boot.

Small update, the fix mentioned above does work but if you’re having issues getting to the VM BIOS (Tiano) you can boot into it from the Windows recovery environment. From Windows settings select “Update and Recovery” and from there select the recovery tab on the left side. There should be an option to “restart now” under “Advanced Startup”. Selecting this will reboot you to the recovery environment, and from here you can select “Troubleshoot->Advanced Options->UEFI Firmware Settings” and it should reboot into the Tiano BIOS

2 Likes

Good tip, sometimes it is hard to hit the escape key fast enough. I’m guessing this may also work from Linux Grub where it has a similar choice.