Proxmox VE 9.2 / QEMU 11 – WSL2 Nested Virtualization works with host/max but fails with custom qemu64 CPU

admin_ready

New Member
Nov 29, 2024
17
1
3
Hello

I'm testing nested virtualization for Windows 10 with WSL2 and Docker Desktop on Proxmox VE 9.2.

**Environment:**
- Proxmox VE: 9.2.21
- QEMU: 11.0.3-4
- QEMU Server: 9.2.10
- Kernel: 7.0.14-22-pve
- Physical CPU: Intel Xeon E5-2697A v4 (Broadwell)
- Guest OS: Windows 10 22H2 (Build 19045)
- Nested KVM: Enabled (`Y`)
- VM: 8 GB RAM

**Custom CPU configuration:**

`/etc/pve/virtual-guest/cpu-models.conf`

```ini
cpu-model: x86-64-v3-nested
reported-model qemu64
flags +vmx;+aes;+popcnt;+pni;+sse4.1;+sse4.2;+ssse3;+avx;+avx2;+bmi1;+bmi2;+f16c;+fma;+abm;+movbe;+xsave

cpu-model: max-nested-test
reported-model max
flags +nested-virt
```

**Test results:**

| CPU Model | WSL2 / Docker Desktop |
|---|---|
| host | Working |
| max | Working |
| custom-max-nested-test | Working |
| custom-qemu64-nested-test | Not working |
| x86-64-v3 | Not working |

With the qemu64-based custom CPU model, the guest reports:

```
VMMonitorModeExtensions : True
VirtualizationFirmwareEnabled : True
SecondLevelAddressTranslationExtensions : False
```

WSL2 fails to create a VM with:

```
WSL2 is unable to start since virtualization is not enabled on this machine.

HCS_E_HYPERV_NOT_INSTALLED
```

The QEMU command line includes `+vmx`, and Windows reports the CPU manufacturer as GenuineIntel.

Windows Subsystem for Linux and Virtual Machine Platform are enabled, and `hypervisorlaunchtype` is set to Auto.

**Questions:**


1. Are there any additional CPU features or nested VMX capabilities required for Windows Hyper-V / WSL2?
2. Is it possible to create a migration-compatible custom CPU model based on x86-64-v3 that supports WSL2 without using host or max?
3. What is the recommended CPU configuration for nested virtualization across Intel Proxmox nodes with potentially different CPU generations?

I would prefer to avoid using `host` or `max` if possible, to maintain CPU compatibility for VM migration.

Any recommendations from Proxmox developers or users who have tested this on QEMU 11 would be greatly appreciated.

Thank you!