For the longest time, I have religiously used Windows. I still remember watching my uncle play Command and Conquer: Tiberian Sun on his computer running Windows 98… or was it XP? Probably 98.
It was long ago but in India technology was 5-10 years behind whatever the latest consumer hardware that was available; at least for me and my family who were from a relatively small town. I’ve essentially been using Windows for ~20 years and it has worked well enough for me. I knew about MacOS and it looked nice but it was limited in terms of a gaming platform. Running a Linux distro just seemed too daunting and of course it too was quite limited in terms of any gaming (not the case anymore!)
I only started developing when I came to college and that’s when I started to become quite a bit more familiar with the other operating systems out of necessity for my classes. I began to really come to like MacOS for development and that was largely due to the UNIX-like shell and a good amount of applications that just worked OOB. So that left Linux. I had played around with Ubuntu once in a while but I never really saw the point of running it for myself as I did all of my gaming on Windows and development on MacOS.
That was until I learned about Type 1 Hypervisors!
You can read more about hypervisors but essentially, Type 2 Hypervisors rely on the Host operating system to manage system calls to the CPU whereas a Type 1 Hypervisor runs on bare-metal and thus giving you near native performance on your virtual machine. Linux has a built in Type 1 Hypervisor called KVM (CPU stuff mostly). This can be used in conjunction with QEMU to do hardware virtualization (disk, network, VGA, PCI, USB, serial/parallel ports, etc). You can read more about all that here.