3 ms·
If you're running Windows to play games, you need your virtualized Windows to be able to take 100% control (or close to 100%, anyway) of the GPU to get equivale
by smacktoward 8y ago
If you're running Windows to play games, you need your virtualized Windows to be able to take 100% control (or close to 100%, anyway) of the GPU to get equivalent performance to playing the same game on Windows running directly on the hardware. This "GPU passthrough" turns out to be complicated to do, particularly on VirtualBox, which ('cuz it's free) is the virtualization platform your average hobby user is likely to be using.
(Which is too bad, because I would love to be able to stop dual booting just to be able to play some games.)
- jackhack 8y agoI've found the performance penalty in practice to be only a few percentages, since virtualization is supported at the hardware level / HyperV. Essentially undetectable. YMMV. Parallels Desktop and/or VMware Fusion are superior (IMO) for GPU passthrough, but virtualbox can work. As to why someone would want to run this; there is a case where dual-boot is the only alternative : the practical difficulty, if you're a developer who runs Docker -- it doesn't play well with VirtualBox. https://forums.docker.com/t/running-docker-and-virtualbox-on-the-same-machine/23578/7 https://forums.docker.com/t/running-docker-and-virtualbox-on... In this case, a dual-boot is a superior solution.
- Nullabillity 8y ago> As to why someone would want to run this; there is a case where dual-boot is the only alternative : the practical difficulty, if you're a developer who runs Docker -- it doesn't play well with VirtualBox. https://forums.docker.com/t/running-docker-and-virtualbox-on.. https://forums.docker.com/t/running-docker-and-virtualbox-on.... Not quite. That only applies to "Docker for Windows/Mac", while a developer primarily running Linux would presumably run native Docker. More generally, the actual problem here is that there can generally only be one hypervisor running at a time, since it grabs exclusive control of some system resources. Docker itself isn't a hypervisor, but DfW/M use the native hypervisor of their respective OS (Hyper-V and Hypervisor.Framework, respectively) to run the Linux distro boot2docker (where the actual Docker Engine is ran), and neither of those like to coexist with Virtualbox. There is also the older Docker Toolbox (for both Windows and macOS) that used Virtualbox as its backing hypervisor, and so will happily coexist with other Vbox VMs. But all of this is about coexisting hypervisors at the same "level". Some hypervisors (such as KVM) support nested virtualization, in which case you could run any (one) other hypervisor inside a VM managed by that hypervisor. For testing purposes I have ran DfW inside KVM, and it worked fine (if a bit slow).
- morrbo 8y agoApparently a eGPU will solve this. Plug the eGPU into the host machine/laptop, pass through into the windows VM, and itt'l work (apparently) without having to mess about with, well, anything. Would love to hear if someone has actually had any success with this approach.
- penagwin 8y agoThis sounds cool except eGPU passthrough setups generally cost more then the GPU people want to use no?
- Nullabillity 8y agoeGPUs won't help at all there. If your chipset and CPU support IOMMU virtualization (generally any Skylake+ or Ryzen CPU will, chipsets tend to vary more) then you can already do it with your internal discrete GPU, otherwise those will block it anyway. However, even then the GPU's PCIe slot will need to be in a separate IOMMU group (generally only the case if it is connected directly to the CPU, bypassing the chipset, usually the case for 1-2 slots per mobo at most), which I strongly doubt Thunderbolt slots would be prioritized for.
- bhhaskin 8y agoNow there is Proton by Valve. it's a wrapper for wine and a few other components. Most games just work now. There are of course some exceptions like ring of elysium doing kernel patches for ring zero DRM and Anti-Cheat. But I would say 90% of my steam library just works out of the box. https://github.com/ValveSoftware/Proton/ https://github.com/ValveSoftware/Proton/
- rolleiflex 8y agoIt's not even just for games. I test my app (Aether, https://getaether.net https://getaether.net), on a Windows VM, and I noticed that the performance characteristics of some apps change if you do that. Some parts of some apps can slow down two orders of magnitude, especially if it's doing anything related to painting frames. I can do dual boot, but then I lose my dev environment, it's valuable to be able to apply a patch, compile a new version and try it on the Windows machine. I finally gave in and ordered a Windows desktop box for testing yesterday.