Why Linux is now my primary OS going into 2022
windowscentral.com
windowscentral.com
I had played around with Gentoo years ago but decided on Arch. It has been great. I'm using Suckless software and it is easier than ever with Bakkeby's flexipatch system to try out all the different patches.
Admittedly, it isn't for everyone. Most people I know (including devs) don't care to go relatively deep into the bowels of their OS, but I've enjoyed it and now have an extremely responsive setup that I'll use for years.
I consider it an investment, it isn't going to spy on me or change out from under me. It feels tailor fitted to me in how it does everything I want it to, but nothing more (or less).
I'm tired of the bullshit I've had to deal with on Windows over the years. This time, enough is actually enough. I'm out and not coming back. 2022 is the year of the Linux desktop, for me anyway.
What I’m more fascinated by here is:
A) the situation on windows is so bad that even the most engaged/supportive people (the type of person who writes for Windows Central) are fed up and trying to move. This is a big deal. Microsoft should notice, if anything just so working on Windows doesn’t become an embarrassing job they have to pay engineers extra to do. But also because wow, they have screwed that product bad over the past 10 years. Imagine if DaringFireball, or Jason Snell, or any 9to5mac contributor was writing “2022 is the year I’m giving up Mac for Windows”
B) the comment section is fascinating. I don’t really understand it. I wish I could meet some of these people in real life. There is a real, almost religion-like defense of Windows. I don’t get it. I’ve been a windows fanboy in the past so I get having a slightly irrational appreciation for it, but I can’t imagine ever writing anything like that. I was still playing around with Linux and still playing around with macOS (before it was called that of course) and iPhone and all the other things. I don’t have much insight, but I hope others do.
According to the about page, Windows Central is the home for “the most loyal and passionate Microsoft fans” which certainly seems to be true. https://www.windowscentral.com/about
Likewise on Linux and macOS for that matter. Every aspect of IT have fans of varying degrees from "I use it as a tool" to "I can't imagine anyone using anything other than X".
Fact of the matter is that people try these things with a very non-scientific mindset, as such they are strongly affected by confirmation-bias. So when they switch OS, they are likely talk about things they feel personally affect them, and there is no way you can disagree with them, because it is their personal perspective.
Uh...yeah it is. Even if I didn't have a specific game in mind currently, every PC game targets Windows. Not every game works on Linux. Why would I artificially limit myself, both for existing and future releases?
In fact, just looking at ProtonDB...6 out of the top 10 games are 'borked' on Linux. The top 100 looks better, but the majority still aren't "native".
That's not a sleight on Linux; there are plenty of things it is better at. But unless you are willing to be limited in what you can play, a PC gamer will continue to pick Windows.
Hopefully the bit where Valve is working with anti cheat makers actually comes to fruition and works widely:
Online games that make use of anti-cheat software didn't play ball with Proton,
but Valve has been working with the developers to add support for its set of tools.
Now, you can install and enjoy games that use tools like BattleEye and not need to
fire up a Windows install to just play one game every so often.I've yet to find a game that didn't work. Triple-A stuff too. I'm sure there are exceptions, but I've yet to find it. I'm guessing there's a performance hit but that's just a guess - I haven't seen it.
By far the most challenging was Assetto Corsa which took an hour of installing sequential versions of Dotnet, but even that works flawlessly now. Including a Driving wheel, pedals, etc. (Logitech 920).
Seriously -- Steam/Proton/Vulkan has come such a long way.
Instructional: Install Steam.. goto Settings.. then "Steam Play". Turn on Steam Play and install Proton (either Experimental or the Latest non-Experimental). Lutris (for GoG) will instruct you on needed Wine.
A lot more people are willing to be limited in what they can play. 10 years ago, it wasn't anywhere near 6/10 -- and in my case, all of the major titles I play (20k~ steam hours) except for one have worked perfectly fine on Arch; no longer a Windows user after 20+ years.
Right.
If your starting assumption is "games meant for Windows just don't work on Linux", then you'll be surprised by just how much Proton supports.
Because that's what "specific game" means.
There exist far more games than anybody has time to play, even if you limit yourself to the subset that are actually good. If you have time to play 20 games and there are 100 good games each of similar quality and 40 of them run on Linux, who cares about the other 60? You didn't have the time anyway.
It only matters if you need those specific games.
On top of that, many of those games will also run on a game console. Between a Linux PC and a game console, you have to have some pretty specific needs to actually require a Windows PC anymore.
Software compatability is Windows primary selling point. Well, that and it being the OS that is bundled with almost every new PC.
I don’t mind Windows 10/11 as much as others. The “house” ads for their own products are an annoyance, but I accept that as it being largely free. I think it is better than anything Microsoft has ever put out.
XP gets a lot of love, but it had a terrible default UX and was so insecure it spawned the antivirus industry. I don’t really understand when people look back on the halcyon days of Windows, because it was a second rate OS more often than not. My memory of XP was it being severely out classed by both Linux and OSX, but as is the case now, though to a lesser extent, Windows had the software compatability.
You have a point but also if you switch the type of games there from "All Games" to "Single Player", situation changes a lot. So I'd say for the group of people who don't play multiplayer games much (like myself) gaming on Linux is pretty viable. The problem nowadays is more with anti-cheat than comparability.
This is almost all due to incompatibility of the anticheat software with Linux. There might be improvement on this front very soon because Valve wants them working on the Deck.
Edit: and gnome everywhere, for some reason the simplicity/no need for customizability really chimes with me.
I used Windows for 10+ years and was very comfortable.
I felt, more and more often, that I was losing control.
Things were changing without my consent.
So I tried Mac, and it was good for a while.
Then, things also changed without my consent.
So I switched to an OS where I have more control.
I tried one distribution and WM and then another.
Until I found a combination which works for me.
And now I am content.
Thank you, GNU.
Thank you, FOSS.
I am so grateful.
Where I have ended up after the above 25 years is Debian + i3wm. Rock solid, a good fit for my daily work (mostly coding web apps), minimalistic and very productive through keyboard shortcuts. Can highly recommend.
Maybe the lesson is not using Ubuntu.
The blessing and the curse of Linux.
All that selection is not helpful if you just need to get work done.
Which is why most use macOS or Windows.
Infinite flexibility also means infinite time researching and making choices.
Granted, my experience is from 15+ years ago, but I remember wanting to play an MP3 on my new Linux desktop. Most articles explained, with a straight face, that I "just" needed to re-compile my OS to get audio output.
I realized then, that this would not be a productive way to get serious work done day-to-day.
I've been hesitant to go back since.
In my opinion, to get the majority of developers to switch to desktop Linux, it would need to become an OS that most of today's proponents will dislike. It would need to have a dominant desktop distribution -- 60%+ market share of Linux installs -- so that most tutorials, software installations, and configuration options are optimized for it. It would need to eliminate 80% of the choices. It would need to handle 99% of desktop use cases with zero configuration. And finally, any configuration that is needed would need to be simple settings that can be configured via a GUI, with configuration via shell there only for those who want it.
Note: The above numbers are just guesses. But hopefully they illustrate the point.
The average knowledge worker, just needs to get work done. And that tends to trump infinite flexibility and openness.
Until that is done, I fear desktop Linux will remain an OS for OS hobbyists.
I love the idea of switching to Linux, but have a really hard time jumping back into the rabbit hole.
Really what it comes down to is what distro you choose, and audio hasn't been an issue for probably 10 years. Recent changes with Pulse Audio and then Pipewire makes audio "just work".
You have to also remember that both Mac and Windows don't come without pain points and often I see people that are "set in their ways" simply because they don't like change, not because Windows/Mac makes things inherently easier. I personally find at this point Linux to be easier to get things done quickly. For example, with Windows installing the OS and then multiple updates, then re-configuring settings to disable telemetry, online account notifications, driver update shenanigans where Windows reverts drivers, etc takes far longer. Once you have a good dotfile setup on Linux things are a breeze.
Windows unattended setups are just as frustrating. With Linux, everything is scriptable in a more common sense fashion from my experience. With Windows, depending on the tool you have to use Powershell, VBScript, Batch, or some half-baked EXE to get things done.
Honestly, unless you're talking about the early 1990s, this should never have been your experience. Ever.
> It would need to have a dominant desktop distribution -- 60%+ market share of Linux installs
Ubuntu.
> It would need to eliminate 80% of the choices. It would need to handle 99% of desktop use cases with zero configuration.
A driving philosophy of GNOME, which Ubuntu uses by default.
> And finally, any configuration that is needed would need to be simple settings that can be configured via a GUI, with configuration via shell there only for those who want it.
Difficult to tell what's fully meant here, but since both Mac and Windows fail spectacularly at this requirement too, I imagine it's probably not actually that big of a deal.
>Difficult to tell what's fully meant here, but since both Mac and Windows fail spectacularly at this requirement too, I imagine it's probably not actually that big of a deal.
Not OP, but I use MacOS, Windows, and Linux (Debian & Fedora based) frequently. While finding how to configure obscure things is not intuitive for any OS, Linux faces the frustrating problem that different distributions require different solutions. Thus, Linux doesn't get the luxury of an answer that consistently works on all distributions and desktop environments. Mac and Windows can get pretty ugly (cough especially Windows), but I find that solutions are much quicker to find online comparatively. This doesn't even touch on the pains of NVIDIA graphics cards on Linux, but I digress.
Gimp is not a suitable replacement for photoshop, it's clunky in comparison.
Libre Office inter op with another collaborator using docx files can lead to wonky formatting problems.
Gaming is still clearly better on PC.
There are constant little problems, like screen share drawing not being available on Slack for call participants running linux.
My Manjaro VM was failing to update, and the feedback online is to fresh install and that Manjaro sometimes has trouble updating if you wait too long between updates. I've had many issues like this trying to get linux stable, and I agree with what you suggest that there needs to be "the distro".
It's also frightening that so many solutions for linux problems involve entering obscure terminal commands found from stack overflow or somewhere. I want to be able to easily use my OS without hitting google all the time.
Personally I have been having a great experience with Windows 10 + WSL2 ubuntu, and can even target and build against both platforms from VSCode. It's the best of both worlds.
I see a lot of back and forth between "switchers" and a lot of it is about "gaming". I am guessing there is a silent majority who don't necessary care about gaming and are happy using linux just because it's (imho) the best system for programmers/tinkerer?
If one means “I can play 90% of games” or “I can play games at 90% the performance” or “I can play games but no recent multiplayer AAA titles” etc. then yes it’s a viable platform. But you need a big bag of ifs.
While there is great progress bringing gaming to Linux, it’s more and more looking like it’s going to make the bulk of games better while the biggest titles get even further from parity.
Reasons include
1) to play a AAA title you need a specific graphics driver built for the game where nVidia and AMD have made fixes and optimizations for the specific game. On windows this driver is obviously released in tandem with the game
2) An anticheat for a multiplayer FPS these days is a kernel level driver or more and more resembling a root kit. Not only are these not existing on Linux half of the time, the same type of person who prefers Linux usually doesn’t approve of these things being on their systems either.
So: gaming on Linux has advanced in the broad middle of games. Lots of titles now play “ok”. But is gaming on Linux really any closer to being a windows replacement if the biggest titles are still completely windows exclusive?
The true AAA titles made by indie developers come surprisingly often with Linux support.
And there is always Stadia and Geforce Now.
Then again, I am not the Hardcore gamer I used to be in the golden days...
I still play BF4 and it’s still a great game - but even that 7 year old title is of course impossible (as far as I know) to play on Linux.
I did not try it myself but it is saved to run flawless[0] on Linux, but there is trouble with Origin, which can be fixed, but I guess that's a bit of bending the rules. Assuming you want the version where a non tech savy person can use a Linux desktop.
[0]https://appdb.winehq.org/objectManager.php?sClass=version&iI...
One thing that's very clear is that gaming on macOS is very much better than it used to be. Any game that wants to be big will run on macOS, this part didn't used to be true. Windows still has the lion's market share of gaming but macOS has enough to be relevant, and even more mindshare.
We are currently in the days of Linux being a 2nd class platform for games. This is improving and will keep improving. Gaming on Linux is the best it's ever been. Not only is the freedom/openness of Linux good for gamers it's also good for game publishers in the abstract or long run--no third party that makes arbitrary rules.
So, we really have a choice here, we can say this is how it is and resign to it and use the platform of least resistance, or we can vote with our feet, dollars, and effort, and use something that can be be better. I'm not judging, I've used and continue to use multiple OSes, as it is certainly true that no single one can do everything you want.
As I'm writing this, I realize that I also use Android rather than iOS, not because it's better but because it's closer to being free-er. Linux has come a long way. Linux on desktop used to be as obscure as the phone OS/platforms that are not iOS or Android.
Thanks for making me rethink things through. I'll still use multiple OSes but with a clear commitment about which I use for what. And I'll reconsider my choice of phone platform. Maybe it's not unreasonable to use two--a phone and a small tablet?
A few things have changed that: having an Oculus and an Oculus 2, and also getting Apple’s Arcade Games as part of the Apple meta family bundle. I now find myself spending 1 to 2 hours a week very much enjoying games. It is good to be back.
I've noticed performance problems in 1, an MMO that is notoriously unoptimized; I had performance problems with it on Windows, too.
I have a 2080 and I'm not pushing ultra high settings, so YMMV, but so far, so good over here. I do not see myself going back to Windows anytime soon.
After all, they won't support my "ancient" i7, so I'm not the one who ended this relationship.
So when they say “no problem” it could mean that it runs at 100% the windows perf, or 90%. (Or even above in some cases, although more rarely). They wouldn’t know and most wouldn’t care. It runs fast enough because they see other positives with using Linux (freedom, cost, control, integrity, whatever).
But for users who really dislike Linux the problem is much more nuanced. I’m no big windows fan either - but I’ll pick the platform with the 10% higher FPS any day. With a 2080/3080/3090 one pays pretty good money for those last 10% perf after all.
edit/ Also, by a stroke of luck, my 2080 is a developer card and I got it for free from a colleague with ties to NVIDIA. If I was still on a GTX 980, I may be singing an entirely different song right now.
Hopefully they make all the "anti-cheat" software optional though. Here's to hoping.
What would be even better is if the anti-cheats on Linux are not rootkits at all but I am pretty sure the AAA companies won't put that much attention to detail. To them Linux is just another sales funnel.
TL;DR: configuration-management software is useful for personal machines, not just enterprise fleets.
For me this would be madness, I want the computer to achieve something, not to spend my days tweaking it.
I love to cook, for example. I do it even though it doesn't taste any better than takeout. If I didn't love cooking, it would be madness to spend an hour preparing something I could pay someone else an extra $5 to make for me.
First, I started out checking secrets into the repo. Stuff like encrypted ssh private keys. Bad practice, obviously, but at the time I was just learning and didn't think it would grow into something I'd keep so long. I've since removed all the secrets, but they linger in the history. So if I published something, it would have to be a new repo or a shallow clone. That's not such a bad thing because others probably don't care much about my repo's history.
Second, I doubt I'm following Ansible best practices, so I'd be doing you a disservice if I held out my repo as a model for organizing your stuff. This matters if you want to import third-party modules (I'm not even sure what they're called), because they seem to expect a certain directory layout. As a result, if I see a cool third-party Ansible feature out there, I can't take it; I pretty much have to rewrite it to fit into my system.
Third, there isn't actually much that is both useful and general. Most of my setup copies files into ~, alters /etc files, checks that apt packages are how I want them, and occasionally kicks a service to reload. These functions aren't particularly hard to learn in Ansible, so using my code as an example isn't very useful -- you'd be better off just reading the Ansible docs.
All that said, I do have some advice.
1. Start simple. Try specifying your favorite .deb packages in an Ansible playbook. Make that playbook the start of your own repo. Then, like I said in my earlier post, get in the habit of adding new .deb packages into the playbook and installing them by running the playbook, rather than using apt install to modify your package configuration.
2. Re-run your playbook frequently. This will keep you from forgetting how to use Ansible. It will also start acting like a mini BOFH by overwriting the local changes you've made to your system instead of adding them to Ansible like you should have been doing.
3. Once you have the basics down, divide up functionality into "roles" and then compose individual machines ("hosts") out of roles. For example, I have roles named common, desktops, workstations, laptops, me, minecraft_servers, and ssh_servers. Common is stuff every machine should have, like curl, emacs (sorry), git, python3-pip, unzip, and a user named sowbug with certain sudo privileges. Desktops use Cinnamon. Workstations (which could be headless servers) have various developer packages. "me" is all my authorized_keys and other things I like in ~. minecraft_servers was useful because my kids go through MC phases and want a server for a week until they get out of the phase. This way I can set up a server quickly and then delete it a week later, without worrying about paying for an idle disk on AWS for months.
4. Don't use Ansible for copying giant files. Maybe this has improved recently, but it wasn't a good experience. For the few big files I did have for a Quake server I used to run, I ended up keeping the small files in Ansible, and then used get_url to grab the big ones off the web.
I do hope you give this a try. Maybe Ansible isn't right for you (I believe Puppet and Chef are still out there; maybe there are others now). Whichever you pick, configuration management for a hobbyist's computers is useful.
Back in the day we had many Winamp clones. Some were arguably better, faster, lighter. Yet none of them took over. We have Spotify now. And it is nothing like Winamp.
It's not enough for Linux to be on par with Windows. It's not enough even to be better on every possible aspect. It needs to be its own category that makes Windows obsolete. Good news is the technology moves with a rapid pace, and Windows is not as well equipped for the future as Linux.
This is total nonsense if you need to use Adobe for professional work. It is actually only one reason why I'm still using Windows. And it bothers me quite a lot. There is no way to be professional artist or filmmaker and use linux.
For what it's worth, I can think of at least three different "emulators" to run a random windows program on Linux.
There are a lot of professional Blender artists... probably many with others apps also...
The more that this content gets moved into mainstream Gamer/Tech media, the better.
...Just so long as we avoid the LTT nonsense of "Yes, I said delete all the things!".
While it was obscure, it wasn't targeted as often by viruses, malware, and the worst thing of all - commercialization.
Same idea as when anything obscure gets too popular. The original occupants (whether they're right or wrong) aren't too keen on seeing the crowds rush in.
Okay, so Ubuntu had Amazon integration for a while. But Debian didn't. And because Debian didn't, and people didn't like it, Ubuntu took it back out.
How's the outbreak of desktop spying that nobody asked for or wanted going on Windows? When the only way to put pressure on them there is to switch to an entirely different platform, that only works when you actually do it. Otherwise you're stuck with whatever they stick you with.
This is idealism. In reality, building and maintaining software takes incredible amounts of organization and labor.
>Okay, so Ubuntu had Amazon integration for a while. But Debian didn't. And because Debian didn't, and people didn't like it, Ubuntu took it back out.
As Ubuntu gets more mainstream, the percentage of users who agree with your opinion will shrink and those who disagree will grow, and Canonical will proportionally depend more on the latter.
>How's the outbreak of desktop spying that nobody asked for or wanted going on Windows?
I use Ubuntu LTS myself, but mainstream Windows users almost universally couldn’t care less about desktop spying on Windows. And I hate to break the news but they aren’t going to care if the same comes to Ubuntu either. Snap is already making it far easier.
>When the only way to put pressure on them there is to switch to an entirely different platform, that only works when you actually do it. Otherwise you're stuck with whatever they stick you with.
And that will eventually be the case with Mainstream Linux. That is the point here. Open source is not a magic solution and FLOSS under capitalism is a utopian fantasy that has seemed surprisingly possible so far, but it is likely that we are merely experiencing some of the best of times for desktop linux.
All of the work is already being done. Debian is a community distribution and is one of the most popular.
> As Ubuntu gets more mainstream, the percentage of users who agree with your opinion will shrink and those who disagree will grow, and Canonical will proportionally depend more on the latter.
Yet Debian will still exist.
> I use Ubuntu LTS myself, but mainstream Windows users almost universally couldn’t care less about desktop spying on Windows.
Nobody wants the spying. If your choices are get spied on or pay the full cost of a platform transition away from one that has been spending billions of dollars for decades to keep you locked into it, some people are still moving away from it over this! If you gave them the choice without the transition cost, basically nobody would choose the spying.
Which is the thing you get when forks are possible, because somebody just forks it and removes the malware. This is a characteristic of the license.
> Open source is not a magic solution and FLOSS is simply unsustainable under capitalism.
This is a weird position to take when it clearly already exists. Would having more users make community development less sustainable? There would be more members of the community so the average one would have to do less work to produce the same software.
Even if 99% of the new users are non-developers, the 1% who are makes it easier rather than harder to sustain.
Depending on the user, it's been viable for that long, and we've even had non-techie users for a while now without much issue.
> While it was obscure, it wasn't targeted as often by viruses, malware, and the worst thing of all - commercialization.
If malware wasn't an issue with Linux running 90% of the servers on the planet, why would more desktop use matter?
> Same idea as when anything obscure gets too popular. The original occupants (whether they're right or wrong) aren't too keen on seeing the crowds rush in.
Right, but... Does it matter? If I just install, say, Ubuntu on my laptop and use it, what do I care if a billion other people use it too? If anything, driver and software support should improve without costing me anything.
Server admins are a different breed with different use cases than PCs.
A better comparison is Android. https://www.google.com/search?q=android+malware
I forgot when was the last time I had issues with hibernation in Windows or Mac.
Sorry, 2022 is not going to be the year of Linux Desktop.
With the amount of polish that Valve put's on literally everything they release, I'd be willing to give it a try at least.
My Laptop, for instance, have an issue where the kernel can’t recognize the keycode when the lid closes.
I had to write a systemd script to setkeycode to suspend when the lid shutdown.
Good luck explaining this to average windows convert that just moved to Linux.
Oh, and the brightness function keys doesn’t register at all on my system. I’ve tried everything on the archwiki.
So, yeah, if you’re lucky enough to have the right hardware it’s totally the year of Linux, if not, keep waiting
I wouldn't say that Linux Mint in particular attempts this. It's more the desktop environment that's relevant in this regard, and KDE Plasma is the one that at least looks the most like Windows 10/11.
You'll notice less of a difference between Ubuntu, Fedora, Linux Mint with KDE, than between KDE, Cinnamon, XFCE on Linux Mint.
Theses are such terrible replacements that it’s hard to take his rose colored eye view seriously.
No one that works collaborating word documents will use libre office unless you want a never ending: why this look funny on my end? Is it libre office or my collab messed up?
Gimp? Krita would be a better choice of software but still not even close to photoshop.
If I could debug Safari on iOS and test iOS apps on Linux, macOS could go away too.
This has not been my experience whatsoever using Linux as my daily driver for the past decade, unfortunately.
It has been the fact for me since 2003, not for gaming though ;-) Don't get me wrong, I do think gaming on Linux is cool and it helped at picking up new "Linux desktop" users.
What's more interesting is, with WSLg it is even possible to run GUI (X / Wayland).
It annoys me so much. Ads at the os level.
Once in a while it boots to that screen where it tries to fool me into makeing a microsucks account.
But I switched from Linux to osX after 10-15 years because I got tired of having to ever really deal with the OS.
It's disingenuous to treat it like one.
To use macos (officially), you have to also discard whatever computer you already have, and your choice of new computer is limited to one.
It's essentially irrelevant to the original problem statement, almost as much as chromeos.
How do you make "sed" be GNU sed on macOS without breaking all sorts of scripts?
How do you play the latest games like Deathloop on macOS?
How do you turn off workspace switching animations on macOS? (Note I said "turn off," so don't suggest Reduce Motion).
How do you set different scrolling orientations for mice and trackpads without installing yet another app with its own icon, updater, etc?
As another commenter pointed out, using macOS is like living in a hotel. Some people live in hotels already and some others would certainly do so if they could afford it, but it's not the kind of life I want to live.
macos is not available for that. linux is.
Meanwhile, since you opened the door, your comment "reads like" something itself. ;)