You can even run several VMs with several GPUs at the same time. Essentially you can have 2+ computers at the price of one.
You can even run several VMs with several GPUs at the same time. Essentially you can have 2+ computers at the price of one.
Of course, a lot of HD content can run with very modest specs (as long as the codecs are accelerated on the GPU), but for occasional content that requires CPU decoding or players/sites that aren't yet supported on standalone devices (Apple TV, Roku, etc), it's a really nice solution. Plus, it keeps each TV very clean in terms of cables and hardware.
I've done hackintosh on bare metal in the past, but even if I were setting up a single-headed hackintosh now, I'd still go the VFIO route - it makes updates much less stressful since you can quickly roll back to a snapshot if you break something.
- Hardware (which is dated now): Asus Z87 Pro with i7 4770, 16 GB Memory, 4x AMD Radeon 6450 cards (< $20/ea used)
- Proxmox/host config: vfiobind the PCI device IDs for graphics cards on boot, slightly modified pve-q35.cfg (workaround for some OS X issues on q35), using fairly standard VM args for booting OS X
- GPUs work fine after a standard OS X install, but to get audio working over HDMI, I needed a couple of edits to my DSDT (basically just inserting a GFX0 device with "hda-gfx" = "onboard-1", a standard HDAU device, and a DTGP device), and boot with the Enoch bootloader (this can be specified in the VM args to avoid having to install to disk). No extra kexts needed.
That's about it. Some of those things may no longer be necessary in the latest version of Proxmox (I haven't updated my base system in a while). Once I got things working, it's been completely stable for more than a year.
Depending on the environment, wireless devices could be used with separate USB receivers (e.g. Bluetooth adapters) for each screen (passed directly to the VMs), but the distance in my setup was proving to be a bit too far for a stable Bluetooth connection.
I'm just using some of my own scripts right now to configure everything and allow for some meta commands (things like powering on/off the TV, switching inputs, etc). I'd love to clean it up and publish it at some point, but just haven't had the time.
https://nixos.org/wiki/QEMU_guest_with_VGA_passthrough
https://www.reddit.com/r/unRAID
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVM...
I'd recommend going with NixOS and libvirt, but other communities such as around unRAID or Arch might be bigger.
https://gist.github.com/xaduha/226ff1b991bd54db09ff0bbd1df79...
snapshot=on option allows me to discard changes to the image with every launch, folders like Desktop, Downloads, etc are not part of the image.
When I do need to keep the changes I use a commit command, not mucking with actual snapshots anymore.
$ virsh qemu-monitor-command MAIN --hmp commit all
As for macOS VM, I haven't used one recently, but it's totally possible.
If you're not passing a real GPU then you're doing it wrong and shouldn't expect much anyway.
Also by default qemu/kvm only uses one processor core I think, what are using to launch it? A script?