Hardware Pass-through: My last barrier to Linux

Hi there!

So in the last Level1News Episode I heard Wendell talking about going on the forums and doing some projects together. So here I am :D and I hope there are people on here who can help me with the stuff I haven't entirely figured out yet ;)

What do I wanna do:
I'm sick of Windows (surprise) so I want to switch to Linux on all my machines (two Laptops and my Desktop).

BUT: I unfortunately rely on Windows Software for CAD work.

THE VISION IN MY HEAD: After building myself a nice ARCH on my Laptops I want to have ARCH on my Desktop as well and then run the Windows Software in a Virtual Environment with Hardware Pass-through.

THE PROBLEM: I have no experience what so ever with Hardware Pass-through and little experience with virtualization... My experience with ARCH is limited to what I learned while installing and configuring it on my laptops and I think that this could be a little over my head

MY QUESTIONS:

  1. Can anyone tell me if what I have in my head is possible at all? Or are there better alternatives to be considered?
  2. Has anyone of you ever tried something similar and is willing to share his experiences with me?
  3. Can anyone tell me where to educate myself on the topic properly?

Thanks in advance and let's see if this works :D

L1NUS out

2 Likes

Alright, let's work through it. What does your available hardware setup look like for your desktop? You're going to need at least two GPU. (iGPU included) You'll also need a CPU and motherboard that have IOMMU support.

For a more detailed walkthrough, have a look at this guide written by me. It will explain the tech behind passthrough.

3 Likes

1 Yes it is possible as long as you have the necessary hardware and plan it all out....better alternative? depends on your needs, dual booting is always a option and requires less intense hardware, but dual booting doesn't give you the option of running both host and guest systems concurrently which is one of the advantages of hardware pass through that some people need and want.

2 Yes, myself and others on the forum run a desktop with hardware pass through, myself I run Fedora as a host system and Win 7 as the guest..... there are hurdles to jump and problems to over come but in the end for me I couldn't be happier and I'm in the planning stage of my next rig that I will be building in 2017, it will also be a pass through system.

3 See the link that @SgtAwesomesauce posted above to his guide....if you have questions after that just ask and we will try to direct you to the correct source or answer it ourselves.

3 Likes

For the record, I've got it working on Solus now. I had to compile in the ACS patch, but this goes to show you that it's possible on any distro.

4 Likes

Thanks guys! I checked and my Setup has IOMMU support BUT I don't have two GPU's.
This Problem should not be too difficult to solve though.
Working through the guide right now and hope to be wiser afterwards :)

1 Like

What's your CPU? You may have an integrated GPU that can be used for the time being.

I run an FX 9370. So no Integrated GPU ;)

1 Like

Ah. :/ check the buy sell trade category on the forum. Someone may have a used midrange GPU for sale.

I'm using a 8370 in a all AMD build, I use 3 GPUs all are R9 270s they are cheap but older tech and still work fine for most games, the GPUs are one 270x for the host system and two plain 270s in crossfire for the guest system, biggest issue I've had has all been with the inconsistency of AMD's video drivers in the guest system but it is nothing different than other people have to deal with on a bare metal windows install.

Which mother board are you planning on using?

1 Like

I have an AMD build as well
In my current desktop I am using an FX 9370 on an M5A99x pro 2.0 motherboard and an R9 290.

So what I want to do should not be too different from what you are doing. I'm glad to hear that the only inconsistencies you are experiencing have to to with the drivers.
I just have to get myself another R9 270 or some other card for my host system right?

1 Like

When I first tried this I was using a M5A97 EVO R2.0 which is/was suppose to support IOMMU, but as myself and a couple others found the IVRS table that the BIOS uses doesn't support IOMMU propperly for hardware pass through, a Beta BIOS was all that was offered by Asus as a solution and it was so out of date that it wouldn't work on my MB, I know Asus took a lot of flack over this and hopefully your Pro board doesn't suffer the same fate.

This link will give you a little insight...

https://lists.xenproject.org/archives/html/xen-users/2013-05/msg00485.html

As far as problems once I got a MB that would work, they were all confined to usage and shared devices like a NIC and sound card that I originally shared virtually between the host and guest, both suffered latency because of the two systems taking and giving back control of the hardware, the shared NIC made on line gaming impossible but wasn't much of a issue playing games locally as long as the game didn't need net access, the sound card had enough latency that even Windows event alerts lagged the event, gaming was horrible enough that I just played without sound in most cases.

The solution to both was to give the guest it's own NIC that I passed through same as the GPU, at the same time I passed a entire USB controller to the guest also, this allowed me to buy a cheap USB sound card and connect it to that controller for the guest to use...solved the latency and both are happy now.

I look at both of these issues as just fine tuning the guest, it worked before just not as well as expected...lol

There are other issues you will encounter, like cooling, power, monitors, etc, all are things that need to be considered before building so there are no surprises, I will say this is one of the few applications that will truly use the full potential of your 9370, when my KVM is running (all the time) I see all 8 cores of my 8370 being utilized sometimes to 100%, mostly it's the cores passed to the guest that are maxed out but it depends on what the host is doing at the same time.....because of this I use a Corsair H100i to cool the CPU and it works fine.

Power consumption is another issue you need to plan out, we know your CPU is power hungry and as you add GPUs you need to take into account their needs also leaving you with some margin for error and later expansion of the system. I used a Seasonic 1050w PSU probably a couple hundred watts more than I needed I think I originally calculated a 850w would be fine but went with the bigger PSU just to have a upgrade path without buying another.

You will of course need two monitors, the more you like to multi-task between the host and guest the more reason to have more than two...lol (I run 4 monitors)

I will tell you that I have played many games on my system without issue, that is up until I bought Just Cause 3, everything I have played up till that game I could play on normal or high settings, JC3 I had to turn everything down to get it to run semi-smoothly, on max settings it just brought my system to a crawl, I'm assuming this is a video driver issue since I'm using the15.x AMD drivers and upgrading to the newer driver stack may solve some of it, the current driver is 16.12 so I'm quite a ways behind.

2 Likes

Hey there! sry for beeing absent from the Forums. I was pretty busy earning myself a degree in Mech. Engineering ;D
But nevertheless I got at least some things figured out in the meantime:

I'm on Linux now (Arch) on all my machines and as you probably now it's pretty easy to get lost in the customization :smile: and since I wanted to have some extra stuff like encryption, snapshots etc., things got time consuming pretty quickly. But I've learned a lot and I'm way more confident arround my Linux Systems now

I was able to get myself another GPU for free. It's an old Saphire HD6850 which should be ok for my host system right? :sweat_smile:

And I've got another Monitor as well.

So I'm reading myself into the topic again and I hope you guys are still with me if I should need some expertise :wink:

1 Like

Glad to hear you're back. I saw you liked my guide, if you have any questions, feel free to ask. I'd be happy to help out.