[HN Gopher] WSL Manager
       ___________________________________________________________________
        
       WSL Manager
        
       Author : gballan
       Score  : 54 points
       Date   : 2026-03-08 18:08 UTC (4 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | wongarsu wrote:
       | The ability to run docker containers as wsl instances looks
       | nifty. A bit more overhead since they now run as a VM instead of
       | a container, but you get the ability to start a shell with
       | Windows terminal or access files with Explorer (and thus every
       | program running in Windows)
        
         | osigurdson wrote:
         | Perhaps I misunderstand your comment but when you run docker /
         | podman in Windows, you are using WSL / HyperV.
        
           | smallerize wrote:
           | The linked project includes a very different way to launch
           | docker containers.
        
           | wongarsu wrote:
           | running docker on windows runs docker in wsl (which is a
           | HyperV guest). The project offers running docker images _as
           | wsl instance_ (which is a HyperV guest), no docker involved
        
             | llm_nerd wrote:
             | You said - "A bit more overhead since they now run as a VM
             | instead of a container"
             | 
             | To which osigurdson seemed to be noting that WSL2 itself is
             | a VM (meaning if you launch 1 or 100 WSL2 instances, a
             | single Linux VM will be spun up), and when you run docker,
             | it runs using exactly that same VM (optionally, though it's
             | the default now to just use WSL2's backend).
             | 
             | Can you clarify what you meant by "A bit more overhead"?
             | Running a container via docker or directly via WSL2 will
             | use the same underlying VM, and there will only be that one
             | VM regardless of the number of WSL2 or docker instances.
        
               | wongarsu wrote:
               | For a single container the difference depends on your
               | exact setup. I typically run docker in the same WSL
               | instance as my other wsl stuff, so starting a single
               | docker container adds 0 additional VMs, while starting
               | the container as a wsl instance will add one VM. If you
               | use the "docker for windows" package you may be adding a
               | VM just for running docker, depending on your setup.
               | 
               | Once you start the second container the difference
               | becomes more obvious: running $N containers in docker
               | uses one VM with one linux kernel, no matter how many
               | containers you add. Running $N containers as separate WSL
               | instances runs $N VMs and $N linux kernels. That's the
               | "bit more overhead" I was referring to
        
               | llm_nerd wrote:
               | "Running $N containers as separate WSL instances runs $N
               | VMs and $N linux kernels."
               | 
               | But it doesn't, and this is what I'm disagreeing with.
               | 
               | If you instantiate WSL2, it launches a Linux VM. A single
               | Linux VM. If you then run Docker with WSL2 integration
               | (the default and hugely recommended), it uses that Linux
               | VM as its VM as well, so you're still at 1 VM.
               | 
               | If you run 100 WSL2 instances, they will all use that
               | single Linux VM, each doing namespacing for isolation
               | with their own filesystems. If you run 100 Docker
               | instances, they will all use that single Linux VM.
               | 
               | If you run 100 WSL instances, _and_ 100 Docker instances
               | (assuming, again, WSL2 integration which is the default),
               | they will _all_ be using that single Linux VM.
        
         | Chris2048 wrote:
         | How does this compare to running the containers in one of the
         | WSL VMs? Can't you do all the same things via the host VM?
        
       | lukax wrote:
       | Looks nice but still a bit sad that Flutter is used instead of
       | something native given that they don't need the app to be cross-
       | platform.
       | 
       | Well, even Microsoft uses React Native for a lot of Windows-only
       | apps.
        
         | Defenestresque wrote:
         | I'm glad I'm not alone in missing native apps. I get that it's
         | easier to code a note-taking Electron app, but every time I
         | look at a Linux terminal app written in JavaScript it makes me
         | want to cry.
         | 
         | I know I'm beating a dead HN horse here, but how the hell is it
         | possible that megabytes of embedded JavaScript in websites, to
         | the point that LinkedIn uses about half the RAM I had for my
         | first computer loading 32 MB of JavaScript files. Jjira loads
         | 50 (!) MB of javascript, enough to include the uncompressed
         | version of War and Peace 16 times. That's the size of a full
         | installation of the entire Windows 95 operating system.
         | GitLab's static landing page is 13MB of JavaScript, larger than
         | that of Twitter.
         | 
         | What the hell are we doing here? Why can I spin up a 100 MHz,
         | 8MB RAM VM with a hard drive size that's 1/16th of your entry
         | level MacBook's RAM and have apps open immediately? I
         | understand some backsliding as things get more high level, but
         | a website loading 50 megabytes of JavaScript, to me, is like a
         | bright neon sign that screams "something has gone wrong
         | terribly here". Obviously programs, websites and operating
         | systems have become incredibly more complex but your $200
         | A-series Samsung phone has about 8 cores at 2.2 GHz each. A
         | $200 processor when Windows 95 was released had one core at
         | 0.1GHz. making the processing power about 164x faster. Keep in
         | mind this $200 includes a fully functioning computer in the
         | palm of your hand. The actual CPU part for a midrange phone
         | like the Samsung A15 5G is the Dimension 6100+, which costs all
         | of $25 bucks.
         | 
         | There must be some sort of balance between ease of prototyping,
         | creating and deploying an application without bundling it with
         | Electron or building websites that use tens of megabytes of a
         | scripting language for seemingly nothing. Especially when we
         | can see that a fast, usable website (see this very website or
         | the blogs of many of the people who post here, compared to
         | Reddit for your average medium or substack blog).
         | 
         | How the hell do we fix this? The customers clearly don't want
         | this bloat, companies clearly shouldn't want it either (see
         | research that indicates users exposed to a 200 millisecond load
         | delay on Google, performed 0.2-0.6% fewer searches, and effect
         | that remained even when the artificial delay was removed. This
         | was replicated by Microsoft, Amazon and others. It's frequently
         | brought up that Amazon has said that every 100 milliseconds of
         | page load time cost them 1% in sales, though it's hard to find
         | definitive attribution to this), programmers should hopefully
         | not want to create crappy websites just like mechanics should
         | hopefully not want to install brake pads that squeal every time
         | the user breaks.
         | 
         | This got way longer than the two sentences I expected the post
         | to be, so my apologies.
         | 
         | [1] https://tonsky.me/blog/js-bloat/ [2] Velocity and the
         | Bottom Line, Shurman and Brutlag
        
           | ai-psychopath wrote:
           | > The customers clearly don't want this bloat,
           | 
           | citation needed. the customers clearly want it, for example
           | most programmers chose VS Code over a native app
        
       | behnamoh wrote:
       | I wish it was a TUI. Windows is a plague I try to stay away from
       | as much as possible, and it already gives me headaches to setup
       | WSL and manage them over ssh. Some things you just can't do w/o
       | remote desktop... And sometimes WSL crashes and there's literally
       | no way to recover except to restart the whole machine.
       | 
       | The only reason I use Windows is because Nvidia drivers are
       | easier to setup. But once I'm inside my Fedora WSL, that feels
       | like home, not the Windows host.
        
         | Juminuvi wrote:
         | I think the UI is pretty slick but agree having a TUI option as
         | well would be awesome. Everything in wsl management (import,
         | export, register, compact, etc) can be done with shell commands
         | I believe so a tiny performant TUI might be a straight forward
         | thing for op to add in the future though.
        
         | eddythompson80 wrote:
         | Are you sshing into the wsl instances or he windows host?
         | Pretty much all my interactions with wsl is using the wsl cli.
         | Other than the very initial step of enabling wsl, mostly
         | because I never memorized the powershell enable command.
        
           | behnamoh wrote:
           | I ssh directly into WSL but for setting it up (auto-start,
           | recovery, etc.) I ssh into PowerShell (which I hate). A TUI
           | would go a long way there because no one wants to learn
           | PowerShell.
        
             | eddythompson80 wrote:
             | You can use wsl.exe from powershell to manage wsl.
        
               | mmastrac wrote:
               | FWIW I started reverse engineering the WSL2 API -- it's
               | not terribly complicated to do most tasks without the CLI
               | (which is clunky IMO, as it had a number of times where
               | it changed in backwards/forwards incompatible ways)
               | 
               | https://crates.io/crates/wsl-api
        
       | shmerl wrote:
       | Is there anything that can run a normal Linux VM guest with good
       | quality graphics acceleration on Windows host (i.e. both full
       | OpenGL and Vulkan support)? Not the gimped half VM over HiperV.
       | 
       | VirtualBox has really broken graphics support, you can only run
       | software rendering Linux DEs that way.
        
         | eddythompson80 wrote:
         | You can pass a GPU to the vm if you have more than one. GPU
         | vendors have been gating GPU virtualization for data centers
         | only. Or you can run X on windows like wslg does it.
        
           | shmerl wrote:
           | I need something similar to what qemu/kvm can do with virgl
           | and venus, i.e. pass through graphics call to the same GPU
           | that's used by the host, not pass whole GPU with SR-IOV or
           | PCIe passthrough. So far I haven't found anything like that
           | which actually works.
           | 
           | I'm not using X, I need a normal KDE Wayland session.
        
         | okanat wrote:
         | WSL2 already allows you to use your own GPU driver as a
         | paravirtualized GPU over open source Mesa d3d12 driver. You get
         | quite good OpenGL performance with that.
         | 
         | There are projects like this
         | https://github.com/jamesstringer90/Easy-GPU-PV that you can use
         | to setup a Hyper-V machine to use the same paravirtualization.
        
           | shmerl wrote:
           | _> Tere are projects like this
           | https://github.com/jamesstringer90/Easy-GPU-PV that you can
           | use to setup a Hyper-V machine to use the same
           | paravirtualization._
           | 
           |  _> Automatically Installs Windows to the VM_
           | 
           | This seems to be focused on Windows guests. I need this for
           | Linux guests.
           | 
           | May be when Hyper-V will make this usable out of the box for
           | any guests, I'll take a look. And if it's something
           | shareable, may be VirtualBox should pick that up.
        
       | skhameneh wrote:
       | This is great and all... Except I've long given up on WSL. I
       | really tried to make WSL work for many things, only to find the
       | entire experience (reliability, performance, and beyond) was
       | simply better in every way without Windows.
       | 
       | No matter what you do, there will always be some weird platform
       | detection or line termination that pops up somewhere. And if it
       | isn't that, it's degraded performance or kernel-level
       | incompatibility.
        
         | righthand wrote:
         | 100% agree. If anything WSL is a Linux onboarding experience at
         | best.
        
         | omnibrain wrote:
         | Yes, I since embraced pwsh for terminal stuff on Windows. For
         | everything else I switched back to proper VMs or remote hosts.
        
         | TZubiri wrote:
         | I've transitioned from linux back to windows for workstation
         | usage, and it's one of the main features that allowed me to do
         | so, I haven't had major problems, so I would be interested to
         | know what issues you faced. Of course direct linux is better
         | than WSL, but I found the product to be of very high quality
         | and well integrated with windows.
        
           | nilkn wrote:
           | Same here. The initial version of WSL back in the day could
           | certainly be rough, but modern WSL2 seems totally fine to me.
           | It is the key ingredient that allows me to have one
           | workstation that can do "everything".
        
         | Rapzid wrote:
         | I guess your YMMV. I switched from developing in Linux VMs to
         | WSL about 3 years ago and have used it daily for development.
         | 
         | I don't do much OS level engineering these days though and
         | would probably fire up some VMs for that.
        
         | eddythompson80 wrote:
         | > (reliability, performance, and beyond)
         | 
         | Considering it's just a headless linux vm with some integration
         | with the host, I don't understand what reliability, performance
         | or beyond it could possibly introduce beyond what any VM
         | solution provides?
         | 
         | There are few gotchas with WSL. I hate how by default it
         | includes your Windows path in your default linux path out of
         | the box. It's easy to turn off and my init scripts for any VM
         | always do that anyway, but it's the main thing I have seen
         | people who are new to WSL get tripped by. It's useful to be
         | able to run windows programs from within WSL. Like all the cli
         | tools that pop up a browser to make you login, but that's about
         | where its usefulness ends for me.
         | 
         | > No matter what you do, there will always be some weird
         | platform detection
         | 
         | In my experience, unless you're running a very mainstream
         | distro (read Ubuntu) there will always be a weird "platform
         | detection" issue. I run openSUSE on most of my devices, and
         | used to scripts not working because "uhhh, this is not Ubuntu
         | or Debian or Fedora". The only time I run into "platform
         | detection" issues are scripts that assume `uname -r` of a very
         | narrow format.
         | 
         | > or line termination that pops up somewhere.
         | 
         | That goes back to my original comment about running Windows
         | programs from linux, or moving files to/from linux. I never run
         | into this issue because, just like on a linux desktop, I only
         | interact with linux through the commandline. Even on a full
         | linux desktop, I have this mental separation between GUI apps
         | and terminal apps.
         | 
         | > it's degraded performance or kernel-level incompatibility.
         | 
         | The only "kernel-level incompatibility" I run into is that WSL
         | kernel doesn't have /dev/kvm. Granted I don't do a lot of
         | kernel module specific development, so I don't know how
         | something like a USB device or a PCIe interface can be passed
         | to the WSL instance. But again, I'm thinking of it, and
         | treating it like a user-mode development VM, not a full host.
        
           | withinboredom wrote:
           | USB forwarding to WSL is built in to the WSL kernel, but you
           | do need to install a thing on the windows side. After that,
           | there are a number of GUIs to manage your usb devices or you
           | can use the shell. Switching a usb devices from windows to
           | WSL basically unplugs it from windows and plugs it into WSL.
           | 
           | I need it to access ssh keys from my yubikey. It's painless
           | if you just set it up to automatically forward the device on
           | startup.
        
         | tonymet wrote:
         | maybe it was WSL1 ? WSL2 IO is excellent as long as you stay
         | within the FS. And with VS Code WSL support , all IO & commands
         | are remoted into WSL so there are no Windows/Linux
         | compatibility issues.
        
       | llm_nerd wrote:
       | Neat project. Merging the layers of a docker image and setting
       | that as a WSL filesystem is a nice convenience.
       | 
       | I recently realized that 100% of what I use Windows for was as a
       | WSL2 foundation: It had been reduced to being an extremely
       | overbearing and heavyweight host machine for a Linux VM. Nothing
       | in my life was Windows-only anymore, and it was basically just
       | inertia that I even still had it installed.
       | 
       | I'd been a "Windows guy" for decades, had decades of Windows
       | software dev under my belt, even got my MCSE, MCDBA, along with
       | other Microsoft certs, and even wrote for MSDN Magazine. No
       | longer did it have any leverage on my profession at all, which
       | was shocking to me.
       | 
       | The next day I purged Windows from my two main working machines,
       | so now I'm pure Linux and macOS. A few weeks later and I can say
       | it has been a marvelous transition, and cuts out the no longer
       | relevant middleman.
        
       | tonymet wrote:
       | this is great and I have a feature request: A "refresh VM"
       | feature that exports your home dir + packages into a new VM
       | instance.
       | 
       | I've tried Optimize-VHD but renewing the VM this way frees up
       | disk and speeds up the VM as well. None of the WSL settings for
       | sparse disk / disk shrinking seem to work well.
       | 
       | Here's what I usually do                  $ tar -czf
       | /mnt/c/Temp/home-backup.tgz $HOME        $ apt list --installed >
       | /mnt/c/Temp/packages.txt
       | 
       | delete the VM, create a new one, reverse the process.
       | $ tar -cxf /mnt/c/Temp/home-backup.tgz -C $HOME        $ apt
       | update        $ cat /mnt/c/Temp/packages.txt | xargs apt install
        
       ___________________________________________________________________
       (page generated 2026-03-08 23:00 UTC)