Skip to main content
  1. Blog/

Linux migration and nuking Windows

·1239 words·6 mins

Why
#

Why do I do this ? Why not I would counter argue for that question. I should have done this even earlier.

Windows 11 has gotten progressively worse over the last year. Windows 10, the last competent Windows is almost dead. I feel windows moving everything to cloud logins, the stupid passkeys, windows hello and adding Copilot AI stuff to the PC has made everything progressively worse. Basic functionality seems to have taken the backseat, I noticed for example the windows explorer has some nasty bugs that do not get fixed in years. I feel at some point when my existing windows pro breaks and when I want to install it fresh, I would no longer have the option to run local user. I am comfortable with Linux for a long time through VMs, containers, WSL, VPS instances and home servers. As a whole, Linux is far faster, less resource intensive and very stable. The following reasons kept me with windows:

  1. Too much friction to migrate everything as a power user. Windows despite its flaws is very convenient. I had several paid software that work well in windows
  2. I need flawless Wacom support. Linux Wacom works decently and the drivers are built directly into the kernel. But on older hardware, there were weird behaviors. Middle click and right click would not register on certain websites and on some apps. The alterative, OpenTabletDriver has its own quirks. The irony is most Wacom issues on Linux disappeared when remoting in through RustDesk. But I wanted everything direct without workarounds.
  3. Once in a while, there is that weird update that breaks stuff on Linux. at least I have a chance to defer patches if I don’t want to apply them.
  4. No dual boot. I hate dual booting because Windows occasionally corrupts my dual boot Linux partitions. It is very to come to the conclusion of just nuke Windows entirely and run pure Linux.

Migration
#

But there was too much to migrate in one shot. Mid last year I set a goal and started moving services. I migrated workloads and services to an external VPS and a small tiny home server. By the time I made the switch, my Windows workstation already had significantly reduced usage and as I mentioned above, my windows machine is just for browsing the web and a thin client for my services. The actual transition was super easy, I just started using Linux and happy with it.

I considered Mac briefly. The hardware and software is excellent and It has been a productive booster at work. But at the core, apple has the ability to be just another Microsoft in the future and add similar stuff into the OS. I also don’t like that Mac hardware, even though significantly higher quality than most PC stuff, might just become e-waste (soldered stuff, glued stuff etc.) because it can be very expensive to fix if it is broken. I also wanted the ability to run a lot of small services and VMs locally and Linux is better than macOS though only slightly. I also want the ability to upgrade hardware though that might become a pipe dream until 2027-28 with the DRAM shortages. I would rather have something cheaper and easier to source parts for if it is broken and I need to fix it.

I switched back to Intel from AMD. As I was documenting, my AMD system had weird sleep issues, USB problems and in general a lot of stability problems that seems to be getting worse with some windows updates. Intel has proper sleep out of the box, can reach lower power states for most idle and simple tasks, great hardware support in Linux and solid stability in Linux. Also I noticed that the Linux scheduler is excellent in dealing with these hybrid core architectures. I also noticed Wacom works significantly better with newer Intel systems with recent Linux kernels better than my AMD. The Intel IGPU is an excellent example iterative engineering fixing bugs and, and I noticed that it is very very fast.

Distro and Desktop
#

No distro hopping. I like Ubuntu. Its stability and hardware support are exactly what I need. Sticking with it! I feel that it is very good ethos for the OS to just work out of the box and it should have the least amount of friction for somebody coming from a different daily driver. I really don’t care what evangelists and influencers say about distros, my favorites are ubuntu and then Debian and hardware support is easier to work out of the box for Ubuntu than for Debian.

I used to prefer Cinnamon over stock GNOME because classic GNOME was a nightmare to work with out of the box and requires too much context switching for workflow purposes if you are dealing with multiple OS over the day. I would rather find something that replicates years of working with Mac and Windows. This time though I decided to stick with GNOME but modify it to be more efficient and more to my liking in workflow. Two extensions made this straightforward:

  • Dash to Panel
  • Arc Menu

That is it. The customization was simple and the result fits well for how I think about window management. I like that you have the ability to customize everything to the core.

Few weeks in and some healthy OSS attitudes
#

I can say confidently there is no going back. Couple of my friends made a similar switch over the last year which is encouraging to see. Gaming is a non-issue for me so I cannot comment on that side of things. Programming on Linux is very fast and VSCodium is an excellent IDE. Everything just works the way it should. It is faster in local LLMs, deep learning models, containers, browsing etc. The OpenVINO accelerated machine learning models seems to be a very good addon that i am really looking forward to work with.

There are some unstable things within certain apps and some small annoyances which break workflows, for example Wacom settings are not universally applied and it can vary from app to app. I am fine with Snaps. I also like AppImages. I do not care about the 15 competing packaging standards debate. Just make it work and make it stable. I will be happy. The other bad software bugs, nothing is experience breaking because I notice similar issues on Mac and windows and that does not make me give them up. This is not a Linux problem, more of a software quality problem. That is ok for Linux since most software is built from the kindness of the heart of the global OSS developer community, I am ok with adjusting. I want things to be better, but I wont demand it. I feel that is a very healthy attitude when dealing with most OSS software. If I don’t like it, I can always fork it, fix it and then deploy it as per my specifications. One thing that does annoys me: vibe coded Rust utilities showing up in Linux tooling. Half-baked rewrites that do not handle edge cases. I wish developers would figure this out before shipping.

I want to write a follow-up post after using this setup for a full year. By then I will have a better sense of what breaks, what annoys me and what I genuinely prefer over the old Windows workflow.