DEV Community

Fulton Browne
Fulton Browne

Posted on

What is your opinion of WSL

I love it, it's much faster than a VM and it does all the basic things I need it to do, What do you think?

Oldest comments (47)

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

I think it's a good marketing move from MS.

However, I'm not sold on it being a great thing other than letting you use sensible tools for text processing on Windows directly. Performance is actually worse than a VM for most of the stuff I've tried using it for (no, seriously, I get better performance for file access by using SMB over a private network interface to a VM than I do using 'direct' access to the files through WSL), and there's a lot of useful things (especially for IT professionals) that you just can't do with it (like recovering data from a dying hard drive out of an old Linux server).

Collapse
 
richturn_ms profile image
Rich Turner

With respect, you've clearly not taken a look at WSL2 then, which uses lightweight VM to run a real Linux kernel image atop which each distro is hosted its own container. Net result is that you get 100% Linux compat, Hyper-V levels of perf (i.e. v. near native for most scenarios), and all the convenience of distros' that startup from cold in < 2s.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Oh, no, I've looked at WSL2.

The filesystem performance benefits are mostly contingent on you having all your data inside the container, which is not an option for me (I need access to the actual datasets I'd be working on outside of WSL as well without having to sync them manually).

The pass-through filesystem performance may improve a bit because of the switch to 9P2000L over VirtIO for file sharing, but unless they've decided that Windows Defender doesn't need to be involved, it won't be enough to mater for many potential use cases, including mine.

Also, it's not 100% Linux compatible. It still doesn't let you poke at raw block and character devices, so anything that needs to work with hardware directly (like all of the IT related stuff that it would be useful for other than a simple network console) just plain won't work.

Collapse
 
offero profile image
Chris

Can't please 'em all, Rich!

... can't wait for wsl 2 to be available in the slow insiders releases.

Collapse
 
seefer007 profile image
Darren Evans

The only file performance issues I've seen are when I try to work across the Windows and Linux file systems. I'm running a WSL2 Linux dev environment for my web developer bootcamp and as long as I'm not storing my project files on a Windows volume and accessing from Linux but instead working directly within my WSL2 Ubuntu 20.04 distro file system, there is no file performance problem.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Back when I originally posted, WSL2 was still in it’s infancy and did still have some limited file performance issues even inside the VM environment itself. All the experience I had at that point though was with WSL1, which demonstrably has serious filesystem performance issues (though not as bad now as they use dto be).

WSL2 today does indeed have essentially no performance issues for stuff contained in the VM environment itself, and only limited performance issues for access outside of that context.

Collapse
 
tracker1 profile image
Michael J. Ryan

The handful of times I've tried it, it didn't work right. Tried running docker under wsl2, whole system crashed...

Just sticking with git bash (despite Windows-isms) and docker desktop for now. Actual Linux on my home desktop.

Collapse
 
tracker1 profile image
Michael J. Ryan

What a difference a few months makes... on the 2004 update via insiders channel... WSL2 and Docker Desktop WSL2 config are working great now. VS Code's WSL extension is really nice as well... much better experience than the last time I tried it.

Collapse
 
tracycodes profile image
Tracy Adams

So far it's been a good experience, except for a few weird bugs like permission issues and so on.

Other than that, it's transformed web development on my Windows machine. I do, however, still use my OSX machine for most of my day job except for Windows-specific work.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

What is it?

Collapse
 
fultonbrowne profile image
Fulton Browne

WSL is Windows Subsystem for Linux more info can be found here

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Oh the embedded Linux thing I use when it came out, why didn't you say so 😂 (acronym memory leak)

Collapse
 
byrro profile image
Renato Byrro

I think it's in the right direction, but still need work to become closer to actually running Linux "natively".

Somethings still don't work, like Docker.

And performance improvements.

But it's already very useful.

Collapse
 
richturn_ms profile image
Rich Turner

WSL2 literally runs Linux natively. In a lightweight VM upon which distros run hosted in their own containers.

Collapse
 
byrro profile image
Renato Byrro • Edited

That's why I used double-quotes. Although it's native on a VM, the experience from the developer perspective is not the same. Hence the mentions in the comments about things that still don't work on WSL as well (or at all) as in non-VM Linux.

Collapse
 
moopet profile image
Ben Sinclair

I think it's problematic in terms of where it comes from.
Microsoft is working on its Sphere and will presumably be using this platform to for the "extinguish" phase of its traditional Embrace, Extend, Extinguish policy.

WSL is very like WINE except not so good and with dubious motives.

And it really isn't that good. You can't access devices properly. You can't even read an ext* file system because everything's proxied. The terminals - even the one Microsoft launched with that music video - are rough and unpleasant to use. There's no proper display support.

It's difficult for me to see what benefit WSL gives. I know a lot of developers who use Git Bash (full disclosure, I haven't) and that gives them everything they need.

