Windows Subsystem for Linux out of Beta!

We're excited to announce that in Windows 10 Fall Creators Update (FCU) due to ship in fall 2017, Windows Subsystem for Linux (WSL) will no longer be a beta feature and will become a fully supported Windows feature. Early adopters on the Windows Insider program will notice that WSL is no longer marked as a beta feature as of Insider build 16251.

This will be great news for those who've held-back from employing WSL as a mainline toolset: You'll now be able to leverage WSL as a day-to-day developer toolset, and become ever more productive when building, testing, deploying, and managing your apps and systems on Windows 10.

So, what changes?

Very little! In fact, the only change most will notice, is that the "Windows Features" will no longer indicate that WSL is a beta feature!

What will change is that you will gain the added advantage of being able to file issues on WSL and its Windows tooling via our normal support mechanisms if you want/need to follow a more formal issue resolution process. You can also provide feedback via Windows 10 Feedback Hub app, which delivers feedback directly to the team.

We'll still do our best to remain as responsive as ever to the bugs and issues you post to the WSL issues GitHub repo and we'll remain just as engaged, seeking and responding to your questions, etc., on Twitter and will continue monitor and contribute to discussions and answer questions on forums and sites like Stack Overflow, Ask Ubuntu, Reddit and others.

So, do continue to let us know if you run into issues, and/or have questions, and we'll continue to improve WSL to support our key scenarios.

Caveat Emptor

Of course, we'd be remiss if we didn't take a moment to remind ourselves of our key WSL scenarios:

  • Run Linux Command-line tools for development and (basic) administration
  • Share and access files on the Windows filesystem from within Linux
  • Invoke Windows processes from Linux, e.g.
    ~$ cd /mnt/c/temp/ && echo "Hello" > hello.txt && notepad.exe hello.txt 
  • Invoke Linux processes from Windows command-line, e.g.:
    C:\> bash -c "fortune | cowsay" 

