I just upgraded to 6.12 today and none of my QEMU/KVM virtual machines will boot. I have a Windows 10 VM without passthrough, a Windows 10 VM with GPU/USB/SATA passthrough, and A Windows 11 VM with GPU passthrough, and all of them halt after displaying the TianoCore boot message. There’s no spinning wheel, no errors in the logs, and no errors displayed when launching the VMs from the command line.
The LTS kernel, 6.6.61, launches the VMs as always, so there’s definitely a bug with the 6.12 QEMU/KVM somewhere. Does anyone know anything about this?
UPDATE:
I created a test Windows 10 VM and discovered the problem and all my VMs are working again.
The issue was that hiding the VM no longer works with kernel 6.12, at least not the way I was doing it. I’d completely forgotten that long ago I had an NVIDIA GPU for passthrough and had to hide the hypervisor in order for it to work. And even though the basic Windows 10 VM I had that didn’t use passthrough didn’t need it, I’d configured it the same as the Windows 10 and 11 VMs that did use passthrough. Once I removed the custom inserted lines to hide the hypervisor everything worked again. They weren’t need any longer anyway, as I’d replaced the NVIDIA GPU with an AMD GPU a few years ago.
Specifically, these are the lines I’d inserted that caused the VMs to freeze:
In the features block:
<features>
…
<kvm>
<hidden state=‘on’/>
</kvm>
…
<features/>
In the cpu block:
<cpu>
…
<cache mode=‘passthrough’/>
<feature policy=‘require’ name=‘topoext’/>
<feature policy=‘disable’ name=‘svm’/>
<feature policy=“disable” name=“hypervisor” />
…
</cpu>
ORIGINAL:
I’ve generated /var/log/libvirt/qemu, dmesg, journalctl, and systemctl logs for my most basic VM, Win10-2, failing with kernel 6.12.0 and succeeding with kernel 6.6.61. However I don’t see any way to upload them. Can you please tell me how? There’s an icon above for uploading pictures but not text files.
If you look at the post above yours you’ll see that I solved the problem. It had to do with manually inserting lines I’d forgotten about to hide the hypervisor from an old NVIDIA GPU. For whatever reason it doesn’t work with 6.12, but it’s actually good that I was reminded of them because they were not longer necessary as I switched to an AMD GPU. I apologize for taking up the devs time, but I was sure it was a bug with 6.12.