WSL seems like a funny halfway-house that's just there so Microsoft employees can say, "see? why do you need to install that other OS when you can do it all from inside ours?"

Collapse
 
fultonbrowne profile image
Fulton Browne

maybe its because iI have been using windows my entire life, but i quite like that new terminal :)

Collapse
 
richturn_ms profile image
Rich Turner

Terminal is brand new and early in its development. That said, it's also improving very quickly and is now the daily driver command-line experience for many.

WSL, esp. WSL2 provides Windows users with many features that they have lacked for years, including a very/fully compatible Linux environment running alongside their Windows apps and tools. WSL enables users to seamlessly access files in their Windows filesystem, and for Windows to access files within each distro. It's also easy to invoke Linux commands from Windows and Windows binaries & tools from within Linux distros running on WSL.

It's far from a "funny halfway-house" - it's a very real and highly productive environment for anyone who needs to use Windows and Linux tools at the same time.

Collapse
 
sudiukil profile image
Quentin Sonrel

I love it, it's not perfect but it's absolutely awesome for the people like me who just cannot work without having UNIX/Linux tools at hand.

Collapse
 
alansolitar profile image
Alan Solitar

It works pretty well for me. I like it because it allowed me to stop using a virtualbox VM to develop on windows.

I have occasionally run into wsl specific bugs with things like pipenv and docker. Overall, I like it and am willing to work around these bugs in exchange for the convenience of wsl.

Collapse
 
gvescu profile image
Gustavo Vera Scuderi

I used it for some workflows like Ruby (which even with the effort of the RubyInstaller guys, it's kinda cumbersome on Windows), but for working with Node, PHP and other I've found myself using only native Windows versions. It still feels like a virtual machine for me.

I just install Chocolatey and I'm good to go.

Collapse
 
andrioid profile image
Andri

I've been using it for a few weeks now

Pros:

  • JS/TS development is so much better on WSL than Windows
  • Docker
  • I can use a real shell

Cons:

  • It blurs the line between OS and emulation layer, and not in a good way.
  • It's still Windows, and Windows likes to interrupt me while I work.
  • Some confusion as to which filesystem you're on. Your /home/youruser isn't /users/youruser
  • Missing a X11 server by default (but you can install one)

On a daily basis, I run Windows (gaming), Mac (work) and Linux (side projects). My personal OS preference is Elementary OS and I want hardware support for Linux to get better.

Which brings me to why I have a problem with how WSL is marketed. They're thinning out the word "Linux". If you ask them if Surface Pro runs Linux, you'll get a bullshit sales pitch about why WSL is better.

It's an emulation layer. A good one, sure. But doesn't replace the real thing.

Collapse
 
shiftymccool profile image
Ryan Harris • Edited

Just came across this thread while setting up a new dev machine. Your first "Pro" caught my eye and I was wondering if you could expand on this point: "JS/TS development is so much better on WSL than Windows". I've done Angular (TypeScript) development both in straight Windows 10 and WSL as well as various flavors of Linux (mainly Ubuntu). What makes it better?

I want to like WSL but it just seems to add a layer of complexity rather than improving the experience. If there are good reasons to put up with the added layer that I am not aware of, I would be very interested in learning.

Thanks!

Collapse
 
andrioid profile image
Andri • Edited

Mostly the whole Python, compile build stuff is less buggy on Linux than Windows. Then there are Windows paths that can cause issues.

I do absolutely agree that WSL adds complexity. If that complexity is worth it, I can’t say.

If you don’t have any issues. Then I wouldn’t change to WSL.

Thread Thread
 
shiftymccool profile image
Ryan Harris

I totally get Python on WSL, I wouldn't do that on Windows without a gun to my head. I was mainly interested in what made JS/TS development better in WSL. If your opinion has changed, what changed it?

Thanks for replying to this old-ish thread!

Thread Thread
 
andrioid profile image
Andri

My opinion hasn't really settled. What pushed me into the anti WSL direction was when I tried to get React Native running in WSL with an Android simulator on Windows. That was just painful to the point where I fetched my Linux laptop and plugged that in instead.

For JS/TS development I'd pick:

  1. Linux on ElementaryOS
  2. Mac
  3. Windows WSL
  4. Windows