What's the "best" free virtual machine solution for Windows?

It’s been some time since i actually ran VM’s under Windows. Mostly it’s been Linux or ESXi. In Linux KVM is what i always chose.
So what’s the “recommended” solution for windows? Is it virtualBox, or should i use Hyper-V? No big features are needed. Passing through a hardware SSD would be nice. Other than that, just virtualizing a Linux Machine.

Use hyper-V, yes.

2 Likes

It depends if you want/need hyper-v on for other things. These would include windows sandbox, wsl 2, docker(they do also have a virtualbox based version as well), and some of the advanced security features.

Virtualbox support for windows when hyper-v is enabled is iffy, although that could change in the next couple versions possibly.

So if you have hyperv on, use hyperv, otherwise it is your choice.

1 Like

Depends what you want to do. If you are running Linux with a desktop environment and will be using desktop programs VMware Player or VirtualBox will usually give you a much better experience than Hyper-V. You can also use both of these for free on Windows 10 Home edition, where as you have to have Win 10 Pro for Hyper-V.

Hyper-V on Win 10 Pro is good though, especially if you are building labs VM’s that you are not using desktop software on.

Vmware Player is missing many advanced features from the paid for pro version. Some features like snapshots are available in Hyper-V so there is also that to consider (although you can’t use those when passing a physical disk through under Hyper-V).

Any particular reason why running a Desktop on Hyper-V is worse than VMWare or virtualbox? I plan on running a Full fat Desktop VM for anything that isn’t gaming really.
I also do have Win 10 Pro. So Hyper-V is included. I guess i’ll just run both, Hyper-V and virtualbox and see which is better.

Yes, (at the risk of being out-of-date) Microsoft doesn’t treat the Linux desktop as a first class citizen so support for video features is weak e.g. you want to use OpenGL in your linux VM? ha ha ha… unless you are on Windows Server jog on. You want RemoteFX inside your VM, best make sure your VM is running Windows, etc.

On top of that the Hyper-V video driver is weak compared to what you can install into a VMware or VirtualBox Linux VM e.g. resizing your VM resolution to be greater than 1280 x 720 is/was a PITA. This improved when using > Ubuntu 18.04 and Win 10 1903 as that added xRDP support and can use an enhanced mode which helped, a bit.

You might find its now perfectly good enough for your needs, but if you decide to try Virtual Box disable Hyper-V first as it doesn’t play nice with other Hyper-Visors (when it’s enabled your main Windows install technically becomes a VM inside it).

One option if you do like and use other Hyper-V features is to use Moba Xterm or similar to access the VM. That now gives you an X Windows server on Windows, so just SSH into the VM and run the Linux app that way.

One nice feature is that if you pass an SSD through to Linux is that you should be able to boot directly off it as well if you ever need/want to. Lot’s of fun to be had :slight_smile: I did mean to write a blog article on getting the best out of Linux on Hyper-V but never got around to it…

Hyper-V enhanced mode - https://www.tenforums.com/tutorials/57136-turn-off-hyper-v-enhanced-session-mode-windows-10-a.html

Optimized Ubuntu Hyper-V images - https://ubuntu.com/blog/optimised-ubuntu-desktop-images-available-in-microsoft-hyper-v-gallery

2 Likes

I’ve been using VMWare Player for years and I’ve been really happy with it. If you get the a widely supported Linux distro for it you can install VMWare Tools which make the integration really solid. If you spin up a Windows machine you can even have VM windows inside the host desktop and it’s pretty handy. It can be a bit problematic when it updates, but overall I highly recommend it.

Ok, i’m giving all of this a try with the recent Fedora 31 release.
Virtualbox guest addiditons aren’t working for now, though i’m sure this is solvable.
I’m now installing on hyper-v. Indeed the Graphics performance in the live environment is worse than Virtualbox. I’ll see how it goes after installation.
I’ve used VMWare Player in the past. So if Hyper-V doesn’t work out, i’ll give that a go too. And yes, i know about the fact that HV and VMWare won’t work together. So i’ll be uninstalling Hyper-V beforehand.

Thanks for all the input so far.

To elaborate on the plan: Since i want to keep using Windows for gaming, and only have one GPU, the next best thing to running Linux on Hardware is running it in a VM. So, the end goal is to run Linux in a VM for anything that isn’t gaming, while keeping all of the native performance for playing games under Windows. And if i can get the SSD Passthrough to work, i can just reboot to full linux when i don’t need my Games.
This way i can install all the crap launchers and drivers and what not on windows while maintaining a clean work machine Linux for anything else. At least i hope that’s how it’ll turn out :wink:

Edit: Hyper-V was a no-go. No GPU Accelleration possible on Linux. Sad, but i’ll now try VMWare Player.

1 Like

virtualbox is my go to.

how are you installing it?

Have you tried just installing a DE into a WSL2 environment?

People don’t think about it but, yes, you can do that.

Then you just point it to a X Server running separately and natively on Windows, like @BGL mentioned. Though, I would go with VcXsrv.

I think this will probably be your fastest option, maybe by a wide margin.

Anyway yeah, you can’t get easy GPU acceleration in Hyper-V period anymore. RemoteFX is depreciated as of Windows version 1809. You can technically add the RemoteFX to new VMs using PowerShell still, and like Hyper-V manager says it will recognize and allow for its use, BUT the option to configure GPUs client side is also gone. Maybe there is also a method for this using PowerShell, I do not know of it.

Hyper-V can do pass through with DDA:


But as you might be able to tell it’s a bit complicated. AND it’s really only made for server grade hardware.


A consumer motherboard is likely to fail on every count using that test.

Does the free version of VMWare Workstation allow for adding physical hard drives? It still has the (rather quite good I might add) gpu acceleration once you install the client tools into the OS at least.

Regardless, I think going WSL2 is going to be your best bet. It’s very fast and avoids all manner of VM annoyances. Or if you really want to use a VM, use Hyper-V as it is type 1 and use the same idea with VcXsrv or even just RDP using xrdp.

2 Likes

Is there any help online on how to get the full DE running in WSL?
I have debian and ubuntu available as WSL. I installed the KDE task in Debian to try it. I’m able to connect with MobaXTerm and i can start individual applications (somewhat. Firefox works, dolphin doesn’t).

How can i get a full “RDP” like session to run?

So, some time later.
Turns out KDE was the Problem. No Problem getting XFCE to work. It’s rather unflexible though. Having to assign a display and either having to use all or one, but not two of three is a bit meh.
Also, no seemless mode really. Unless you start everything by hand through terminal.

WSL also looses the option to use an entire Hardware Drive just for the VM.

So, from my testing so far, VMWare Workstation Player seems to be the way to go. Although it also isn’t capable of using two independent screens. You can only have two right next to each other. Having left and right be Linux VM and Center Windows Host doesn’t seem to be possible. Unless i’m missing something obvious here.

mPYk5jr

yeah yeah :wink:
I’m reinstalling Fedora 31 in virtualbox atm to see where my Problem with the vbox guest additions where.

1 Like

you can install guest additions from rpmfusion.

1 Like

Good to know. I was following those instructions:
https://www.if-not-true-then-false.com/2010/install-virtualbox-guest-additions-on-fedora-centos-red-hat-rhel/

I’ve not done anything, so i’ll look into rpmfusion first now. Thanks for the heads up!

I mean, you can do that too, but kind of a pita. I havent used the rpmfusion guest additions so you might have to do that.