Help me get some things straight with Ryzen running Fedora + Windows VM (future build)

I am planning to upgrade to a Zen+ 7 series CPU and an X470 motherboard some time in Q3 2018.
I want to run Fedora as host with an AMD 7950 and a Windows 10 VM with a Vega 64.
It will be my first time properly running Linux and not just fooling around with it.

What kind of Hypervisor is used in that scenario? I hear Wendell talk about QEMU/KVM but I am quite ignorant what those two are and how they work.

Do I have to have dual mice and keyboards or an actual hardware KVM switch?

Is there any way I could also boot off of the Win 10 VM if I wanted to?

I want Fedora for basic browsing and stuff and Win 10 for gaming and Photoshop/Lightroom.
Would a TR 1920X or its Zen+ refresh be of any more benefit for my use case? The most CPU intensive multithreaded task I do is stitch panorama photos in Photoshop where my 4770k feels slow. Would simple Dual-Booting actually be better because I can get away with a Ryzen 7 and use all of its cores when I need to and also scrap the 7950?

If budget allows, I am going to buy two NVMe drives. If not, I will repurpose my Samsung 850 for one of the OSes. Which OS would you install in each drive?

I probably have to build a NAS so I can share basic storage between the two OSes, don’t I? I was thinking of buidling a small 4 drive Striped Mirrored Vdev’s ZFS box at about 8TB but that is a topic for another day.

Judging by the X370 mobos, which manufacturer should theoretically have the most headache-free virtualization and passthrough?

What would you do? Any recommendations are extremely welcome.

It looks like you are asking multiple questions here that may conflict with each other.

What is QEMU?
https://www.qemu.org/
Simply put, QEMU is the ability to emulate a system, platform, and/or cpu micro architecture on your current system. You basically are emulating with some virtual machine functionality.

What is KVM?
https://www.linux-kvm.org/page/Main_Page
KVM is Kernel based Virtual Machine. This is the linux kernel’s virtual machine framework built directly into upstream. This is how you actually do hardware pass through.

What is Virt Manager?
https://virt-manager.org/
This is the basic GUI that you can use to create, configure, and manage virtual machines created with KVM and QEMU.

What kind of hypervisor to use?
Well the default one with the most benefit is KVM. Particularly if you would like to use it for GPU pass through for gaming with Looking Glass. You could also user Oracle’s Virtual Box, XEN (The other linux based VM), VMware, and a few other products out there.

KVM is most powerful but could be daunting for a first timer. Wendel has created a few guides and most of us have used KVM in the recent year to provide assistance (but search the forvm first please).

Do you need dual hardware?
You only need an extra of something if you intend to pass the hardware through to the VM. Otherwise no.

TR or Ryzen?
This will really depend on your application. The IOMMU groups of Ryzen suck to be quite honest. IF you plan on running 2 or more VMs with hardware pass through, then TR would be the better solution. For the use case that you provided, I think that you will be fine. Search the forum for recommended hardware as there are a crap ton of people who are documenting their Zen journey, having never used AMD in the past.

I am hoping that AMD fixes the IOMMU grouping with Zen+. I am running a Sabertooth 990FX 2.0 motherboard from ASUS with the AMD FX-6300 CPU (6 ish hardware cores) and everything on this motherboard is on its own IOMMU group. I don’t understand how AMD overlooked this with Zen

Dual Booting?
You can dual boot. You can also pass through a storage device to the VM. Think of it like this. You may want to spend 90% of your time with Gnu/Linux and only use MS Windows occasionally (2-4 cores/threads for gaming?). But there are times where you need to do a more demanding task in Windows and you need all cores and threads. You can setup dual booting with this device and have the best of both worlds. Again this has been covered in one of the many threads and one of Wendell’s tutorials. I would recommend this option until you can fully ween yourself off of the MS Windows platform.

1 Like

Hi @sotiris_bos I agree with pretty what @Mastic_Warrior said in his post but thought I better caution you against using Oracles VirtualBox, or Xen as your hypervisor. Both run great on any latest Windows Operating Software, but there support for any distro of Linux is very poor. While it is theoretical you can get both to run on any distribution of Linux, it can be a Valley of Tears expressly if you don’t understand how both Hypervisor work and how your Linux distributions works.

I have never had issues with virtual box except for seamless mode when dealing with some versions of MS Windows (8 and 8.1).

Xen can be a challenge and I think this is how the paid support justifies itself.

What I had trouble with In regard to VirtualBox was getting the VirtualBox’s Guest Addon to install properly on any distribution of Linux. I even went so far as to ask for help from Ubuntu forum, but the attitude I got from their community was if I didn’t know how to set it up properly, I shouldn’t be using Linux. The same attitude that Redit has, so I gave up on VirtualBox and use KVM.

I will tell you that kvm is much harder to use. You are definitely above noob status if you were able to figure out kvm.

Well I just followed a guide on line I found and just kept messing with KVM, until I got it to do what I wanted. The trick is to setup everything in a virtual machine first. That way you can just start over if you mess something up.

@sotiris_bos My advice to you is if you are completely new to Linux I would set up a free hypervisor in Windows, set up a Linux guest machine with whatever distribution of Linux you want to try. Then after a few months, if everything goes fin go ahead and install your Linux distribution on a separate drive, get more comfortable and after a few more months go ahead and switch completely from Windows to Linux.

1 Like