IOMMU needs to be enabled in the BIOS/EFI - check
For Intel CPUs, the kernel parameter intel_iommu=on needs to be provided on the kernel command line - doesn’t apply to me as I have a AMD based system
The VFIO infrastructure needs to be available. This can be achieved by loading the kernel module vfio_pci - check
I also need some way to disabled my amd gpu which I want to passthrough. As I tried to start a win7 install and selected it as passthrough the system just crashed.
Thanks to both of you. Very unfortunate my specific hardware does not seem to have the required support it requires for what I try to do.
Board: Asus Crosshair V Formula-Z
CPU: AMD FX 8350
GPUs: nvidia 1030 (zotac) and amd r9 290x (asus)
Wikipedia even has an article about IOMMU capability and lists my specifc board requires some addition kernel parameters. It doesn’t matter if I add them or not, dmesg lists in both cases:
6.665277] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <email@example.com>
6.665278] AMD-Vi: AMD IOMMUv2 functionality not available on this system
I also found the information that there 2 versions of all that virtualization stuff - and on linux version one is called AMD-V while the second one is called AMD-Vi (notice the additional i) - and both, board and cpu, has to support the latter version AMD-Vi.
In addition to my board seem to have some bug in the bios the cpu seem to not support the second version as it only lists AMD-V. So, for me its both the board with a bug in the bios and the cpu somehow not capable of the required stuff.
TLDR: No PCI-E passthrough for me - end of story.
Very strange: I try to set up a vm anyway - and although the win7 set up starts it hangs at the first step - so I’m even unable to set up a vm for some strange reason.
What was my initial idea: As there’Re no linux drivers for the SB950 fakeraid I rely on a driver only working correctly on win7. Neither linux nor win10 are able to correctly run on it.
Issue: As I didn’t knew all that sometime in the past I set up a RAID5 using that “fakeraid”. As its proprietary when the board fails I have to source another with a compatible SB950 chipset. So I got the idea to throw in a 2nd gpu and run a virtualized windows while using linux to provide the raid using a “dumb” off the shelf HBA and something like either mdadm or BtrFS (as at least in my tests it seem to do what I want to).
Well, I guess the best next thing to do is to invest in a small NAS and just mount it via iSCSI (as some windows stuff don’t play well when a remote share is just mounted as a net share - iSCSI solves this as it hides the network layer and represents itself as a local attached drive - some black magic stuff).
So much work all to find out: “hardware says NOPE!” (like in Little Britian: “Computer says no”).
If you’re going to set up a GPU pass-through,
The following Forum thread contains links to “live” documentation that should be up to date and as authoritative today as when it was posted.
Also, since IOMMU is an essential part of the setup, should include that info, too.
As described, all support for virtualization nowadays should be available as kernel modules (even Xen which once upon a time was distributed as its own custom built kernel) so there is no need to select a special kernel, everything should “just work.”
Keep in mind unless you’re chasing GPU performance, you shouldn’t need to do a hardware pass-through. Virtualized graphical drivers are pretty good nowadays, you should not see more than 2-5% latency/degradation in performance for most things… Which means that typically only MMFPS games would have cause to complain.
Thanks for the reply - but as said: my hardware just doesn’t support it. Leap 15.2 wants to load which calls itself “IOMMUv2” - which fails as my CPU doesn’t support AMD-Vi - but only the first generation AMD-V (yes, there seem to be some difference) - but as pretty much any guide I was able to find via Google only lists “IOMMU” without the “v2” suffix it seems that there’s some new stuff in 15.2 which just isn’t compatible with my hardware - or, the other way around: my hardware combination of cpu and motherboard doesn’t work with whatever KVM tries to load - hence it fails with “IOMMUv2 functionality not available on this system”.
Aside from all that my hardware not able to work correctly I encountered an error in which for whatever reason the windows 7 setup just “hangs”: It starts up, I even can select the drive and click install, the drive gets formatted - and then nothin - it just hungs up on “install windows files (0%)” - for pretty much ever. So, even if my system would be able to do the gpu passthrough I would stuck at not be able to setup windows. I may could had gotten away with just try win10 instead of win7 - as the only reason I’m stuck to win7 is that AMD doesn’t supply any other working RAID driver than for win7 - but I just gave up.
As for why I want to passthrough my GPU in the first place: As I’m closing in to 30 I still game a lot - and without proper hardware access but only that emulated **** games which rely on 3D acceleration either just run pretty bad - or don’T at all.
Why I don’t change to linux instead: cause there’Re still some games out there which just doesn’t work on linux due to their DRM **** like Denuvo - which in fact is pretty much a windows-only rootkit as it requires kernel-level access. Same goes for many older games which use those ancient DRM/copyprotection which rely on installing a “virtual driver” - I often even have problems to get them running. Using any other method like WINE, that steam stuff I don’t recall its name right now and virtualbox just don’t get me the performance. And qemu via kvm I can’t get to work.
So, before getting this to work I have to invest into modern hardware which supports all that stuff - but then I’m no longer bound to that raid **** and will probably use win10 anyway … and turn my current hardware into a rather power-hungry NAS.