I'm going to make a case for the opposite here.
The quick answer to why is windows driver support and how good Vmware is at passing hardware resources to the guest.
I spend 70% of my time on my computer inside a VM. The VM gets 10 of my 16gigs for ram (could possibly stretch it a bit more but as people say Ubuntu doesn't need as much ram) and access to all my CPU cores as well as giving it 3d acceleration and 3gigs of Vram.
Some of my development tasks run faster in this VM than they do natively in windows.
(eg docker containers and unit test run up to 6 times faster than a native windows setup)
Ubuntu is awesome and sometimes think what if it had all the hardware to itself? 🤔 Every now and then I decided I should try installing it as my main and see if it has gotten easier to set up. My experience so far has been painful.
Every time I install ubuntu as a main I spend ridiculous amounts of time just trying to get it to work as good as it does in a VM with some drivers making it unstable, run slower and not to mention wasting a truckload of my time. And then hoping to open windows in a VM to run a game or something CPU or GPU intensive, how can I expect it able to run well when the host OS can't even use the hardware properly.
Plus the fact that my development OS in the VM can be easily encrypted and easily copied/moved around to other machines along will all my work and configs and customized plugins.
The VM inherits the following advantages of windows driver support with no setup required:
- Freesync / Vsync (i get screen tearing in native ubuntu)
- You can use Logitech software for all your Logitech gear.
- Wireless headsets
- specialized keyboard software and macros etc all working because they are supported in windows out of the box.
- 144hz (partially see below)
- wireless displays casting can be done in windows
- entire VM can be encrypted without having to setup native encryption
You can only run the VM at 60hz which is a downside however, somehow the mouse movement is still buttery smooth typing is responsive even if the app windows inside only refresh at 60hz. (don't ask me how this is working)
Another plus is when you need to say run several versions of PHP and apache and maybe an android app you can easily just do it all. I've still haven't found a way to hot-swap apache and PHP and MySQL on ubuntu at all let alone as easily as windows can.
Or maybe you need DirectX for some game development project on the side or many other scenarios where ubuntu just can't do it without up to a week of stuffing around and it's not going to run as fast if windows is inside the VM under Ubuntu.
And then when you feel like a break, just suspend your VM and open AAA game titles running at max capacity, 144hz with free sync and all your custom gear working perfectly because is all run faster in windows albeit at the cost of an extra gig of ram being used meh.
I have 16g/ram and I give 10g to the VM and windows still has enough for steam downloads, discord and a heap of other game launchers downloaders and even a web server running in background tasks to run while I'm working in the VM.
When I finish work I close the VM and get straight into my games or just stay in ubuntu and work on my own things.
There are some cons tho:
- scrolling in Ubuntu inside the VM on some apps such as chrome doesn't work while the mouse is moving. (Firefox doesn't have this problem) You have to stop moving the pointer and then scroll which is pretty annoying. I get around this by just using Chrome windows on another screen and full-screen ubuntu in the other. Or just use Firefox.
- multiple screens can bugout sometimes and you have to stop VM using them exit fullscreen, go back to fullscreen and then tell it to use your extra screens again.
- you are wasting up to 5 gigs of ram.
VMWARE VS VBOX?:
Vmware is def superior to work in compared to Vbox purely because of the GPU performance and the ability to give it 3gig of VRAM.
Vbox is better if you're not fussed about graphical performance, don't want ubuntu's animations and want to frequently switch between windows and fullscreen Ubuntu with host key shortcuts. Plus it also has snapshots feature where u can save the machine at multiple stages and just boot up a previous state if something goes wrong. ( if Vbox had the same Graphical performance as Vmware I wouldn't consider VMware at all )