VGA passthrough using KVM in 13.1

Hi, I’m struggling with passthrough of an nVidia GT210 PCIe VGA card to a guest on an OpenSUSE 13.1 KVM host, kernel 3.11.10-7. Doing some reading it seems that

  1. VFIO would be the preferred way to do VGA passthrough with KVM instead of the generic passthrough method as described in http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

  2. VFIO is best supported by kernels versions 3.12 or above, meaning a kernel upgrade would be required for OpenSUSE 13.1 with kernel 3.11

Is the above correct? Did anyone successfully passthrough VGA to a guest on 13.1? I’ve not upgraded kernels yet beyond what comes with the system updates and I wouldn’t want to break anything.

The most complete VFIO documentation I found relates to Arch - referring to https://bbs.archlinux.org/viewtopic.php?id=162768. Thanks!

I don’t know that many people have had the need to configure what you describe.

In any case, testing a new kernel with KVM is easy and relatively risk-free since KVM is integrated into the mainline kernel.

  1. Make sure your settings support multi-kernel (Believe that nowadays is the default)
  2. Locate and install your desired kernel, can be from Factory or some other source like OBS. When you install, <do not> subscribe to the repository. If for instance you were to subscribe to the Factory repo and update, you would upgrade <all packages> to bleeding, unstable versions which could leave you in a world of hurt. But, just installing a single new package like a kernel usually is OK.

The result is that the next time you reboot, Grub should now contain new kernel options, select what you want.
If being unable to read the Grub entries disturbs you, I wrote a script that expands the dimensions of what can be seen. Although the script still has the 12.3 graphic, it’ll work for any OS (I’ll likely update the graphic soon). Save the script so it can be re-invoked, any time openSUSE pushes down a new Plymouth update, it’ll overwrite the changes and you’ll need to re-apply.
http://en.opensuse.org/User:Tsu2/12.3/Modified_GRUB_Menu

TSU

Hi Tsu, thanks. For 1. I’ve modified zypp.conf with

multiversion.kernels = running,latest,latest-1,oldest

to keep kernels 3.11.6-4 AND 3.11.10-7.

multiversion = provides:multiversion(kernel)

was already set indeed.

As for 2., I’ve done

zypper ar -f http://download.opensuse.org/repositories/Kernel:/stable/standard/ kernel-stable-repo
zypper dup -r kernel-stable-repo

, then disabled the repo.

I’ll do some further experimenting and see if I can get this to work. It does look like there’s other people doing VGA passthrough for compute or 3D purposes but apparently Xen has better support for that (or at least had in the past). There’s a very good guide on Arch (linked above) that does the same with KVM.