Switching to Linux - and Finding Ownership

Personal Migration Notes  ·  September 2026

Switching to Linux — and Finding Ownership

Two machines, three attempts, and what it actually feels like when the computer is genuinely yours.

September 4, 2026  ·  ASUS ROG laptop + Custom desktop  ·  CachyOS

The best analogy I can give for switching to Linux: it feels like earning that is genuinely yours — the way a halal income carries a quality beyond its monetary value. Not just what you receive, but the absence of what you didn’t consent to. No quiet deductions. No obligations to a system you didn’t choose. There is a kind of contentment in that which is difficult to quantify but easy to feel.

Switching to Linux

Windows is a fine operating system. I say that without sarcasm. But after years of daily use, I began to notice the texture of the experience: the telemetry running quietly in the background, the Microsoft account prompts, the OneDrive nudges, the Start menu recommendations, the slow creep of a platform designed to extend its reach whether you wanted it to or not. It wasn't hostile. It was just — theirs.

Linux changed that. When I boot into my system now, the machine is mine in a way that feels qualitatively different. The same way cooking your own food differs from eating at a restaurant every meal: you're responsible for more, but you own the result. That feeling turned out to be worth every hour of the learning curve.

This is the honest account of that migration — across two machines, for research, daily work, and the occasional game. I'm not writing to evangelise. I'm writing because when I was considering this move, I wanted someone to just tell me how it went.


▶ How it actually happened  ·  June 25 – September 4, 2026

Migration projects rarely go in a straight line. This one took eleven weeks, two machines, three distro iterations, and more than a few late evenings. Here is the honest record.

June 25
Decision made, repo created
Committed to a structured migration — version-controlled documentation, risk register, per-machine plans. The repo became the project's memory across every session.
June 26
Desktop hardware and software audit
Full inventory of what needed to move, what had no Linux path, and what the hard blockers were. Knowing the constraints before touching a partition saved time later.
June 26–27
Iteration 1 — installed, tested, rolled back within 24 hours
First attempt: dual-boot with too broad a scope. Anti-cheat blockers and daily-use friction made the trade-off not worth it at that scope. Clean rollback. Lesson learned, documented, and carried forward.
June 28
Iteration 2 — research-only partition, then abandoned for CachyOS
A narrower retry on Ubuntu LTS. It worked for its defined scope, but the scope turned out to be too narrow — and the Python/toolchain coherence of a rolling-release distro made more sense for the actual workflow.
June 29
Iteration 3 — CachyOS installed. This one stayed.
First real boot hung on the splash screen. Reading the failed boot log revealed a timing race between the NVIDIA driver and the login compositor — fixed by loading the GPU driver in the initramfs. Confirmed across multiple reboots. Validation phase begins.
June 30
G14 laptop work begins
BitLocker unlocked, partition resized, Phase 1 live USB hardware test passed the same day. ASUS-specific tooling (AniMe Matrix, fan curves, battery charge limit) confirmed working.
July 1–2
G14 Phases 2–6 complete
Research and development stack confirmed — local AI tooling, development environments, and research tools all operational. Hardware-specific features on the laptop verified working.
July 4
G14 gaming confirmed — GPU offload verified in-game
Gaming confirmed on the laptop with correct GPU engagement. A subtle hardware configuration issue was caught and resolved — the kind of thing that only shows up when you verify properly rather than assume.
July 15
Desktop gaming confirmed — multiple titles across launchers
Gaming stack confirmed on the desktop. Multiple titles tested across different launchers — performance on par with Windows.
July 16–17
Secure Boot re-enabled on desktop
Enrolled sbctl keys via manual DB Management append in the ASUS BIOS — the standard enroll-keys path didn't work on this board. Windows, the dual-boot menu, and kernel-level anti-cheat games all continue working with Secure Boot active.
August 13
OBS production-ready on both machines
Full NVIDIA NVENC hardware encoding confirmed on both desktop and laptop. Recording workflows tested end-to-end.
August 14
Further titles confirmed, filesystem conflict caught and resolved
Additional titles confirmed. A filesystem driver conflict that had silently crept back in after a system update was caught and resolved — a reminder that rolling-release systems need occasional housekeeping.
August 16–17
Another title added to the confirmed list
Another title added to the confirmed list. Minor launcher friction on first run, stable afterward.
September 4
Both machines stable daily drivers — this post written
Eleven weeks. Two machines. The system that runs right now is the third attempt on the desktop and the first attempt on the laptop. Both are stable. Neither is going back.

Research

The Research Setup

My research workflow runs on Obsidian for notes and knowledge management, Zotero for references, and a standard browser stack. I was genuinely uncertain whether these would survive the transition cleanly.

