I saw from a post that you can basically host your own mini windows inside of linux to play games with, and you can choose what to share with that little windows so microsoft can't track you in any way. Does anyone have a tutorual/guide for that? Also what Distro would be best for it?
What you're probably referring to is running a virtual machine with VFIO passthrough. I hate to be that guy, but this is one of those "if you have to ask for help, you probably shouldn't do it" kind of situations. It's complicated and easy to mess up, requires a decent amount of knowledge of both Linux and Windows, and every situation is unique. There's no cookie-cutter way to set it all up.
But if you're willing to buckle down and learn anyways, the best way would be to do it from scratch. This is the best documentation I'm aware of on the subject, but it's tailored heavily for Arch Linux, a rather advanced distro to use.
Just a thing to note, if you’re considering virtualizing windows to play games that have anti-cheat software like BattleEye if they notice you’re virtualizing windows it might ban you. You’re almost better off using the other advice here and using proton with those that support it. For things that don’t you probably will have to flip the setup around and have the base os be windows and virtualize Linux :(
It's pretty advanced. You'll need 2 GPUs (so gaming laptop or gaming PC with at least 2 graphics adapters) and some more advanced Linux stuff like editing kernel/boot configs, messing with drivers, and BIOS settings.
Look at BlandManStudios on Youtube, he has a bunch of tutorials on this. But make sure you back up your system because, like I said, it's not a simple setup.
Not sure what you mean. You can virtualize a whole windows machine but that will NOT be good for performance.
What you really want is a compatibility layer than maps syscalls to your linux kernel and emulates a windows filesystem. I'm fairly sure that's what Wine and Proton do, but am no expert.
If you install steam (on most distros) it should also install Proton to play games with (check ProtonDB for which games work well). Again no expert but maybe this helps a little.
It will still be subpar performance, bottlenecked by the CPU resource you can allocate to the VM as well as your original hardware's capabilities to power the VM among many other variables. Running a VM to game will always produce subpar results. Using GPU passthrough will increase performance, but it's almost always preferable to play on real hardware.
The real answer will always be: if you want to game on Linux, utilize Wine/Proton and Steam/Lutris/Bottles/Heroic/some other launcher that lets you fine tune Wine/Proton to cater to the specific game.
Thank you everyone for all the lengthy and informative replies! I appreciate them all. I'll probably go with gaming normally on linux and not do anything fancy
As the other comment says, what you're referring to is running a Windows VM (virtual machine) inside of your Linux machine. It's a great asset for a lot of things, but gaming is not it's strong point. A VM shares resources with it's host machine, meaning it can only access so many of your CPU cores, utilize only so much of your RAM, and take advantage of CPU powered graphics -- unless, as was pointed out in another comment, you happen to have a spare graphics card laying around. The set up for GPU passthrough is more trouble than it's worth, IMO, especially for gaming. And you still have the other bottlenecks to contend with.
Gaming on Linux is best enjoyed by using a combination of Wine and Proton (Wine suped up for the express purpose of gaming by the fine folks behind Steam) paired with a launcher of some kind, usually Steam. For non-Steam games, Lutris is a fantastic second choice. These platforms make gaming on Linux easier than ever, and are actually the technologies powering the SteamDeck. If you decide to go this route and need any help setting up, please reach out! The community is here and (usually) quite helpful, lol.
If you decide to try the VM anyway, you should look into a software called VirtualBox. You will need to install a few packages to make your system a suitable host, and you'll need the Windows installation ISO image to get it up and running. You can usually acquire it directly from Microsoft by running a search for "Windows XX ISO" where the XX is the version number you're looking for. If you need help getting any of that together, I'd be glad to assist as well. ☺️
All this comes from years of running Linux and only Linux, on a PC I almost exclusively game on. I've had great success, especially with all the headway Valve has made into making the ecosystem viable and accessable.
However you decide to proceed, best of luck to you!
EDIT: As has been pointed out, if you want to virtualize a gaming setup, you should look into KVM, not VirtualBox! It sounds like it's a much more performant option, I am just not very familiar with it myself.
Because it's accessable, and is also the extent of my knowledge in running a VM. I won't speak about KVM because I am not intimately familiar with KVM, nor will I ever be. I'm certain it's a better solution than VirtualBox, just as running games in Linux with Wine/Proton is a better solution than setting up a VM to game in.
I'd be happy to hear about the details of why KVM is so superior, if you'd care to enlighten me! I'm always looking to learn new things.
The real question is why we're down voting people who are adding to the discussion just because we disagree with them, instead of just having a conversation?
thank you for the lengthy reply! I think I'll go with alternative options and not to virtualize windows, because I don't have a separate GPU that I can pass in, nor a second monitor.