Bill and Windows¶
I have a compliated relationship with the Microsoft Windows operating system. Some of my earliest computer experiences included Windows 3.1 and Windows 95. To date, I have primarily played PC games on Windows. I need the maximum performance!
Prior to this year, I had been dual-booting Windows 10 and Debian/GNU Linux. I did my programming and automation stuff on Debian, and I played games on Windows. It was a good arrangement for a laptop. Until Security updates ended for Windows 10, I was happy to maintain my dual-boot.
I was unfortunate to have a processor on my Gaming laptop that would never be compatible with Windows 11. I researched the minimal upgrade that I needed, and I ordered a 2017 Dell gaming laptop that would meet my demands and run Windows 11.
It was something like $250 on Ebay. I upgraded the RAM (It’s DDR4 in 2025, and I got a good deal on the SODIMMs). When I fired up Windows, I decided to give WSL and Hyper-V a try.
What I experienced was okay, so I decided to adapt my computing habits to rely on single-boot Windows 11. I end up needing to upgrade to a Pro license for proper Hyper-V, and I often need to go off the beaten path in order to do my projects, but it’s fine, and I can manage on-disk resources easier.
Debian works fine on Windows with WSL¶
It’s not perfect. The networking is particularly fun, but you can basically
have access to Debian by running wsl. You’ll need to use Windows-based tools for
some operations: like packet capture, unless you work around the eccentricity of
the “Mirrored Mode” networking.
I prefer to left networking separate. Let me drive things from a container nestled deep in Network-Access-Translation. It’s cleaner that way.
When I want “real” baremetal Debian, I just SSH over to a machine. If I don’t have my spare laptop running, I can pop up a Debian Virtual Machine with Hyper-V and get to work.
Docker works fine in WSL¶
Again, it’s fine. I can totally install Docker and build my website files in WSL. All my scripts worked. When I migrated to updating my website on WSL, I simply copied the files, fixed up my SSH key permissions, and ran my scripts.
Boom, updated content. The RAM demands of Windows 11 are substatial, so I prefer to run containers on my spare system, but WSL Docker works fine for server-less static content generation with Sphinx.
VS Code Remote SSH¶
It’s not a valid substitution for understanding how to operate on code over SSH. Having worked a lot with servers over SSH, the convenience of simply logging on to a machine and taking care of business can’t be argued against. VS Code Remote SSH operation is pretty slick for small projects.
The BASH shell that you get when logging into Linux is such an
incredible environment. Want to edit a file? Just launch vim or emacs.
Shoot, nano is simple if you haven’t chosen from the vim or emacs
bloodlines for mastery.
Understanding how to operate over SSH from a Terminal means that operating on code within VS Code is just a waste of computer RAM.
However, VS Code Remote SSH is pretty sweet for small projects that shouldn’t use up a ton of RAM in how they are operating: like most small web-development projects.
I’d run a Webapp from within a VS Code remote session if I was building something with Django, Flask, Bottle, etc. If I am looking at one of my bigger projects, VS Code is very useful.
If I am running a bunch of VMs to investigate Ceph? I am going to automate everything with Ansible and log into machines over SSH if I need to play with something.
Why not run games on Debian GNU/Linux?¶
I will admit, gaming on Linux is getting better all the time. However, I run older hardware (even my newer machine is over 8 years old). I tried out Steam’s compatibility layer around 2023, and my experience was poor even when my textures all compiled.
Setting up Overwatch 2 on Wine was a substantial investment in hard drive space (100+ GB), and the result was a poor-performing experience that left me getting wiped out faster than ever.
“It works so good!” they say, but alas, my machine is just a bit slower.
Running games directly on Windows gets me the best performance, and I don’t need to worry that the evil PC Game overlords will find out I am running on Linux and ban me for just wanting to use a free operating system. Why not just lean into the environment that the games are natively packaged for, by and large?
I don’t need to boot my laptop into GNU/Linux to use all those tools. WSL works fine. Games do not run fine on this hardware. Maybe my next upgrade will have a fast enough system bus in order to play my games? I would totally migrate over to single-boot GNU/Linux.
Migrating to Windows at Work¶
My experience at home inspired me to translate my work machine to Windows 11. I do a good amount of Windows 11 computer system administration, so I decided to try Windows 11 for my workstation.
Now I have several of my test machines migrated into Hyper-V, all my server/switch management scripting working from WSL, and I have Debian in WSL set to my default terminal.
It’s fine, and I have another option instead of VirtualBox for running VMs for disk image creation. Building our latest lab image for Windows 11 was no problem.