Need Help on Setting Up Hardware Passthrough on Ubuntu 3930K

Hi !

I'm new here and I'd like (of course) to get hardware passthrough working. I've tried once before and failed. I was trying on integrated graphics but my cpu does not have any (doh!). Now I want my linux host to use an RX480 (the card I'm currently running on) and passtrough a GTX 760 (that I also possess but not currently plugged in). all via a intel i7 3930K processor and i do have 16GB of ram (F3-19200CL9Q-16GBZMD to be exact.) and an Asrock X79 Extreme 6/GB motherboard.

I'm currently running a freshly installed ubuntu 17.04 pretty much stock. haven't touched the kernel or anything yet.

first off, is this set of components a set that allows for hardware passthrough at all? I feel from what I've read here the possible offenders could be ubuntu and the i7 3930K cpu. but i'f they're not that's amazing! I'd like if at all possible not to have to change my whole mb+CPU+RAM.
and I've successfully set up a systemd ARCH that i'd built myself but I found it's implementation of any and all Desktop Environements to be awfully lackluster on dual screen as well as a great number of DE apps not linking properly as well as a great number of software not installing/not running as well as on my ubuntu.
to me the gdebi-yaourt score is 1-0 and as such I'd like to stick with ubuntu (please don't get mad at me for that! :confounded: )

Thank you all

Check Intel ark if vt-d works on the 3930k. Check your uefi that vt-d is on/you have the option? Update it?


As @wendell said, your 3930K needs to have VT-d, I checked for you and it does; so the next steps are to follow the tutorials, check more on Ubuntu before you get too far and document your progress so that we can help you however needed! (My help will be non-present as I haven't set it up myself, but others here have and would be ecstatic to help you!) Best of luck to you!

I found Wendell's guide to be a good intro, but it glossed over a lot. I wrote a more verbose series of posts that will help you understand everything that goes into passthrough.

Have a look here and if you have any questions, feel free to ask!


Agreed, read @SgtAwesomesauce tutorial, other then that I'd suggest using Fedora 25 instead of Ubuntu.... contrary to popular belief Ubuntu isn't really a up-to-date OS and is slow to update kernel versions which normally has to be patched to get the needed support.


You can do it on Ubuntu. You just need to install a PPA for the new kernels. I haven't done passthrough since 4.8, but with OP's 3930k, using anything 4.4 or later should be fine.

Also, I've found that the extra patches are really only needed in specific configurations. OP's x79 should be fine without the patches, but I can't be sure until OP posts his IOMMU groupings.


Yup, I guess I'm spoiled having been on Fedora for a couple years now, the ease of doing the pass through on it vs when I tried on Ubuntu several years ago has my opinion a little Every-time I see updates to QEMU and vert-manage I just smile knowing we are getting closer to virtual GPU. :relaxed:

1 Like

Yeah, I went through and tried it on a bunch of distros. I could get it working on all of them. Easiest was either OpenSUSE or Arch, followed closely by Fedora, after that, there was always significant work that needed doing.

I'm holding out for that. I'm getting tired of playing around with passthrough and frankly, I don't have the time anymore. I just dual boot now since I will mostly either want to use windows for games all day or Linux for getting shit done all day.


Me too, it's coming, maybe not as quickly as we would all like....but it is on the horizon, and it will be a game changer for a lot of people. I just wish I could ween myself from gaming on Windows, granted since I run Win X enterprise it's better than win7 or vanilla 10, and the pass through is still cool and impresses the noobs that see it, and it functions so well for me that I still kinda' giggle using it, but we still don't really know how virtual GPU will work or how robust it will be....time will tell.

1 Like

I can imagine virtual GPU will have a large performance hit at first, but will probably get within 15% of native with a couple years of maturity. I'm interested how it would share gpu time with the host.

I really only have interest in 2 games lately. Mass Effect Andromeda and Starcraft 2.

Andromeda is so resource intensive that I need to use my Fury (unlocked to 4096) to play it with a decent frame rate at 1080p. The interesting thing is that I'm only noticing 2-4 fps difference between 1080 and 1440 on the fury in andromeda. I wonder what that's about. Can't be a CPU bottleneck on my [email protected] with 3200mhz ram.

1 Like

Hi all!

thanks for the replies!!

I have enabled VT-D it definitely is an option in my bios. I've even had it enabled since my last try.

As for fedora I'm cool with distro hopping. I'm just worried the app base might not be as wide and installing not as easy.

I just love doing 100% gui approach from time to time. grabbing any old .deb from the web browser have it open on download completion and it execute gdebi.

From what i hear things aren't quite that laid back on fedora. (I also have hopes of making a youtube tutorial series for windows users looking to switch to linux and the convincing argument here is not the interface, which in the end is quite easy to swap out and customize but the inclusiveness and centralization of it all)

In any case thanks I'll get going and come back with my IOMMU groupings! :slight_smile:


What I would do is read through the guide I posted. Part 3 and 4 are the primary interests to you. From there you should have a base knowledge of how it works. Package names and config paths might be different between Arch (what the guide uses) and Ubuntu, but we can help with any questions you've got.

1 Like

If you like the 100% GUI approach you should try OpenSuse, even the pass through configuration can be done without looking at the command line.

1 Like

Agreed, it's gotta be a huge hit until it's optimized, it will be interesting to say the least, and it will bring a lot of options to a lot of folks, not just playing with VMs but doing productivity stuff also, it could also drive other developers like Oracle to improve programs like VMWare/VirtualBox 'course I guess that's a given that that will happen.

As far as the sharing between host and guest, I see some latency involved that will have to be overcome somehow, it might be fine for a lot of things but gaming will be the big test and killer of code, I'd imagine it working like sharing a NIC or sound card virtually with a guest, does it work, yeah, but it doesn't really work well as we have all found out.

Virtual hardware is great and a godsend to VMs but the harder you push the more latency you find, at least that has been my experience.

I've never really played with SR-IOV, since I don't have any hardware that supports it yet.

Virtual anything. Gaming will always be best on native, but I'm always interested in collecting data on the limits.

1 Like

For anyone in the future that might read this thread and wonder what SR-IOV is here's a vid kinda' to help explain.

Of course this vid is talking about a NIC, but the premise of SR-IOV will work with just about anything that uses the PCIe bus providing the necessary support and driver is there to take the load off the hypervisor at least in theory.


Thanks again @SgtAwesomesauce and @Blanger !

I went ahead and edited my GRUB line to this :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on"

btw @SgtAwesomesauce in your guide you forget to mention how parameters are separated inside grub files and assume users will know this. While I've messed around with this file alot I'd forgotten this and had to look it up. I suppose quiet splash is a parameter we want to keep? this also is not specified. (since space is the separator does that mean quiet and splash are two different parameters? )

After a reboot I did my iommu groupings post this is what I got :
I suppose this is not what we're going for ?

1 Like

I'm on Ubuntu 17.04, fresh kernel, and passthrough is working for me.

Been playing a few games of Overwatch, all is working. :smiley:

1 Like

fresh or stock

Sorry for the confusion.

it's the stock 4.10 kernel that 17.04 comes with, this is Ubuntu GNOME btw.

If it doesn't work out of the box usually, the only thing I can think of, is if Ubuntu is using a 'special kernel' for me because I am using an AMD RX 550. It recognized it as a Polaris GPU right away, whereas Arch did not even on the same kernel.