gvisor VS WSL

Compare gvisor vs WSL and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
gvisor WSL
64 406
15,066 16,635
2.8% 1.4%
9.9 8.3
5 days ago 6 days ago
Go PowerShell
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

gvisor

Posts with mentions or reviews of gvisor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-03.
  • Maestro: A Linux-compatible kernel in Rust
    7 projects | news.ycombinator.com | 3 Jan 2024
    Isn't gVisor kind of this as well?

    "gVisor is an application kernel for containers. It limits the host kernel surface accessible to the application while still giving the application access to all the features it expects. Unlike most kernels, gVisor does not assume or require a fixed set of physical resources; instead, it leverages existing host kernel functionality and runs as a normal process. In other words, gVisor implements Linux by way of Linux."

    https://github.com/google/gvisor

  • Google/Gvisor: Application Kernel for Containers
    3 projects | news.ycombinator.com | 2 Jan 2024
  • GVisor: OCI Runtime with Application Kernel
    1 project | news.ycombinator.com | 2 Jan 2024
  • How to Escape a Container
    4 projects | news.ycombinator.com | 20 Dec 2023
  • Faster Filesystem Access with Directfs
    1 project | news.ycombinator.com | 28 Jul 2023
    This sort of feels like seeing someone riding a bike and saying: why don’t they just get a car? The simple fact is that containers and VMs are quite different. Whether something uses VMX and friends or not is also a red herring, as gVisor also “rolls it own VMM” [1].

    [1] https://github.com/google/gvisor/tree/master/pkg/sentry/plat...

  • OS in Go? Why Not
    2 projects | news.ycombinator.com | 21 May 2023
    There's two major production-ready Go-based operating system(-ish) projects:

    - Google's gVisor[1] (a re-implementation of a significant subset of the Linux syscall ABI for isolation, also mentioned in the article)

    - USBArmory's Tamago[2] (a single-threaded bare-metal Go runtime for SOCs)

    Both of these are security-focused with a clear trade off: sacrifice some performance for memory safe and excellent readability (and auditability). I feel like that's the sweet spot for low-level Go - projects that need memory safety but would rather trade some performance for simplicity.

    [1]: https://github.com/google/gvisor

    [2]: https://github.com/usbarmory/tamago

  • Tunwg: Expose your Go HTTP servers online with end to end TLS
    2 projects | /r/golang | 2 May 2023
    It uses gVisor to create a TCP/IP stack in userspace, and starts a wireguard interface on it, which the HTTP server from http.Serve listens on. The library will print a URL after startup, where you can access your server. You can create multiple listeners in one binary.
  • How does go playground work?
    3 projects | /r/golang | 30 Apr 2023
    The playground compiles the program with GOOS=linux, GOARCH=amd64 and runs the program with gVisor. Detailed documentation is available at the gVisor site.
  • Searchable Linux Syscall Table for x86 and x86_64
    7 projects | news.ycombinator.com | 14 Apr 2023
  • Multi-tenancy in Kubernetes
    13 projects | dev.to | 10 Apr 2023
    You could use a container sandbox like gVisor, light virtual machines as containers (Kata containers, firecracker + containerd) or full virtual machines (virtlet as a CRI).

WSL

Posts with mentions or reviews of WSL. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-28.
  • GoboLinux
    3 projects | news.ycombinator.com | 28 Feb 2024
    It absolutely 100% can be true.

    As an example: Windows Services for Linux 2 used a special init daemon to interact with the host OS.

    That meant no systemd. That meant that the `systemctl` program wasn't there.

    This baffled legions, armies, of wannabe sysadmins.

    https://stackoverflow.com/questions/55579342/why-systemd-is-...

    https://superuser.com/questions/1785697/systemd-in-wsl-on-wi...

    https://github.com/microsoft/WSL/issues/9477

    https://askubuntu.com/questions/1132230/unable-to-run-any-sy...

    People on the whole have no idea how this stuff works, and they just copy magic incantations from StackOverflow to get stuff to happen. If that doesn't work, then this OS is broken. The end.

    For these guys, WSL was broken.

    Result:

    MS hired Lennart Poettering.

    https://www.theregister.com/2022/07/07/lennart_poettering_re...

    He "fixed" it. Systemd now works in WSL2. All those guides for noobs now work. Everyone is happy.

    In a world where tools like Flatpak and Snap are proliferating and it's driving deep divisions between Linux distros, if you think the average person struggling with Linux is going to use `ldd` to work out where the dependencies for something live, I'm afraid you are a deep guru who lives on a different plane of existence.

    We now have widely-used packaging systems which simply embed an apps entire dependency tree into a package to avoid people having to work out the difference between `apt` and `rpm`. Thousands of terabytes of disk are being burned to make this stuff go away.

    Yes, this is too hard. Way too hard.

  • Why Linux utilities tend to run poorly on Windows
    1 project | news.ycombinator.com | 3 Jan 2024
    Better source: https://github.com/Microsoft/WSL/issues/873#issuecomment-425...
  • Weird graphical glitch/problem in Ubuntu WSLg (OpenGL)
    1 project | /r/bashonubuntuonwindows | 10 Dec 2023
  • RamRamRamEveryoneSleepingOnDocker
    3 projects | /r/ProgrammerHumor | 7 Dec 2023
    One of the bugs where on the Docker side. As I have said, there have been several since release with a lot of impact period overlap. The latest and greatest is not resolved.
  • Laravel dev in Windows - Laragon vs Docker?
    1 project | /r/laravel | 7 Dec 2023
    It's the issue of abysmal I/O performance in communication between the mounted WSL2 virtual hard disk and Windows mounts inside the WSL2 distro.
  • WSL freeze seems fixed in 2.0.12
    1 project | news.ycombinator.com | 6 Dec 2023
  • What's the right way to open files in the system's default program from Ubuntu 22.04 in WSL 2 please?
    1 project | /r/bashonubuntuonwindows | 6 Dec 2023
    I found this github page and I was able to reproduce this from the answer
  • Ask HN: Best Docker open source alternative?
    1 project | news.ycombinator.com | 5 Dec 2023
    * Docker engine and not Docker Desktop in a VM. WSL2 works well after some configuration: https://github.com/microsoft/WSL/issues/6655#issuecomment-11...
  • Broadcom to Cut Almost 1,300 VMware Jobs in California After Takeover
    1 project | news.ycombinator.com | 30 Nov 2023
    Seems to more of a Defender issue than a WSL one, see https://github.com/microsoft/WSL/issues/8995

    After adding exclusions for the fsnotifier-wsl process and and both variants of the WSL distro path my disk performance was improved.

    Adding the idea64.exe process also helped since I was trying to run IntelliJ against projects inside WSL.

  • Bricked WSL 2 after 2.0.9 / Windows 10
    1 project | /r/bashonubuntuonwindows | 21 Nov 2023

What are some alternatives?

When comparing gvisor and WSL you can also consider the following projects:

firecracker - Secure and fast microVMs for serverless computing.

wslg - Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios

podman - Podman: A tool for managing OCI containers and pods.

genie - A quick way into a systemd "bottle" for WSL

wsl-vpnkit - Provides network connectivity to WSL 2 when blocked by VPN

Scoop - A command-line installer for Windows.

kata-containers - Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/

Single-GPU-Passthrough

sysbox - An open-source, next-generation "runc" that empowers rootless containers to run workloads such as Systemd, Docker, Kubernetes, just like VMs.

setup-msys2 - GitHub Action to setup MSYS2

containerd - An open and reliable container runtime

mkcert - A simple zero-config tool to make locally trusted development certificates with any names you'd like.