Why is my Win10 VM with OVMF (UEFI) not beeing able to use the ethernet card?

Can you post the VM config?

Do you see any errors in my config below? I am using 5.1 there because I don't have internet with 6.1.

I am currently trying on a second VM with 6.1 but it is still in the process of shutting down and updating.

It is also possible that it is a problem with Android Studio. There are a lot of issues related to HAXM here.

Code:
root@proxmox:~# cat /etc/pve/qemu-server/103.conf
agent: 1
balloon: 2048
bios: ovmf
boot: order=scsi0;ide2;net0;ide0
cores: 4
cpu: Haswell-noTSX
efidisk0: local-lvm:vm-103-disk-1,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:06:00,pcie=1,x-vga=1
ide0: local:iso/virtio-win-0.1.215.iso,media=cdrom,size=528322K
ide2: local:iso/Win10_21H2_German_x64.iso,media=cdrom
machine: pc-q35-5.1
memory: 8192
meta: creation-qemu=6.1.0,ctime=1642685514
name: Win10-UEFI
net0: virtio=66:69:6C:AA:28:5E,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-103-disk-0,cache=writeback,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=74497f5a-1253-4617-b5a5-fd86f6f4c3b4
sockets: 1
vga: virtio
vmgenid: a43eec1b-8d3c-4416-ab7e-3d9e4e03ded4
 
I think Android Studio need vm support and maybe you need to change the cpu to Host and Host need to have the nested capability.
What's the output of:
cat /sys/module/kvm_intel/parameters/nested
 
Perfect,
try to change vm:
cpu: Host

Start the VM and try to install Android Studio.
That was already my plan since I had this second VM set to host and it worked! But this second VM was created using q35-6.1 (instead of 5.1 for the first one), so maybe this had also something to do with it. Or maybe my CPU setting Haswell-noTSX is a wrong indication that my CPU does not support vt-x, which of course is wrong. Maybe will check in the future. I am glad it worked now!

EDIT: I also set the console display to NONE, but not sure if that was relevant.
 
Last edited:
Just cpu: Host did the trick!
Indeed. But there is this guide which explicity sais to set the host to a certain processort type. Does this mean that my Haswell i5 CPU can do more than the generic type "Haswell" (with or without the options TXS etc.) from proxmox? I am asking because I think "host" means that I cannot move the VM to another system. On the other hand, maybe I can just move it, set it to "host" on the other system and it should run fine then, if the other host supports it.
 
I already know this guide and I've already explained here.

BUT

If you need nested vm for Android Studio you cannot have at the same time a CPU without kvm option to avoid Nvidia consumer drivers check...
 
In your post you explain not to use Ivy Bridge and that it works with EPYC. This is most probably due to your hardware. We are supposed to pick the CPU type of our hardware. In my case, my hardware is indeed Haswell. So your have an EPYC CPU and therefore need to use it (I suppose. I never encountered EPYC CPUs though).

But your second remark was unknown to me. If I understand you right I my usecase needs kvm and that using a type like "Haswell" or "EPYC" will deactivate kvm? Did you re-activate it with your extra flags then?

I tried setting this up with two GPUs, a GT 710 and a GTX 560. The GT 710 works well, because it has the Nvidia driver above a certain number which means that Nvidida deblocked this GPU from not working inside a VM. But the GTX 560 has a driver that does not have this deblocking update.

But if I understand it right I should be able to use it by hiding the fact that it is running in a VM. I though about this, too. But some user here told me it is just not possible with my card.
 
