You are not logged in.

#1 2015-09-04 11:47:59

burnbabyburn71
Member
Registered: 2015-08-04
Posts: 25

Can't get KVM GPU passthrough working, "vfio-pci error -22"

I setup a VM with qemu but the graphics performance is awful, so I went out to find a way to passthrough my GPU to the VM. I stumbled upon this guide on the Arch wiki, but I'm stuck on the "vfio-pci" section.

Doing "modprobe vfio-pci" returns nothing as it should, so it is supported on my machine.

/etc/modprobe.d/vfio.conf:

options vfio-pci ids=8086:0a16, 144d:c0ef

lspci -vnn:

00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
    DeviceName:  Onboard IGD
    Subsystem: Samsung Electronics Co Ltd Device [144d:c0ef]
    Flags: bus master, fast devsel, latency 0, IRQ 49
    Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    I/O ports at f000 [size=64]
    Expansion ROM at <unassigned> [disabled]
    Capabilities: <access denied>
    Kernel driver in use: i915
    Kernel modules: i915
....

/etc/mkinitcpio.conf:

MODULES="vfio vfio_iommu_type1 vfio_pci vfio_virqfd"

dmesg | grep -i vfio:

[    0.362568] VFIO - User Level meta-driver version: 0.3
[    0.363985] vfio-pci: probe of 0000:00:02.0 failed with error -22
[    0.363990] vfio_pci: add [8086:0a16[ffff:ffff]] class 0x000000/00000000

I tried looking for solutions but nothing has worked, for example https://bbs.archlinux.org/viewtopic.php?id=162768&p=30 says the issue is that intel_iommu isn't set to on but..

dmesg|grep -e DMAR -e IOMMU:

[    0.000000] Intel-IOMMU: enabled

I'm completely stuck with this, any help is greatly appreciated!

Also hopefully this is the right board to post this in, I wasn't sure...

Offline

#2 2015-09-04 12:22:49

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,435

Re: Can't get KVM GPU passthrough working, "vfio-pci error -22"

You can't pass through your graphics card if it is in use by the host. First paragraph of the wiki article. You need at least one other card to accompany that intel card.

Last edited by V1del (2015-09-04 12:23:34)

Offline

#3 2015-09-04 12:54:13

burnbabyburn71
Member
Registered: 2015-08-04
Posts: 25

Re: Can't get KVM GPU passthrough working, "vfio-pci error -22"

V1del wrote:

You can't pass through your graphics card if it is in use by the host. First paragraph of the wiki article. You need at least one other card to accompany that intel card.

Oh somehow completely missed that, that's a shame. So there's no way for me to do GPU passthrough then?

Offline

#4 2015-09-04 16:34:02

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,435

Re: Can't get KVM GPU passthrough working, "vfio-pci error -22"

No, how would you load the driver of the other operating system if it is already occupied by your main system?

Offline

#5 2015-09-04 17:21:24

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Can't get KVM GPU passthrough working, "vfio-pci error -22"

V1del wrote:

No, how would you load the driver of the other operating system if it is already occupied by your main system?

OP should have done his research, but having established that he didn't this is un-necessarily harsh IMO. It's my understanding that what OP wants is actually theoretically possible, but not currently feasible due to the state of the Linux drivers.

Alex Williamson wrote:

Next, be aware that Linux graphics drivers, both open source and proprietary are rather poor at dynamically binding and unbinding devices.  This means that hot-unplugging a graphics adapter from the host configuration, assigning it to a guest for some task, and then re-plugging it back to the host desktop is not really achievable just yet.  This is something that could happen, but graphics drivers need to get to the same level of robustness around binding and unbinding devices as NIC drivers before this is really practical.

Source


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#6 2015-09-05 06:13:05

burnbabyburn71
Member
Registered: 2015-08-04
Posts: 25

Re: Can't get KVM GPU passthrough working, "vfio-pci error -22"

V1del wrote:

No, how would you load the driver of the other operating system if it is already occupied by your main system?

I really didn't know, which is why I asked.

alphaniner wrote:
V1del wrote:

No, how would you load the driver of the other operating system if it is already occupied by your main system?

OP should have done his research, but having established that he didn't this is un-necessarily harsh IMO. It's my understanding that what OP wants is actually theoretically possible, but not currently feasible due to the state of the Linux drivers.

Alex Williamson wrote:

Next, be aware that Linux graphics drivers, both open source and proprietary are rather poor at dynamically binding and unbinding devices.  This means that hot-unplugging a graphics adapter from the host configuration, assigning it to a guest for some task, and then re-plugging it back to the host desktop is not really achievable just yet.  This is something that could happen, but graphics drivers need to get to the same level of robustness around binding and unbinding devices as NIC drivers before this is really practical.

Source

Ah I see, real shame that this isn't currently a practical solution just yet. Thanks for the information, and pardon my ignorance, I'm pretty new to Linux.

Offline

Board footer

Powered by FluxBB