transitioning into linux for game development
recently I was having some trouble with windows, and rather than doing a reinstall I decided to make the jump to Linux Mint instead. for the past year I'd used linux mint on my laptop, but my desktop remained on windows. after that testing period, I felt confident in making the switch. the environment around big tech and surveillance continues intensifying, and as the years went on I found myself feeling less like my computer was made to serve me, and more like it was using me instead.
installing linux on my laptop was a breath of fresh air. it reconnected me with the excitement I had about computers from a young age. it felt again like a fascinating box I can tinker with and make my own to my heart's content. it feels more down to earth and stable, something built by and for the people that no one can take from us. that sense of community determination was a significant source of relief and empowerment. it's the early dream of computers and the internet, to empower expression and creativity and connection, becoming gradually (and imperfectly) realized on its own over the course of decades through the commitment of enthusiasts.
is it for you?
it's still not perfect, but after my recent experiences I feel like linux is a reasonable option for almost anyone. for basic computing (web, office) it is as frictionless an experience as using windows or mac. for development almost everything, including game engines like unity and unreal, runs on linux natively. FOSS (free open source software) is now frequently the best in its class and, linux being at the heart of FOSS itself, always runs on linux. gaming still has some friction, as compatibility layers like Wine and Proton still often require configuration, and that entails a learning curve. as linux becomes more normalized for gaming I expect this to change, with increasing availability of linux native builds. Valve, SteamOS and the Steam Deck are helping advance this at a mainstream level.
the area that I believe is prone to the most challenge is design software. adobe's suite is still not available on linux, and its alternatives are powerful but very different and less user friendly with less workflow optimization compared to what adobe offers. new alternatives are arising often and I believe it is only a matter of time until they mature more comprehensively, but until then this may be a point of compromise in a switch. a notable exception to this is video editing, which is quite capable on linux with tools like DaVinci Resolve. for personal use it's possible to adapt, but if your job requires adobe it becomes more difficult. options like a virtual machine or dual boot are possible, but it's a less smooth experience that could be an understandable deal breaker.
experiences so far
my biggest point of friction so far has been learning how to configure wine and proton. for games I have on Steam it's often plug-and-play, but for windows games I've downloaded it has required more manual tinkering. in some cases I can use Wine zGUI or Bottles and just launch an itch.io game I've downloaded with a click and that's it. in other cases I've had to tinker and figure out what version of proton will help something run the best. it's an adjustment coming from windows where most things just work, but for what I've gained it has felt like a worthwhile compromise.
one niche I haven't been able to replace is Super Display, an app that uses my Android tablet as effectively a drawing tablet for my computer. since the equivalent software doesn't really exist on linux, my solution was instead to draw natively in android apps and sync the files to my computer using SyncThing. in some ways this has been a more smooth experience than my previous setup, but there are still tradeoffs.
I've had the least friction in game development. since linux is by-and-for programmers in an appreciable way, its integration and steamlining of terminal features has been a more enjoyable experience than windows. and for game engines, they run the same as ever and were installed no problem.
another learning curve was learning about the different forms of package management. in windows, any program can live anywhere it wants and you just download things from the internet. but in linux, every distribution (that I know of) has a package manager you can download a selection of software from directly, and they can be bundled in various formats based on distribution and configuration. there's still the windows way of using and installing applications, but it's often not the most effective way, and most forms of distribution are made to integrate into your system's package manager system. there's .deb's, Flatpaks, Snaps, Appimages, raw executables (like windows) and bundles for other package formats (.deb is for Debian-based distributions, .rpm is for Fedora, etc.) if you feel overwhelmed, I did too! thankfully, they're all ultimately pretty straightforward to learn how to use.
my recommendations
linux mint helps smooth over this initial learning curve. it has a reputation for being the best entry point for new linux users and I think it's well earned. that said, I tried out a few other distributions while setting up my pc and I found them all easy to work with--I think linux as a whole has progressed in a way more user-friendly direction over the years, and many distributions prioritize ease of use.
the biggest difference can be getting used to the different desktop environments and package management systems and their workflows. Cinnamon (which mint uses) is made to feel similar to windows and is easy to use. KDE Plasma (available in Fedora, Debian and Kubuntu) is still windows-like while having its own aesthetics and features. and finally there is Gnome (available in Fedora, Debian and Ubuntu) which is the most unique, having some mac characteristics and many features all its own. this is a bare overview, but it might help you get a lay of the land.
if you don't know what to start with, I recommend using mint. it's lovely, it "just works" and that's probably what you'll want when trying something new. you don't have to become a "linux person" to use linux anymore, so if you just want to use a computer without getting into the details, I think this is a safe pick.
from there, I recommend familiarizing yourself with how installing software works (package management and package types) and preparing yourself to have patience with learning wine and proton configuration. one big difference from windows is that the software stores on linux are really good! it's often the best experience to download software from those, no need to go through websites and download and run installers. it's a very smooth experience. some software you'll want to help run and manage your games is Lutris, Bottles, Wine zGUI and ProtonPlus.
after that I think you'd be set. anyone is welcome to reach out to me at my bsky or mastodon (@evergreengames) if you have any questions or need help! especially with how things are now, I want people to know linux is a real alternative that we can move to together.