And there are a couple of things we explicitly do NOT support:

  • Linux distro's running atop WSL are for interactive user scenarios, NOT for running production workloads on Apache/nginx/MySQL/MongoDB/etc.
  • Linux files are NOT accessible from Windows (we're working to improve this scenario over time)
  • NO current plans to support X/GUI apps, desktops, servers, etc. at this time

Support & Issues

With the removal of the beta tag, it's also important to note who is responsible for supporting & fixing what part of the system:

  1. Microsoft supports the WSL infrastructure and tooling
  2. Distro-publishers are responsible for their distro internals

Microsoft and our awesome distro publisher partners maintain an open channel and partner-up to diagnose issues to their root cause, wherever that may be, and to schedule & deliver fixes when feasible.

If you do find something that doesn't work as you'd expect it to, or you have identified a reproducible issue, please continue to file feedback on our GitHub Issues repo, following the contribution guidelines and completing the new issue template as fully as possible. This process has proven to be a highly effective way for the WSL team, our distro partners, and our fanstastic community to directly engage & drive issues to resolution quickly and efficiently.

Key Takeaway

The removal of the beta tag will result in a continued improvement in product quality over time, and demonstrates our continued commitment to making Windows a great platform upon which to run your Linux tools. We look forward to hearing & learning more from you about what works, what doesn't, what features you'd like to see, and how WSL helps you achieve more.

Rich, Sarah, and the WSL Team.

Comments (66)

  1. Will says:

    Very exciting stuff! I’ve been using the WSL since it arrived on the fast ring and continue to be amazed. Keep up the good work!

    1. Glad you’re liking it. Thanks for your comment 😀

  2. Zz says:

    Please make GPU works, so that I can run many machine learning library on Windows

    1. This is on our backlog – bear with us 😉

  3. Gavin Groom says:

    “You can also provide feedback via Windows 10 Feedback Hub app, which delivers feedback directly to the team.”

    This will reap huge benefits, I suspect. Great works guys!

  4. its sounds aswome that “Windows Subsystem for Linux out of Beta!” Which Windows 10 build does this apply to?

    1. Please read the opening paragraph:

      We’re excited to announce that in Windows 10 Fall Creators Update (FCU) due to ship in fall 2017, Windows Subsystem for Linux (WSL) will no longer be a beta feature and will become a fully supported Windows feature. Early adopters on the Windows Insider program will notice that WSL is no longer marked as a beta feature as of Insider build 16251.

  5. Venom says:

    Since you make 32 bit Windows 10, why do you not make the linux subsystem compatible with it?

    1. Because WSL relies upon several features of x64 CPU’s to ensure integrity and security of WSL.

      1. Snex Mix says:

        VirtualBox is able to run a 64bit ubuntu in a 32bit windows on 64bit processor. Why can’t WSL do the same?

        1. Because WSL does not use a VM – it literally runs your Linux binaries directly on the NT kernel and thus requires that you run apps that match the architecture of the kernel.

  6. JPG says:

    Great work! Support for X/GUI apps would be the last remaining thing so that I could ditch my Linux partition permanently.

    1. Our goal is not to replace Linux, nor is it to support X/GUI apps. We are currently entirely focused on supporting command-line tooling as best we can.

  7. I was hoping to see that they got audio support working. Oh well.

    1. Audio support isn’t a key scenario for running developer/ITPro/dev-ops command-line tooling. This said, some have had some success running Pulse Audio 😉

    2. Ash Wolford says:

      It’s a little convoluted, but pulseaudio seems to work pretty well.

    3. Jon says:

      Audio doesn’t even work on real Linux most of the time, I wouldn’t worry about it.

  8. Josh says:

    Will signalfd() be fully supported?

  9. Petro says:

    I wish Microsoft and RedHat unite efforts using Cygwin. This is more mature platform with many ported packages.

    1. WSL prevents the need to port packages since it’s enables one to directly run unmodified Linux binaries. Cygwin/MSYS, on the other hand, ports a subset of the GNU toolset to Win32 for direct use within Windows environments. Each has their pro’s and con’s.

  10. Julius Schwartzenberg says:

    It’s sad that you’re avoiding the use of the name GNU. It’s clear that you want to provide users with a GNU environment, but that Microsoft is uncomfortable with the philosophy of the GNU project and thus avoids mentioning it by its proper name.

    1. We could have called it “indows Subsystem for Running POSIX, GNU, and Linux Compatible Binaries”- WSRPGLCB, but I think you’ll agree that it’s doesn’t exactly roll off the tongue.

      This isn’t about philosophy, this is about practical reality.

      1. Julius Schwartzenberg says:

        I fully agree with the name of the subsystem. But there are many references to the environment running inside of it as well. This is consistently a GNU environment. (I haven’t seen anything about supporting non-GNU environments.)

        Above it is even referred to as ‘Linux’, when there is no Linux code running at all, and I have seen references to it as just running “Bash”, which is apparently a more convenient name for Microsoft to reiterate than GNU.

        1. Ash Wolford says:

          To be fair, ‘GNU’ doesn’t have much of a ring to it.

        2. Avindra Goolcharan says:

          $ uname -o

          The first time I ran into this, it happened on WSL. You should be happy 🙂

  11. In retrospect, the current Docker for Windows on Windows 10 Pro / Hyper-V seems like a better idea than WSL, given the limitations you’ve posted. Does WSL have a future??

    1. Containers/Dockers/VM’s all have a part to play, but tend to offer a more “isolated runtime environment” than WSL … and this is specifically by-design: WSL is about providing Linux tooling alongside Windows tooling, sharing access to the same network and filesystem, to increase developers’ productivity & efficiency.

      If you want to run tools & share access to files on the host machine, WSL is a great fit. If you want to deploy systems to a server/farm/cloud, containers and/or VM’s are a better bet.

  12. mark says:

    Great news. Thanks for the documentation too – it would be very difficult to keep up with news about changes done by WSL upstream (since I can not check regularly, so I have to check sporadically at best; the blog series provide an entry point for me to keep updated, even tough I do sometimes read github issue trackers – useful information can be found in some of them as well).

    1. Thanks Mark. Glad this blog is helping you stay up to date with WSL’s continued improvement. Note: You may also want to check our release notes on a regular basis too:

  13. Malin says:

    I’m really curious as to where this is going in the end. It seems to me that Microsoft just wants to “eat” the only real competition it gets with this move.

    1. Where does it “end”? Good question. Not sure it’ll ever end since Linux tooling & the community of those building apps and tools that primarily target *NIX continue to evolve and improve over time.

      Our goal, however, as often stated, is to allow developers, IT Pros, devops engineers, etc. to run *NIX tooling alongside Windows apps and tools. We do not intend to replace/extinguish/eradicate/harm Linux. In fact, we expect to increase access & exposure to *NIX tools to millions of Windows developers who currently can’t employ *NIX tools in their current workflows.

  14. Gerhard Hüller says:

    So now with Microsoft taking all that open-source Linux-Code – don’t you think it is time for MS to release the Win32-Systsystem + Userspace components? The Wine guys would be more than happy I guess 😉

    1. WSL contains no Linux kernel source code – it’s a clean-room implementation of the Linux SCI, utilizing pre-existing features of the Windows kernel, with a little additional new infrastructure to allow WSL to mimic Linux-kernel-specific behaviors.

      Note: Linux itself was an open-source re-implementation of the UNIX/POSIX SCI.

  15. mittorn says:

    I have 8inch tablet with 32 bit Windows 10. WHERE IS YOUR WSL???

    1. WSL relies upon several features of x64 CPU’s to ensure integrity and security of WSL, as stated in the opening “Prerequisites” section of the documentation:

    1. As Ben stated in the thread: We have some great improvements in the pipeline but they are in progress so it’s hard to say for sure when they will land.

  16. Erick Barron says:

    I just want to be able to do:
    open filename.fileextension in terminal and have it open with Windows default application

    1. Ash Wolford says:

      I wrote a very simple C# app which acts as a simple `open` replacement. Compile it, stick it somewhere WSL has in its executable path (like System32), then do `alias open=’open.exe’` in WSL if you wish.

  17. Duv Jones says:

    “Linux files are NOT accessible from Windows (we’re working to improve this scenario over time)”

    So I am going to assume that this is a driver setup that you are working with? To at least read(and with some hope, write to) Linux partitions and/or the file system?

    That would be very, very useful for me. The current driver that I am using… is sub par and the development of it has stalled. Ext2fsd, if I remember. I would honestly welcome a Microsoft based solution at this point, assuming that it doesn’t do much to harm the partition and the data in the file system. I know that the licensing of the Ext file system is going to be rather annoying (it is GPL, if I remember), but please… I need something that is more sane.

    If you can talk to anything that it going on with that? I would greatly appreciate it.

    1. Sorry – no details yet, but we are working to improve our filesystem interop in future OS releases.

  18. So glad you added this Linux subsystem to Windows. Just getting my feet wet on it after switching from macOS to Windows and it’s working surprisingly well. Impressive work!

    1. Great to hear! Welcome to the party 😉

  19. Hanoch Kalmanovich says:

    Any plans to support WSL on Windows Server 64-bit OSs as well (e.g. Windows Server 2012, 2015, 2016, etc.)?

  20. Jamil says:

    I’ve been using Bash on Windows for quite some time. Its really helpful to use bash and GNU compilers on windows. I appreciate introduction of SUSE and OpenSUSE flavor. Will they be available in FCU release?

  21. ddbug says:

    A huge thank you, team! This thing is really amazing. Frankly I was afraid it won’t get to official release.

    The only thing I’d ask is offline package for the Linux distro stuff, for faster (re)install and archival.

    1. The problem with offline installation is that if you copy the distro APPX locally, you’ll end up missing out on updates etc. so you could well end up spending more time in apt update/upgrade than downloading and installing the latest 200MB APPX when you need it.

  22. jbrower888 says:

    Rich is there a way to call Linux .so functions from either a Win10 app or Win10 DLL ? If a traditional function call mechanism is not available, is there another way to communicate between DLLs and .so’s ? Sockets or other IPC method ? Thanks.

    1. No, there’s no direct way for Win32 code to invoke .so’s. However, you could host an command/app/daemon in Linux which listens for a socket/pipe/HTTP request, call the necessary .so, and return results.

  23. Yee says:

    I can’t connect my USB camera into it.. Please support USB cameras…

    1. WSL does now support serial communications via USB, but we don’t yet support video streaming. If you think this is an important scenario for us to consider, please file an ask on our UserVoice.

  24. Matthew Persico says:

    WIth Fall Creator update, will be able to use the Windows Store based installation if NOT on a Developer Release?

    1. Yes. Windows 10 Insider builds are simply snapshots of the next version of Windows as it’s being built: Therefore, current Insiders builds are snapshots of what will become Fall Creators Update.

  25. Does WSL provide means to read ext partitions?
    Is the tool dd supported?
    Is it possible to catastrophically run “$ sudo rm -rf /” from WSL?
    If you can write GUI based programs for GNU/Linux from within Visual Studio 2017, how can you even debug it without having to switch between machines/OS instances?

    1. Not at this time. WSL relies on the NT filesystem stack which doesn’t support EXT by default. There are some EXT filesystem drivers in existence and you may have luck with them, but we’ve not tested any and you do so at your own risk 😉

      Your Linux processes run with the permissions of the logged-in user, even when sudoed. Thus, you can cause the same amount of damage by running `rm -rf /` as you could by running `del c:\ /s` from Cmd or `rm -recurse -force c:\` in PowerShell. If you run the same from elevated command prompts, you can do even more damage. I’d generally recommend against doing this.

      To test GUI apps, we recommend deploying into a Linux desktop VM running in Hyper-V etc. While you CAN get some X apps to run in WSL, you may experience more issues than using a VM because we only support command-line apps in WSL.

    1. Think of it this way: To exploit the ‘bashware’ vulnerability, you first have to gain admin rights to the target machine. At this point it’s game-over anyhow. With admin rights, the attacker can access all your data, all your files, all your network connections, etc.

      Worrying about someone enabling WSL, rebooting your box, re-establishing another admin session after the reboot, installing a distro, installing WINE, and then installing some malware is a highly contrived and highly unlikely attack vector. Various malware vendors are already in the process of enhancing their products to protect against these and other potential vectors.

  26. David Schwartz says:

    Will there be anyway to update the windows subsystem for linux on the anniversary edition? (my company wont be moving to creators update for a long while)

    1. Sorry, no – WSL is not a stand-alone module – it’s deeply integrated into the internals of the NT kernel, and depends on many of the features of other areas, inc. the filesystem, networking, IO, memory management, process scheduling, etc.

  27. Ian E. Gorman says:

    WSL files are accessible from windows, but on very long directory paths (in the non-beta) version.
    It is unwise to access them from outside WSL because only WSL is aware of things like Linux permissions.
    Instead, copy any files to or from a subdirectory of /mnt/c by using commands within the WSL shell.

  28. Ivan says:

    If you want use WSL for web development (which is the nice idea in general), you should be aware of bug, which makes using of npm or yarn in WSL impossible. — link for several comments which completely describes current situation,

    1. And please read the comments posted throughout by WSL Team members updating y’all on progress, culminating with my post this morning pointing out that the fix is on its way to Insiders and is being back-ported to Fall Creators Update.

Skip to main content