Preferences

Is it possible to run several OS' on a single machine with fast switching between them, access to all hardware, and at full or almost full speed?

simonh
Up to a point. There's Hardware Partitioning in which the hardware allows you to specify which processors or memory are dedicated to which OS but there's little dynamic sharing. The only real way to do dynamic resource sharing is with software virtualization (which does still require hardware features, but many platforms support this nowadays) where either the OSes run under a Hypervisor layer, or one OS runs in a virtual machine running as an application within another. Arguably the latter is just a variation on the former. Or vice versa depending who you ask.

https://en.wikipedia.org/wiki/Logical_partition http://www.computerworld.com/article/2593387/server-partitio...

Keyframe OP
So, what would be the best solution to run three (Fedora, Windows 8 or 10 and OSX or more) OS' under a common hypervisor and achieve (almost) full speed? Or alternatively, Fedora as main and the other ones as VMs, but also with (almost) full speed and graphics acceleration.
simonh
You're not going to get full speed, but it depends on what you want to be fast. Graphics intensive activities are going to be constrained by the specifics of the design you go for. Apart from that the biggest constraint is memory since every GB allocated to one OS will by definition not be available to the others. However CPU support for virtualization is pretty good these days. Most of the i7 and i5 CPUs have built in instructions to make it pretty efficient for processor tasks.

Personally I have a 2014 5K iMac i7 with a fusion drive. I have a Fedora VM on it I run occasionally. I run it using Virtualbox which is a free virtualization system. I've allocated 4 GB of memory and it's very performant. It's a great way to try out virtualization at home and you can run Virtualbox on Linux, OSX or Windows as the host OS.

Keyframe OP
Crap situation for me then since I need CPU, GPU, and RAM to the max for Video and 3D DCC apps.

Somehow, I thought there was this magical hypervisor that would give all to one OS that I could use and then, out of nowhere, I could switch to another OS in a way that first one would go to sleep and its memory put on hard drive and the other one would wake up its memory from hard drive and show up. I wouldn't need them running concurrently, but I would like to have them switch fast.

In a way I would like to consolidate three machines into one without having to run three machines or wait for shutdown/boot sequences (with multi boot).

Bonus would be to share disks (non boot ones) and copy and paste. That would be really great.

zymhan
A KVM Hypervisor would be ideal, in my experience and opinion. Using the virtio drivers will give you great performance for virtualized devices like disks and NICs, and you can also directly attach devices and use PCI passthrough to achieve full-native performance for a device in the guest OS.
stuaxo
Using Vmware, and passthrough for the videocard you can achieve this with Linux as the host and Windows as the guest.

Not sure if it's possible with OSX.

What we really need are video drivers for OSX, for virtualbox and/or other virtualisation solutons, so OSX as a guest can work really well.

creshal
And you can't easily switch between several virtualized machines like that. Windows will bluescreen if you remove a graphics card while in use, and I'm not sure OSX/Linux guests will fare better.

Passthrough only really works reliably if you only have one guest active at a time and never try to use the graphics card from the host.

snuxoll
Suprisingly OS X actually has decent support for a wide array of video cards out of the box, all of the AMD GCN 1.0 (7000 series and the R7/R9 2XXX rebrands of them) work out of the box as does the R9 290X/390X, along with a bunch of the older HD4000-HD6000 cards. NVidia provides native drivers for all their cards online, and if you're using an Intel GPU that was ever in a Mac it has support as well.

Of course, it's in violation of the macOS EULA to run it on non-Apple hardware in the first place, but you'd be surprised just how much hardware it supports.

aruggirello
VGA passthrough is also possible with KVM. I wonder if Oracle has any plans to add it to VirtualBox? It seems they have made room for KVM support, so in theory they could.

I have seen all OSX versions from Leopard to El Capitan successfully running as a VB guest, but the graphics support has always been bad, since there are no Guest Additions for OSX (BTW this also means no bidirectional clipboard, drag & drop of files, etc..)

VMware only has passthrough support for ESXi/vSphere. Not for VMware workstation or VMware Player. So unfortunately not with Linux as a host.

For the record, VMware Fusion also does not support PCIe passthrough.

chrisper
OS X has official Nvidia drivers.
xienze
Of course. I run ESXi (bare metal hypervisor) with various Windows and Linux VMs running on it. One of the Windows VMs even has my GPU passed through to it and gets near-native gaming performance.
newman314
I'm assuming you are using an AMD GPU?

The last time I looked, there were significant challenges with getting a Nvidia or iGPU to work.

mastax
The issues I know of with GPU passthrough are:

Non-Quadro NVIDIA cards don't want to work in a VM so you need to disguise KVM to get them to work. NVIDIA says this is a bug but I think they just want you to buy quadro cards. [1]

AMD Bonaire and Hawaii architecture cards have issues with resetting in a VM, so you can't let the VM go to sleep or shutdown. Newer (R9 480) or older AMD cards don't have this issue. [2]

[1]: http://vfio.blogspot.com/2014/08/vfiovga-faq.html?m=1 [2]: http://vfio.blogspot.com/2015/04/progress-on-amd-front.html?...

(not my blog)

virtuallynathan
They don't want to work, but they do. I have no issue with my GTX1070 after a few minutes after playing with some KVM settings.
xienze
Do you have a source that confirms that the 480 doesn't have this issue? I currently have a set of scripts that disable/enable my 380X automatically when my VM stops/starts and I would love to get rid of them (and get a new card as well).
xienze
Yes, AMD. I would prefer Nvidia, but it is what it is.

This item has no comments currently.