Menu

What you can run on WSL2 and why to choose it

6 min read Manuel

WSL2 is often presented as "Linux for web developers", but it is much more: it is a complete Linux environment, with a real kernel, running inside Windows without the weight of a traditional VM. Here is what you can run on it and why it is the right choice.

Software development

Web development

Node.js, Python, Ruby, Go, Rust — they all run natively on WSL2. Modern frameworks (Next.js, Django, Rails, Laravel) are tested on Linux. On WSL2, you are in that ecosystem: same performance, same tools, same bugs (or rather, the same bugs you find in production on a Linux server).

Mobile development

Flutter, React Native, Android SDK — they work on WSL2. The Android emulator can be slow, but compilation and debugging are solid.

Embedded and IoT

PlatformIO, Arduino CLI, ARM tools — they often require Linux-specific tools. On WSL2, they work without dual boot.

Artificial Intelligence and Machine Learning

Autonomous AI agents

Hermes Agent, Claude Code, Aider — AI agents that live in the terminal were born on Linux. On WSL2, they have access to a complete POSIX environment, Linux-native tools, and the same compatibility they would have on a Linux server.

Local models

Ollama, LM Studio, llama.cpp, vLLM — for running LLM models locally. On WSL2, you have access to:

  • GPU passthrough: WSL2 supports CUDA and DirectML, so you can use your NVIDIA/AMD GPU for inference
  • Native filesystem: models are large files (GB), and on native ext4 they are much faster than on a mounted NTFS drive
  • Linux tools: ffmpeg, git, rsync, jq — all native

Training and fine-tuning

If you have a powerful GPU, WSL2 with CUDA allows you to train and fine-tune models. It is not as fast as a dedicated Linux server, but it is much better than any alternative on native Windows.

Containers and virtualisation

Docker

Docker on Windows uses WSL2 as its backend. But on WSL2, Docker is native: docker-compose, local Kubernetes (k3s, kind), and all containerisation tools work as they do on Linux.

Local Kubernetes

k3s, kind, minikube — for testing Kubernetes deployments locally. On WSL2, they are native and performant.

Local servers

Nginx, Apache, PostgreSQL, Redis, MongoDB — for testing server configurations locally. On WSL2, they are native and behave as they do in production.

Security and pentesting

Kali Linux

Kali Linux is available as a WSL2 distro. Pentesting tools like Nmap, Metasploit, Burp Suite, Aircrack-ng — they run natively.

Forensics

Digital forensics tools, malware analysis, reverse engineering — many are Linux-native and work on WSL2.

Offensive security

If you do red team or security research, WSL2 gives you an isolated Linux environment but with access to your GPU and your Windows files (if needed).

Multimedia and creativity

Video editing

FFmpeg, DaVinci Resolve (with GPU passthrough), Blender — for video rendering and 3D animations. On WSL2 with GPU, performance is close to a native Linux server.

Audio production

Ardour, Audacity, JACK — for audio production. On WSL2, they work, although real-time audio may require special configurations.

Graphics and design

GIMP, Inkscape, Krita — for vector and raster graphics. On WSL2, they work, although for professional design a native Linux desktop is still superior.

Servers and infrastructure

Web servers

Nginx, Apache, Caddy — for testing websites locally. On WSL2, you can expose ports and test as if you were on a Linux server.

Databases

PostgreSQL, MySQL, MongoDB, Redis — for development and testing. On WSL2, they are native and performant.

Message brokers

RabbitMQ, Kafka, NATS — for microservices architectures. On WSL2, they work as they do in production.

Why choose WSL2

1. Near-native performance

WSL2 uses a real Linux kernel in a lightweight VM. Performance is close to a native Linux server, especially for CPU-bound operations and I/O on the native filesystem (ext4).

2. Complete compatibility

Unlike WSL1 (which translated syscalls), WSL2 has a real Linux kernel. Every syscall works as it should. This is critical for tools that depend on specific Linux behaviours: fork, signals, UNIX sockets, /proc, file watchers.

3. Integration with Windows

WSL2 is not isolated: you can access Windows files from /mnt/c/..., run Windows commands from Linux (cmd.exe /c ...), and vice versa. You can use VS Code with the Remote - WSL extension to develop inside WSL2 with the Windows interface.

4. GPU passthrough

WSL2 supports CUDA and DirectML. You can use your NVIDIA/AMD GPU for AI/ML, rendering, and general computing. This is something you do not have on native Windows with the same ease.

5. Native Docker

Docker on WSL2 is native, not a wrapper. docker-compose, Kubernetes, and all containerisation tools work as they do on Linux.

6. No dual boot

WSL2 gives you a complete Linux environment without restarting your computer. You can have Windows and Linux at the same time, with file sharing and clipboard integration.

7. Lightweight

WSL2 uses fewer resources than a traditional VM (VirtualBox, VMware). The VM starts in a few seconds, uses memory intelligently, and suspends when not in use.

When NOT to use WSL2

1. Production servers

WSL2 is for development and testing, not for production. If you need a Linux server in production, use a VPS or a dedicated server.

2. Complex GUI applications

WSLg (Linux GUI on Windows) has improved a lot, but for complex GUI applications (CAD, professional 3D design, real-time video editing), a native Linux desktop is still superior.

3. Specific hardware drivers

If you need specific hardware drivers (special network cards, complex USB devices), WSL2 may not support them. Check compatibility first.

4. Extreme performance

If you need extreme performance (HPC, training large models, large-scale rendering), a dedicated Linux server with optimised hardware is still the best choice.

How to get started

# Installa WSL2 (Windows 10/11)
wsl --install

# Installa una distro (es. Ubuntu)
wsl --install -d Ubuntu

# Aggiorna WSL
wsl --update

# Elenca le distro installate
wsl --list --verbose

Once installed, you have a complete Linux terminal inside Windows. You can install any package with apt, use git, docker, python, node — everything as on a Linux server.

Conclusion

WSL2 has become a complete, performant Linux environment, well integrated with Windows. For developers, AI researchers, pentesters, and anyone who needs a Linux environment without giving up Windows, it is the right choice.

It is not a replacement for a dedicated Linux server, but for development, testing, and many professional use cases, it is more than sufficient. And with GPU support, native Docker, and complete compatibility, it is often the best choice compared to traditional VMs or dual boot.

References


TAG: #wsl2 #ai #linux #sql