They did — completely. Obsidian runs natively on Linux via AppImage with no perceptible difference from Windows. The Canvas feature — Obsidian's visual, infinite-canvas mode for mapping ideas spatially — works identically. Zotero has a first-class Linux build; the browser connector, PDF annotation, folder structures, and citation plugins all carried over without a single configuration change worth mentioning.

If your work is primarily reading, writing, and reference management, Linux asks nothing of you. The tools are there, they work, and they work in a system that isn't trying to pull your attention elsewhere.


AI & Development

Where Linux Has No Real Competition

If research and daily work are where Linux holds its own, AI development and GPU compute are where it quietly dominates. This is not a subjective preference — it is where the tooling is built first, where the documentation targets, and where the ecosystem assumes you are.

Every one of the TOP500 supercomputers runs Linux. PyTorch — now a Linux Foundation project — holds 55% of production AI market share, with 85% of deep learning research papers using it as their framework of choice. These numbers reflect where serious AI work happens. Windows is an afterthought in this ecosystem, not a peer.

The practical difference on a workstation: CUDA, PyTorch, Docker GPU passthrough, and container tooling all resolve faster and with less friction on Linux. Frameworks like vLLM — which delivers high-speed inference for large language models — support Linux fully and Windows only partially. When a new library ships, the Linux build comes first. The Windows build, if it comes, comes later.

On this machine, I run a quantised large language model locally — inference on the GPU, model weights split across VRAM and system RAM. The full stack from build to first inference took an afternoon. On Windows, the same workflow either does not exist in the same form or requires navigating a patchwork of workarounds that the Linux path simply does not have.

For agentic development — code assistants, tool-calling loops, local API servers — the same pattern holds. The tooling (llama.cpp, Ollama, LangChain, LiteLLM) is Linux-native. The documentation examples assume a Linux terminal. The community troubleshooting is Linux-first.

Research simulation is similar. Jupyter runs identically on both platforms in principle, but when a simulation requires GPU acceleration, compiled CUDA kernels, or HPC-adjacent libraries, the Linux path is shorter, better documented, and less likely to encounter a driver or library conflict that has no upstream fix.

This is not a criticism of Windows as a general-purpose platform. It is an observation about where the AI and ML ecosystem has built its home. If this kind of work is part of your day — whether professionally or as serious personal exploration — Linux removes friction you may not have realised you were carrying.


Work

The Work Setup

Communication tools, document editing, and browser-based work were my main concerns. The honest answer: nothing of significance was lost.

ONLYOFFICE — an EU-based office suite developed in Estonia — has become my default for documents, spreadsheets, and presentations. Its Office format compatibility is considerably closer to Word and Excel than LibreOffice, and it runs natively on Linux. For anything browser-based, Google Workspace and Notion simply work as they always did.

For cloud storage, I switched to kDrive — a cloud storage service by Infomaniak, a Swiss hosting company with a strong privacy stance and a native Linux desktop client. Files sync cleanly, the Linux client is maintained, and it fits a cloud-native workflow without pulling you toward a US tech ecosystem.

The creative stack held up better than I expected. OBS for video recording runs with full NVIDIA NVENC hardware encoding — arguably better integrated than on Windows, without the background services Windows requires. Audacity for audio editing is identical to its Windows counterpart; no configuration needed, same interface, same file formats. Kdenlive — Linux's native video editor — handles multi-track timelines, color correction, and export with no meaningful gaps. These three tools together form a capable content creation stack that required essentially no setup.

The one honest gap: if you rely on Word's precise layout fidelity or deep Excel macro compatibility, ONLYOFFICE comes close but occasionally needs a workaround. For most documents, the difference is invisible. It's worth testing your specific files before committing.


Gaming

The Gaming Experience

This is where people expect Linux to fall apart. It's also where I've been most surprised — by how much works, and by how clearly the limits, where they exist, map to one specific cause rather than a general inadequacy.

Most modern games run via Proton, Valve's compatibility layer. For the majority of my library, launching a game on Linux looks and plays identically to Windows. The table below is an honest record of everything I've tested.

A note on peripherals: I use a Logitech G29 racing wheel. Out of the box on Linux, the G29 connects in PS3 compatibility mode and presents as a generic gamepad — racing games see axes and buttons, not a steering wheel. The fix is Oversteer, a Linux GUI tool that switches the G29 into native PC mode over USB. Once switched, the wheel maps correctly in Dirt Rally, Dirt Rally 2.0, and any other title that expects DirectInput wheel input. This took one afternoon to sort out and has not needed attention since. The SDL_JOYSTICK_HIDAPI=0 environment variable also helps in some launchers.

