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!
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!