Hello,
on a fresh install on Qubes OS, I have the problem that under “Settings” for a VM, the tab “Devices” is greyed out - I cannot select it.
Similar, If I type on dom0
[user@dom0]$ sudo qvm-pci
Failed to list 'pci' devices, this device type either does not exist or you do not have access to it
Nevertheless, I can run
sudo lspci
and I get a list of PCI devices.
For
[user@dom0]$ sudo qvm-usb
I get a list of all the USB devices, this works.
I suspect this is part of a larger problem, namely to make a thunderbolt hub work with Qubes OS - yet I wanted to keep this a separate thread as it may not be the same.
Afaik, PCI passthrough is only available for HVM and PV. Qubes uses PVH as default, which disallows PTing devices.
Also, enmus had success using the Xen default way of passing devices to pciback via grub kernel command line, instead of the Qubes way. But I dunno why it made a difference.
Check what kernel driver/module is used by the device you wanna passthrough with lspci -k.
You can also try xl info | grep caps to check if directio is supported on your host.
Last thing, I see you’re trying to passthrough a device identifed by 00:1f.3. What is the device, and what are the .1 and .2 devices ?
I’m not entirely sure on that, read the Xen wiki about it, but IIRC you have to pass all 00:1f.x devices at once. EDIT: this is true ONLY for multi-function devices.
As an example, you cannot PT a GPU without PTing also the audio part.
It can be a problem too, but I think recent kernels have overridden the problem (previously people had to use what’s called ACS patch). Don’t quote me on that though, it needs verification.
What I meant is the PCI “BDF notation” means Bus-Device-Function, and PCI passthrough can only PT a Device. From Xen wiki : This error usually happens when you're trying to passthru only a single function from a multi-function device (for example a dual-port nic)
That’s why I used the GPU video+audio analogy, you cannot pass one w/o the other.
(PS: I’ve edited my previous post, I wrote something wrong).
I de-activated Intel Volume Management Engine in the BIOS, this solved the problem.
Some more background:
With Intel Volume Management Engine turned on, I had some PCI devices that seem not to match Regex expectations of Qubes OS, they looked similar to:
Hello. I have the same problem.
But I can’t disable in BIOS: Intel Volume Management Engine.
My new MSI laptop does not support disabling the Intel Volume Management Engine.
Are there alternative ways to make the “Devices” tab active?
Try to use rd.qubes.hide_pci grub option for your 10000:xx:xx.x devices like this:
UPD:
On second thought maybe you won’t be able to hide them with rd.qubes.hide_pci since Qubes OS is handling this and it won’t see these 10000:xx:xx.x devices as it can’t see them in qvm-pci.
Maybe there’s some Xen option for this as well but I don’t know of it.