Cannot get PCIe Passthrough work

I just noticed this as was of checking passthrough is actually functional. At least, i expect this is a good indication it is at least initialized as expected (with the iommu)

dmesg | grep -i passthrough

[ 0.198326] iommu: Default domain type: Passthrough (set via kernel command line)
 
Sorry for the shitty follow up on the initial post.
Recap of the initial post and problem description, this to verify for you if what you attempt is feasible or necessary. It is a bit more elaborate than another post i made on this recently.

You report to have passthrough success for the SSD.

To my knowledge there is no passthrough required for storage devices. Assigning the controller and storage device path to a VM allows one to boot an OS installed on disk from a VM.

You report on an Error messages for the network controller.

This suggests you try to passtrough the network controller ? Which is most likely already in use by the OS. If so, this will not work. I suggest to use the virtio network controller for a VM. NO need for passthrough.

Only consider passthrough for what brings real benefit, something which has slow performance or it makes sense to exclusively use it for the VM. Such as a GPU, USB attached devices, wifi, or storage which will only be used by a VM.

In relation to the original post. Passthrough of a wifi will work but not if you already use wifi on the host. Choose one of LAN or WiFi to use for the host, only then you can use the other for the VM.

At least, such is my understanding. It may be there are ways to passthrough a single device to multiple VM but i do not expect this to work reliably. Maybe workarounds are feasible but i doubt it.

To catch most relevant messages for passthrough use

dmesg | grep -e IOMMU -e iommu -e vfio -e Intel -e bug -e Bug -e BAR -e remap -e passthrough

When it comes to kernel boot parameters, the order of the string can be important as it is parsed as a sequence. Stuff like putting video=vesafb:off,efifb:off first can make all the difference. On that :eekff is a copy past error because this forum render it automagically into an emoticon. So : and off not : and eekff.
 
We might focus on different point. Let's me clarify my procedure and current target. My hardware in the test is Lenovo ThinkPad T450s, a laptop with Intel i5 5200U (2C4T), 20GB DDR3L-1600, 250GB 2.5" SATA SSD (Windows 10 Home), 16GB M.2. 2242 SATA SSD. The Bluetooth devices I am using are Microsoft Designer Bluetooth Mouse and Microsoft Universal Foldable Keyboard. The Proxmox 5.4-15 is installed on the 16GB SSD since 6.2 is not working in IOMMU grouping.

My early target is to Passthrough the Windows 10 installed SSD to KVM, and passthrough other useful component like Wi-Fi, Integrated Graphics, Dedicated Graphics, SD Card reader so that I could run the Windows VM as bare metal and have Linux service in background (LXC, or Linux VM). The LAN should be left to Proxmox VE and the Wi-Fi should be dedicated to Windows VM.
The main target is to Passthrough the Integrated Graphics Intel HD Graphics 5500 so that I could use the VM as normal.

Mentioned in the first post, I have done the SSD Passthrough and boot the Windows 10 as a VM, but only the SD Card reader Passthrough work. To confirm this is not Proxmox problem, I tried ESXi and Unraid, only Unraid have a more step on BT passthrough. However, the BT connection is quickly disconnected while the Device Manager said it work properly and the BT device Settings in Windows 10 said the devices are connected. So I see the BT Passthrough is not success.

After searching today, my Dedicated Graphics (Nvidia GT 940M) is MUXless, there should be no success case in Passthrough the GT940M to WIndows VM.
https://superuser.com/questions/129...on-laptop-with-hybrid-graphics-without-propri

Also, I found that Passthrough the Wi-Fi module is a difficult process, as most the M.2. Wi-Fi module is a combo card, the Bluetooth is using USB bus while the Wi-Fi is PCIe bus, I confirmed this by lsusb and lsusb -t command. Then I blacklist the btusb driver, update-initramfs and reboot.
After that I Passthrough the BT as USB device to Windows VM, but meet same behavior like the Unraid case, the BT devices will be disconnected when they are idle for seconds. In Bare Metal Windows 10, BT devices will reconnect themselves.
So under this condition, I decide to suspend the Wi-Fi passthrough. I will try later to make the Proxmox VE to use the Wi-Fi or USB LAN adapter so that I could Passthrough the Intel Ethernet Connection I218-V to WIndows 10.
https://www.reddit.com/r/homelab/co...h_pci_passthrough_broadcom_wifi_card/erqur5a/

The remain is the Passthrough of Intel HD Graphics 5500. I need to solve these known errors first.
[ 3.588436] vfio_pci: add [8086:1616[ffffffff:ffffffff]] class 0x000000/00000000
[ 372.188769] vfio-pci 0000:00:02.0: BAR 2: can't reserve [mem 0xc0000000-0xdfffffff 64bit pref]
[ 372.228422] vfio_ecap_init: 0000:02:00.0 hiding ecap 0x1e@0x158
 
What i meant to say is. Typically it does not make sense to do PCI passthrough since KVM is really fast, if you need it. Setting CPU to host make run QEMU on bare metal which is fastest.

Most other peripherals are available to the VM.

Passthrough of the Intel HD 5500 will not work unless you blacklist it from loading since it is the primary GPU. You also have the 3D Nvidia 940 GPU. Passthrough for that one will most likely work. What you gain from PCI passthrough is you can display the VM output on a display at near native speed.

2D graphics in Proxmox/QEMU is typically fast. Try out the different displays and observe. What is really slow is the output to the screen in a browser. I found xterm.js to be really fast.

LAN passthrough is not necessary just add a network device, works really well.
 

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!