Windows Subsystem for Linux

Linux screen with WSL2 IS AWESOME written in outline form.

Way back at Microsoft Build 2016—the Windows Subsystem for Linux (WSL) Team’s premiere developer conference—we introduced the world to the Windows Subsystem for Linux. This was particularly exciting news for web developers. Before WSL, developers had to switch back and forth between these platforms. Now, they can use the rich Linux developer ecosystem and tools alongside the great tools they were already using in Windows, without having to boot into another operating system or VM.

So how has WSL gotten to where it’s at now, and how are Windows Insiders helping us determine what’s next? Let’s take a look!

Early days

We first introduced WSL through the Windows Insider Program, starting with the release of the Windows 10 Insider Preview Build 14316. Our hope was that a beta release might give us a little feedback to help with our ongoing developing. As it turns out, we received more feedback than we could have ever imagined! Almost overnight, news articles, blog posts, and social media started to pop up, fueling the excitement for WSL and helping to drive our development priorities.

To date, your feedback all adds up to almost 32,000 comments from our community on GitHub alone—with nearly 4,000 issues filed. Thanks to all of you for joining us on our WSL journey. Your amazing feedback has helped inspire hundreds of fixes and improvements, which we’ve detailed in our WSL release notes.

When WSL first shipped with the Windows 10 Anniversary Update, it was still far from complete. Thanks in large part to your feedback, that all changed during the Windows 10 Creators Update development cycle. Your feedback helped us focus on key issues—and deliver on some top requests along the way:

  • 24-bit Color in the Windows Console – One of the earliest and most frequent requests we received was to increase the number of colors that the Windows Console can support. In Insider Preview Build 14931, we added support in WSL to see glorious 24-bit RGB true color through the Windows Console.
  • inotify & filesystem change notification support – A key capability that many developers had been waiting for was “inotify support.” Inotify is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem and report those changes to applications. One major use is in desktop search utilities, where inotify permits re-indexing of changed files without scanning the filesystem for changes.
  • ifconfig and network connection enumeration support – Enable network connection enumeration was the most-requested idea in our command-line UserVoice. Or at least it was, until Insider Preview Build 14965 was released, with support for network connection enumeration.
  • Copy and paste arrives for Linux/WSL Consoles – It took us a while to untangle the Console’s internals and implement this highly-requested feature, but eventually, we got it right and delivered it with Insider Preview Build 17643.
  • Supports for USB Serial comms – We heard from many of you (especially those who work with IoT/embedded/etc. devices that communicate via USB/serial) that WSL was unable to talk to serial comms ports. So, in FCU, we added serial device support, as outlined in the original announcement post.
  • Mounting of USB storage devices and network shares – Another common ask from many WSL users was for WSL to support mounting of USB-attached storage devices, and network shares. In Insider Preview Build 16176, USB and UNC paths (network shares) were added.

To 19H1 and beyond

By the time Insider Preview builds for 19H1 (or 1903) began rolling out, WSL was fast becoming a day-to-day toolset for developers around the world, making them ever more productive when building, testing, deploying, and managing apps and systems on Windows 10. But we weren’t done yet. Insider feedback continued to inspire even more cool, new features, including:

  • Linux Files inside of File Explorer – No more losing files or corrupting data when creating and changing Linux files from Windows. Now you access Linux files in a WSL distro from File Explorer in Windows. No wonder this was another one of our top UserVoice asks.
  • More performance & more compatibility – We heard you loud and clear. Our top requests from the WSL community have been to increase the file system performance and make more apps work inside of WSL. And with the recent release of WSL 2, you can get up to 20x faster performance compared to WSL 1. And now that WSL 2 includes its own Linux kernel, it has full system call compatibility. This introduces a whole new set of apps that you can run inside of WSL, including the Linux version of Docker, as well as FUSE!

What’s next

As we move on to upcoming Insider Preview builds, you can look forward to even more features, bug fixes, and general updates to WSL 2. For details, check the Windows Insider Program’s flight blog posts, as well as the Command-Line Blog, and the WSL Team Blog. If you run into any issues or have feedback for our team, please file your issue on our Github. For any general questions about WSL, you can reach our team members on Twitter. Keep that feedback coming!