Baldur's Gate 3 Steam · Native Linux
Status ✓ Perfect
Notes Larian shipped a native Linux build — no Proton involved. One of the best Linux gaming experiences available. Zero compromise.
Counter-Strike 2 Steam · Native Linux
Status ✓ Perfect
Notes Valve's own game ships with a native Linux build. Launch it like you would on Windows — no Proton, no configuration, no performance penalty.
Expedition 33 Steam · Proton
Status ✓ Perfect
Notes Zero configuration. Launch and play. No perceptible difference from Windows.
Forza Horizon 5 Steam · Proton
Status ✓ Works
Notes Use Proton Hotfix for best results. Xbox account sign-in on first launch requires some patience on Wayland — once past that, it's stable and plays well.
Enshrouded Steam · Proton
Status ✓ Works
Notes Runs well through Proton with no special configuration. Multiplayer co-op sessions stable. No issues encountered in regular play.
Dirt Rally Steam · Proton
Status ✓ Perfect
Notes No setup required. Controller and wheel support worked immediately after switching the G29 to native mode via Oversteer.
Dirt Rally 2.0 Steam · Proton
Status ✓ Works
Notes Wheel users: add SDL_JOYSTICK_HIDAPI=0 to Steam launch options for correct axis mapping. With Oversteer in native mode and this env var set, the G29 maps perfectly.
Elden Ring Lutris · Proton
Status ✓ Works
Notes DX12 title — requires VKD3D, which Lutris handles automatically. Launch eldenring.exe directly rather than the EasyAntiCheat stub. Community-verified on ProtonDB with hundreds of positive reports. Stable and performant after initial setup — performance on par with Windows at equivalent settings.
World of Warcraft Lutris · Battle.net
Status ✓ No difference
Notes Install via Lutris's Battle.net script. The launcher and game behave identically to Windows. I genuinely cannot tell I'm not on Windows during play.
Red Dead Redemption 2 Lutris · Rockstar Launcher
Status ✓ No difference
Notes The Lutris install script handles the Rockstar Games Launcher automatically. Stable, performant, and indistinguishable in play from a Windows install.
Genshin Impact Lutris
Status ⚠ Works, with caveats
Notes Runs via HoyoPlay + Proton 10 or Lutris. Community reports are broadly positive and ban reports have typically involved file modification, not simply running via Proton. Two genuine caveats: a 1–2 week compatibility block after each major version update (no workaround — wait for it to lift), and HoYoverse has not officially sanctioned Linux play. Worth knowing before using your main account.
The Witcher 3: Wild Hunt EA App · GOG via Origin
Status ⚠ Works, with a tradeoff
Notes Purchased via Origin (now EA App), which loads the GOG/CD Projekt launcher before launching the game. The chain works — EA App → game launcher → Witcher 3 — with no manual intervention needed once set up. Ray Tracing causes instability; disabling RT gives a smooth, still-beautiful experience. The visual loss is real and worth naming honestly, but for most play this is acceptable.
Kernel-level anti-cheat games e.g. Valorant, select EAC titles
Status ✗ Not available
Notes This is the one firm limit. Kernel-level anti-cheat (Riot Vanguard, certain EasyAntiCheat implementations) requires a Windows kernel. No workaround exists, and none is coming. If these titles are important to you, dual-boot is the honest answer.

The pattern is clear: the constraint on Linux gaming is not Proton's capability, and it is not the games themselves. It is, almost exclusively, kernel-level anti-cheat. Everything outside that category has worked for me — often without any configuration at all.


Verdict

Would I Recommend It?

Yes — with honesty about what you're trading.

You gain real ownership of your machine. You gain a system that doesn't treat you as a product, doesn't push its ecosystem at you, doesn't log your habits by default. You gain a daily computing experience that, once the setup is behind you, is genuinely pleasant and increasingly frictionless. Most of your software will work. More of your games will work than you expect.

What you give up: seamless access to games that rely on kernel-level anti-cheat; the assumption that every piece of software will install without a thought; and, occasionally, an afternoon of debugging something that would have just worked on Windows. These are real costs, not imaginary ones.

Whether those costs matter depends entirely on how you use your machine. For me, the games I care about run. The work I care about works. And every morning I boot into a system that feels — in a way I find genuinely difficult to articulate but easy to feel — like mine.

That's not nothing. For me, it turned out to be everything.

Running CachyOS (Arch-based) on an ASUS ROG laptop and a custom desktop with an NVIDIA RTX 40-series GPU. Launchers used: Steam, Lutris, and Heroic Games Launcher. Game names link to ProtonDB where applicable — the best first stop for community-verified Proton settings on any title.

Comments