I’m pretty determined to get a brand new desktop and put Linux on it. Windows remains an awkward development system for me, and I’m working more on projects than playing games. Doing deep learning research on Windows is awkward. Plus Linux is a dream for automation.

But the biggest question I had: Are all the apps I like to use available on Linux? What will I have to find alternatives for? What do I have to give up on? This was my research and thought process.

My approach

I did a quick audit of all the things I used on my Win 10 machine, scouring the Start menu and the quicklaunch bar. I also have a decent organization of apps on my machine (notwithstanding everyone screwing up the “Program Files” vs “Program Files (x86)” conventions). So it took little time to make a list.

I also surveyed where my important data is. For projects, games and multimedia I’ve been very good and have a dedicated drive for them. But for programs that use Windows’ defaults, files can be scattered anywhere from AppData\ to Documents\.

Options for the transition

An important thing to remember is that moving operating systems isn’t the long leap that it used to be. More and more programs are cross-platform. When they aren’t, you can resort to things like WINE for Windows program emulation on Linux, or a virtual machine through VMWare or Virtualbox. I think dual-booting is not worth the trouble.

My wife reminded me of a second option that had escaped me: my current machine is still pretty decent, so I can keep it a Windows box for those rare cases that fall through the cracks. I’m unsure of how this would work with just one keyboard and mouse (since decent KVMs seem expensive), but Remote Desktop access might work well.

Linux friendly apps

I already use a lot of Linux or cross-platform tools, so I’m not moving across as a blank slate. Here’s the easy cases:

Emacs
My main programming and writing platform. I also use it for productivity organization via org-mode.
Firefox and Chrome
The only web-browsers that matter. I use both in case I want to check website rendering, and to have distinct browsing setups (Chrome is good for chromecasting, so it becomes my media browser)
Thunderbird
I maintain a large number of emails across my creative projects, so it’s easier to use Thunderbird for these lesser-used accounts, and focus on webmail for my primary addresses.
Blender, Gimp, Inkscape
My main graphics packages. I’ve used alternatives like Photoshop and 3DMax, but I think the open source programs are as good as I’ll need them to be, and save me bucketloads of cash. I’d buy Adobe stuff if they weren’t so obnoxious.
Dropbox
Easy way to maintain backups and cross-device storage. Shame there isn’t one for Google Drive.
Steam
GAMES! I previously looked at which games were Linux-friendly, but at least the general client is Linux-friendly.
ssh, FTPzilla and git
Of course these exist on Linux. Plus I’d take native ssh over PuTTY any day.
VMWare, Virtualbox
Happily they exist on Linux, and I think Linux hosts for Windows guest VMs are more capable than the other way around (especially with PCI passthrough).
OBS Studio
I rarely record or stream games, but I love OBS Studio and am glad that I can take it with me.

Apps with caveats

Some apps exist on Linux but come with a bunch of caveats.

Keepass
Cross-platform password management is very important to me. Keepass is in C#/Mono, but I’m unsure how cleanly it works on Linux with certain memory protections and password typers.
Unreal Engine 4
This one is weird. It’s a cross-platform dev environment, but the Linux setup for the dev tools seems complicated and somewhat unsupported. Part of this I guess is the deep connections UE4 has to Visual Studio. You have to compile things yourself and handjam configs. Or at least the last time I checked.

Apps with alternatives

Some apps can be replaced in spirit with native Linux alternatives.

Evernote
There are a bunch of 3rd party programs that work with the Evernote API: Nevernote, Whatever, NixNote. I’ve thought about replacing Evernote with my own self-hosted version, but that needs more thought/exploration.
Winamp
Winamp has been the perfect music player for me, for many decades. I like the form and functionality, including things like queuing individual songs before returning to the general shuffle. Winamp has been abandoned for many years since the AOL buyout, but is still usable. Luckily there’s Winamp fans in Rhythmbox which does much the same and is Linux-native.
SumatraPDF and Irfanview
I’ve used these programs for years for viewing PDF and images. The native Windows alternatives don’t do what I need. The native Linux ones are great. So the exact programs won’t transfer but there’s no problem.

Non-native apps

Unfortunately, it’s not all good news. These are the ones that either require WINE or VM support.

HeroLab

We do all our RPG characters in HeroLab. Unfortunately they have a bad track record with cross-platform development. There’s no good alternative, but luckily WINE reportedly supports it okay.

Hearthstone

I like playing a few rounds of Hearthstone now and then, but there’s no native Linux client. WINE support is good. The alternative is playing inside a VM.

Profantasy Campaign Cartographer etc

I bought this mapping tool many years ago for making RPG campaigns. I don’t super-like it, but it was expensive and there’s no good alternative that I can find. WINE clashes with it, so this might be a VM tool.

HTC Vive

This one hurts the most. I’ve got a Vive and love it. Given it’s driven by Valve, I’d hope Linux support would be stellar. Unfortunately this doesn’t seem to be the case. VR is the primary candidate for apps staying on my Win 10 machine, as I think VM GPU passthrough won’t give the performance that VR requires. Linux support should get better, but the question is when?

Summary

While most of the assessment is positive, there’s still some bumps. I think it’ll be ultimately worth it, and lets me transition to a more modern, automated and decentralized approach.