In your post you explain not to use Ivy Bridge and that it works with EPYC. This is most probably due to your hardware. We are supposed to pick the CPU type of our hardware. In my case, my hardware is indeed Haswell. So your have an EPYC CPU and therefore need to use it (I suppose. I never encountered EPYC CPUs though).
I update my orginal post to Host to avoid misunderstanding.
The normal way to setup a VM is not to pickup any CPU different from Host...
But your second remark was unknown to me. If I understand you right I my usecase needs kvm and that using a type like "Haswell" or "EPYC" will deactivate kvm? Did you re-activate it with your extra flags then?
The extra flags are for hiding kvm capability to the VM to avoid Nvidia consumer driver check.
I tried setting this up with two GPUs, a GT 710 and a GTX 560. The GT 710 works well, because it has the Nvidia driver above a certain number which means that Nvidida deblocked this GPU from not working inside a VM. But the GTX 560 has a driver that does not have this deblocking update.

But if I understand it right I should be able to use it by hiding the fact that it is running in a VM. I though about this, too. But some user here told me it is just not possible with my card.
I'm almost sure that your GTX560 will work with these and at the same time Android Studio will not install because he need nested kvm:
cpu: host,hidden=1,flags=+pcid
and added this line:
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,kvm=off'
 
I update my orginal post to Host to avoid misunderstanding.
The normal way to setup a VM is not to pickup any CPU different from Host...

The extra flags are for hiding kvm capability to the VM to avoid Nvidia consumer driver check.

I'm almost sure that your GTX560 will work with these and at the same time Android Studio will not install because he need nested kvm:
cpu: host,hidden=1,flags=+pcid
and added this line:
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,kvm=off'
I will try this. Thanks for the conversation! Makes this a lot easier. I now understand that using a passthrough GPU on the basis of CPU beeing able to do Vt-d in a VM is something different than the extra step of using nested virtualisation on this passed through GPU (as needed for AS) with the help of nested kvm.
 
I am able to run Android Studio with Emulator now. But the performance is bad. CPU is at 60%, GPU usage is only at 4%. I suspect there is something not working as expected. Its old hardware: LG1150 with i5 and 16 GB RAM.

Code:
root@proxmox:~# cat /etc/pve/qemu-server/100.conf
agent: 1
bios: ovmf
boot: order=scsi0;ide2;net0
cores: 4
cpu: host,flags=+hv-evmcs;+aes
efidisk0: local-lvm:vm-100-disk-1,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:06:00,pcie=1,x-vga=1
ide2: local:iso/gparted_live_64.iso,media=cdrom,size=396M
machine: pc-q35-6.1
memory: 12000
meta: creation-qemu=6.1.0,ctime=1642712177
name: Win10eng
net0: virtio=86:64:82:0E:8D:0F,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-100-disk-0,cache=writeback,size=82G
scsihw: virtio-scsi-pci
smbios1: uuid=381623be-e9aa-4efe-b2cb-0ff797b73b93
sockets: 1
vga: none
vmgenid: e182be3b-5790-44c8-8385-24d0e6f588fa
 
Are you sure these flags are supported by your Host CPU?
flags=+hv-evmcs;+aes

Inside the VM the CPU is 0% while you saw 60% from the proxmox web ui?
 
Actually, I tried those flags just today to see if performance improves. But they made no difference. Originally, I used the VM without them.

I just checked the CPU, and it was high both inside and outside.

What I additionally did was activate Hyper-V in the guest and this actually makes a difference! I think now the Emulator is using Hyper-V instead of HAXM (not sure), resulting in higher GPU usages and lower CPU. So, I am quite satisfied for the moment. A better CPU (on newer architechture) would nevertheless probably improve things considerably...
 
...
I just checked the CPU, and it was high both inside and outside.
...
If you have CPU usage at 60% inside the VM you have to check the process that are using the CPU inside the VM in Task Manager > Details, order by CPU%, that's not a Proxmox issue.
 
:) sure. The load is practically completely coming from the qemu process for the Emulator.
I was referring to investigate inside VM = inside Windows.
If you have also in Task Manager of Windows a 60% CPU usage is it here the load need to the investigate from the tab Details, order by CPU%.
 
Yes sure, as I said, the load is coming from the Emulator in the client. With Emulator I mean the Android Studio Emulator.
 
  • Like
Reactions: Emilien

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!