back

by anderspitman·10y ago·view on hn ↗
For me, modern virtualization has gotten so good that it's my preferred solution. kvm, libvirt, virtio, and PCI passthrough et al have opened up a whole new world of possibilities. Currently still requires fairly specific hardware and kind of a pain to figure out how to make it work, but it's already very impressive.

This is still really cool though.

2 comments
Thing is you can't run Windows natively that way, it has to be a guest operating system. Then you need multiple videocards to pass through, and the guest operating systems require custom drivers at that.

My preferred setup would be Windows native, with macOS (ha) and Linux guests running with GPU acceleration—preferably in a manner that doesn't necessitate multiple videocards.

Too bad Apple is hellbent on locking macOS to Apple hardware. I'd totally license it otherwise.

>you can't run Windows natively that way, it has to be a guest operating system. Then you need multiple videocards to pass through, and the guest operating systems require custom drivers at that.

I, for one, think that sounds excellent. For a workstation, I would much rather host everything on a simple Linux distro with focus on security and privacy, and keep Windows in VMs where I can manage it a little better. And the Windows Subsystem for Linux will run in there perfectly if I need it.

Also, multiple video cards are only necessary if your guest needs that GPU power. Considering that having 2 video cards these days is surprisingly common (Intel on-board + separate video card), I'm wondering about the feasibility of easily switching between shared video (eg. when your laptop is on battery) and separate GPU passthru (eg. when you're plugged into your epic 16-monitor setup).

Yeah unfortunately there seems to be some issues when it comes to deinitializing and reassigning GPUs without hardware reboot. It seems like the type of thing that will get better as time goes on though. Assuming of course there's incentive for GPU manufacturers.
I'd prefer Windows as a guest OS too, but not at the expense of losing native performance.

Granted, Windows makes for a fairly terrible host operating system when you have to reboot it frequently on account of updates.

Yeah, I'm writing this without having first-hand experience regarding the current performance of Windows 10 as a guest. Apparently VMWare has good support for it, but searching for reviews on the actual performance only turns up a bunch of confusing, outdated rants. I'll just have to try it myself when I get the chance.
For gaming performance on kvm most people say about 95% of native performance when passing the GPU.
My setup would be native Linux and on top Windows/macos.

Using Proxmox as your host os you get a ZFS root filesystem with ZFS compression, SSD cache, Snapshots. Then you install Windows and maybe try to figure out if you can run MacOS in KVM.

The idea would be to leave the host system rather clean, and maybe even add a Linux guest in Proxmox.

Then in the host you just install a minimal xserver (maybe with i3) and log into your virtual machines via Spice/VNC/RDP. (Maybe add Zerotier on all guest for easy networking)

This way you can get all the benefits of ZFS and use the Proxmox backup functionality and do not have to reboot your system.

At least this is my plan for a new workstation setup. :) Instead of Proxmox, OmniOS (Illumos) together with pkgsrc (for xserver) might be an option.

(Sorry for typos. On mobile )

Do you have any more info on this?

I have to do some work on a Linux VM, but also need Windows for Office and a few other apps.

But the Fedora VM is much slower than the native OS, even with a good SSD and plenty of Ram. I could care less about games / GPU, but the CPU / disk IO is just much slower. I use VMWare Workstation, so maybe that's my problem.