Can anyone recommend me a setup to virtualize Linux under Windows that runs smoothly?
I by now have wasted far too much time trying to setup a VM on my decently decked out machine (i5 13600KF, RTX 3080, 32GB DDR5, Win11 on a 4K Display) to run some kind of Linux in there that runs perfectly smooth - mostly for Development purposes.
So far I have tried all 3 major vm hosting softwares for windows (VMWare, Hyper V and Virtual Box) along side various (admittedly beginner friendly) distros (Ubuntu, Debian, SUSE, Mint, ...) yet I have not once gotten a System up and running with smooth animations and no notable input latency. Also I have of course turned on Hardware virtualization in my bios and benchmarks usually show that CPU performance seems to be where I expect it.
So I wanna ask the community what setup they are using under windows that just runs any kind of Linux smoothly and what point I may be missing.
Also installing Linux natively is not really an option for me since I want to be able to run Multiplayer games and I still consider myself a Linux beginner and don't wanna commit to install Linux directly on my host machine yet.
Have you tried installing the respective agents inside the VMs that assists with the guest interfacing?
In VMware: VMware Tools
In Hyper-V: Linux Integration Services (LIS) or hyperv-daemons
In VirtualBox: Guest Additions
These generally help with the mouse input lag and host-guest interfacing that can be sometimes slow in virtual consoles, etc. I don't know to what degree you consider 'perfectly smooth', so you may be talking about something beyond that but I hope it helps.
I suggest trying Windows Subsystem for Linux. You'll get a simpler way to get familiar with the command line, which is the important part if you're interested in development.
That or dual boot, you don't need to set aside a large partition for messing around.
I respectfully disagree, as someone who's tried both WSL1 and 2, I'd avoid it. Not only does it not replace the experience of a proper Linux install, you run into weird issues or quirks that's caused by WSL, which is the last thing that someone new to Linux and trying to code at the same time, would want to experience. In my case, I had an issue with my Arch WSL2 install where the network would stop working for some weird reason. Tried a bunch of things, nothing worked, in the end I gave up on it because I wasted too much time on it, when I could've just used Hyper-V instead - which I did, and had no issues (which was also weird, considering WSL2 uses Hyper-V in the backend). Then the other weird issue was trying to clean up my broken WSL2 install - no matter what I did, I couldn't get my Arch install out of the wsl --list --alllist - even though it didn't actually exist anywhere.
And in case you ask, yes I did try other distros too, had the same issue with the network.
The whole experience left me with a bad taste in my mouth, like it was some unfinished beta product.
I use it daily for work and play, I agree for the longest time it had oddities around networking and file io specifically where it would be wonky, but honestly all that is smooth at this point. I’ve even had an entire gui running on mine after installing X11 and something like gnome-desktop
That's odd! I had no issues with the stock Ubuntu install. Installing CUDA on a Windows machine requires WSL2 now, but I didn't really use it for anything more than that, so I could've just not used it enough to find problems. As soon as I finished the semester that required proprietary software, I got rid of Windows entirely though.
IMO, as long as you get comfortable with the basics like navigating directories and moving files, installing and updating software (first through something like apt, compiling stuff manually isn't necessary at first), and managing some basic bash settings like aliases, you're pretty much set. At least, from a programmer's standpoint.
I dunno how well versed OP is in computers overall is the thing. The above is a good baseline, but you need a general understanding of how operating systems work in general to be really comfortable with something like Arch. Like you gotta know what a driver is before you can troubleshoot issues with your hardware, or if you're managing disks it's good to have an idea of how filesystems work. But that all comes with experience.
In VirtualBox, did you turn on 3D acceleration and turned up the video memory? Just an idea. Also VirtualBox 7.0 has issues with graphics currently, maybe you could try 6.1. Also make sure there's enough RAM.
Also turn off Hyper-V if using Virtual box. If you check out the documentation there's some warnings about possible poor performance when Hyper-V is enabled.
An alternative choice is having an external drive formatted for Linux, and setting up the bios to boot to linux if the drive is plugged in. Doesnt require any modifications to the windows drive, and allows you to run Linux natively when you need to.
This. There really is no perfect solution for VMs; I went from a VM to dual booting to full time Linux with a Windows VM that I never even touch anymore. Ironically, Linux VMs work very smoothly on Linux hosts due to opengl support.
If it's for development, turn off animations. And use XRDP or something instead of the hypervisor console. Hyper-V and VMware Workstation should be fine.
I used Virtualbox manjaro on my tablet recently and it worked pretty well. If you want to be switching between windows and linux i recommend trying out the Seamless mode, it let's you use the apps as if they were just other windows.
As to how, just make a new box, name it, select the iso, set the ram cpu and hdd to whichever level you are willing to allocate, and run it.
You can use Linux in Dual boot, then you can select to start Linux or Windows if you want play.
Alternatively make a life USB with a Linux distro and then you can use Linux, booting from the USB. Using Linux in VM isn't a good Idea, more if you don't have a lot of RAM, because then are working 2 SO at the same time.
Well, even so, it is preferable to use dual boot, or a life distro on a pen drive. You can also use this distro, Q4OS, it has an own windows installer with several options, you can install it like an normal app and also desinstalar it.
https://q4os.org
I'm in a similar spot, trying to setup a Linux dev vm (in vmWare). I'm my case, the performance is fine but when my host machine goes to sleep the Linux vm locks up tight.