Installed Windows on a NVME SSD (directly from an USB iso on the SSD without Fedora running)
Installed Windows nVidia drivers
Passthrough NVME SSD in VM Manager
Without GPU passthrough the VM is running fine. When i add the GPU as PCI device an start the VM, then the VM Manager is crashing. After that i have to reboot Fedora, otherwise the Windows VM does not show in the manager again.
What did i miss?
How can i control my gpu settings and to be shure, that the second GPU is not running?
thank you for helping me and sorry for my bad english
have you tried blacklisting the nvidia and nouveau drivers in modprobe.d? they might still be binding to the card. Also what is the output of dmesg | grep -i vfio and lspci -nnk -d 10de:13c0 (with 10de:13c0 being the id of the card you want to pass through) they should tell you if the vfio driver has bound to the card or if its still grabbing the nvidia drivers.
You were right. The GPU runs still with nvidia driver.
With dmesg | grep -i vfio the output is empty
With lspci -nnk -d 10de:1b06 the ouput is: Kernel driver in use: nvidia, Kernel modules: nouveau, nvidia_drm, nvidia
I did try to blacklist the drivers (nouveau,nvidia,nvidia_drm) but did not work. I tryed to pass through the other GPU as well but it did not work either. i tried different options from google but nothing works. It does look like, that no settings in the /etc/modprobe.d/vfio.conf will change somthing.
I did the guide first as well and it didn’t work for me either. After some experimenting I realized my board is uefi, but for some reason the actual grub configuration which is used on startup is /boot/grub2/grub.cfg
I’m by no means an expert on grub and its configuration. I got confused on that topic and its on my list for a closer examination. As I understand from what I read so far, it should have worked with the guide.
Yesterday i had some issue with the CPU passthrough of my TR 1950x (Windows 10 1803 as guest with QEMU/KVM, BSOD under install). But i did get it running after i did what was suggested in the last post.
Now i have the same problem again. After switch back to coreduo, the Windows VM startet successfully. Now i have the Error Code 43 to deal with of the nVidia GPU. It is like a never ending storry but i feel i am getting closer to the finish line
Did you run virsh define afterwards and made sure it hasn’t overwritten with the old config? sometimes this can happen if you have the vm, virt-manager running or if you made a mistake with the changes. All I did was make the changes to the file and redefine the configuration before reloading the vm again, here is a copy of my configuration with the changes for reference.
Yes i did the virsh define. Too be shure i did a reboot and controlled id again. I did compare your and my configuration and found that i have a hyperv and kvm section under features. I did delete that for a test but it did not work.
I don’t see anything overly wrong with your configuration. Are you using OVMF for this machine? I’m not sure if it’d make a difference but I can’t see the configuration for it and its the only major change between the two.
It does work, i can not beleve it.
I think it was the OVMF instead of the BIOS after all, thank you @MichaelLindman.
I think that went wrong:
I installed Windows from USB directly to the SSD. With the UEFI instead of the BIOS it did not boot. So i made a new installation of Windows over the VM setup to the nvme SSD. After that i did take my old configuration xml and it is working now. May be its clear for others but it was not for me that i have to install Windows that way.
If you start from scratch, run my ansible play. On fedora it should work like a charm. If not let me know so I can update it. I already put the fix for error 43 in the vm template that is part of the ansible play. If you need help running it let me know.
sorry i did saw you post too late. I had already installed it from scratch by hand. But i did use your script as guideline, so its nearly the same. What is different from your template is the problem i had to solve with the CPU passthrough.