What's new and next for the Windows Subsystem for Linux

Home Forums General Chat MJF Chat What's new and next for the Windows Subsystem for Linux


This topic contains 4 replies, has 5 voices, and was last updated by Brad Sams Brad Sams 3 months, 3 weeks ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • Mary Jo Foley
    Mary Jo Foley

    Our next MJFChat, scheduled for Monday December 9, is between me and Microsoft Program Manager Craig Loewen. We’ll be talking about Microsoft’s Windows Subsystem for Linux (WSL).

    What questions do you have for Craig about what’s new and next for WSL? No question is too big or too trivial. I’ll be chatting with him on December 9, and will ask some of your best questions directly to him. Just add your questions below and maybe you’ll be mentioned during our next audio chat.


    Dear Mary Jo, Craig,

    the Corsair again :)

    will it be possible, in future releases, to be able to attach additional VHDs in WSL2?
    WSL2 is clearly a perfect platform to learn linux, and attaching additional disks could help in “playing” with RAID or even LVM functionalities.

    See you soon,
    WSL Corsair


    Will WSL2 support native Docker and does he have any insight into if we’d be able to leverage WSL2 for running Linux Containers via Docker for Windows natively vs using moby vm?

    Joseph Finney
    Joseph Finney

    I’d be curious to hear Craig’s thoughts on the article by the founder of Basecamp on his attempt to return to Windows after 20 years because it now can have a Linux command line. In the blog the author finds WSL2 is too slow and limited for his needs as a Ruby on Rails developer and he gives up and goes back to Mac.

    Here is a link to the post: https://m.signalvnoise.com/back-to-windows-after-twenty-years/

    Does Craig see WSL2 as good enough for WebDevs to use full time in real world conditions? How long before a deeply entrenched WebDev can jump over and use WSL and not have any issues?

    Brad Sams
    Brad Sams

    You can find an audio replay, here.

    Mary Jo Foley: 00:00 Hi, you’re listening to the Petri.com MJFChat show. I am Mary Jo Foley, aka your Petri.com community magnet. I am here to interview tech industry experts about various topics that you, our readers and listeners want to know about. So today’s MJF chat is going to be all about the windows subsystem for Linux WSL. and my special guest today is Microsoft program manager of WSL Craig Loewen. Welcome Craig and thank you so much for doing this. Chat with me.

    Craig Loewen: 00:37 Hi. Thanks for having me.

    Mary Jo Foley: 00:39 I’m excited. For people who don’t know, and if you don’t know what WSL is, I don’t know what rock you’ve been living under , but WSL is what lets developers run a Linux environment, including most command line tools, utilities and apps directly on Windows 10 and Windows Server. I remember when Microsoft first introduced WSL in Windows 10 in 2016 it was kind of more of an Linux interface at that point designed in partnership with Canonical. But Microsoft has been busy rearchitecting WSL with WSL 2 so that it actually will provide a Microsoft written Linux kernel running in a lightweight virtual machine that’s based on the subset of Hyper V. Some big changes are coming up, Craig.

    Craig Loewen: 01:31 Oh yes. Yeah. I am very excited.

    Mary Jo Foley: 01:34 And so our readers, because this chat got tons of reader questions, which I take as a good thing. It means it’s a very hot topic.

    Mary Jo Foley: 01:44 So I am just going to jump right in and read off some of these reader questions and let you take it from there.

    Craig Loewen: 01:52 Perfect. Sounds great. Okay.

    Mary Jo Foley: 01:54 So a reader Nunix who also goes by WSL Corsair, in the forums on Petri says, will it be possible in a future release or in some future release to attach additional VHDs and WSL 2 or beyond. And the reason he is asking this is he says WSL 2 is a perfect platform for learning Linux and attaching additional disks could help in quote playing with raid or even LVM functionalities.

    Craig Loewen: 02:28 Yes, that’s a great question. I’m familiar with Nuno so glad that we’re getting that up from him and we’re looking into that as a future request. It’s something that we’re definitely aware of. So as of today, if you have a virtual hard disk like an EXT 4 formatted hard disc on your machine, you can attach, you can mount that as a virtual hard disk and the ask there is to have a physical hard disc that you can also mount inside into WSL. We’re looking into the possibility of that.

    Mary Jo Foley: 03:01 Okay. So stay tuned. Basically might happen. Hopefully will happen. Cool. Okay. Another reader question. Ben, the builder asked will WSL to support native Docker and do you have any insight into whether we’ll be able to leverage WSL to for running Linux containers via Docker for windows natively versus using Moby VM?

    Craig Loewen: 03:31 That is a great question. Yes, we’re actually really excited to say that as you mentioned, WSL 2 includes a full Linux kernel. That means it has a hundred percent system called compatibility. So you can run the Linux version of Docker directly in WSL 2, right away. So when you install and run your Boone for instance, you can just install Docker the same way you would on a Linux machine and get access to that right away. So Linux containers, are really simplified with that process inside WCL too, which is really exciting.

    Mary Jo Foley: 04:02 Cool.

    Craig Loewen: 04:03 Even more exciting than that, we actually have also been communicating with the Docker desktop for Windows team. And so they are the team that’s responsible for that mobile Linux VM that was mentioned in the question. And very quickly how the architecture works for that is you download a Docker desktop for Windows, which is a .exe and has some other components.

    Craig Loewen: 04:26 And when you run that, it spins up a VM, like a virtual machine on your windows box. And that’s was for the past. While how, um, Linux containers on Windows worked with Docker desktop for windows. And what they’ve done is they’ve released a tech preview. They being the Docker desktop for windows team, they’ve released a tech preview that targets WSL 2 on the backend. So instead of having them, we’ll be Linux VM, it targets WSL too, and adds basically some WSL to distros to your machine, that where that make all your containers run. So your containers run inside there. And that’s really exciting because there’s tons of performance improvements with this architectural change, such as the startup time goes from 45 seconds to five seconds, much better CPU and memory allocation and way better network access. And so the Docker desktop for windows team was really excited and to start using WSL 2 and start releasing more tech previews with it.

    Mary Jo Foley: 05:28 Hmm. Very cool. You know what I missed, at the beginning of this chat and not asking you a little bit more about you and I’m going to ask you that now because now we’re going to get into some articles with, I’d like to hear Craig’s thoughts on dot, dot, dot. So before I ask you those questions, could you tell the listeners a little bit about how you came to be the program manager for WSL?

    Craig Loewen: 05:53 Yeah. So I went to the university of Waterloo, so I’m Canadian eh.

    Mary Jo Foley: 05:58 You hide it well though. I barely noticed.

    Craig Loewen: 05:58 I haven’t dropped any “ehs” yet. I had the opportunity to intern at Microsoft and so I had an internship two years ago or three years ago. And I worked with the Windows Console Team and the Windows subsystem for Linux team, which were pretty much the same thing at that point. And I came back for full time work. So now I live in Redmond, Washington and I work full time on the Windows Subsystem for Linux directly. So that’s kinda be my path on how to get there. My background is actually in robotics engineering, so I studied mechatronics, which sounds like a transformer. That’s been where what I studied at university, but now I do Windows Subsystems full time.

    Mary Jo Foley: 06:48 Very cool. Okay. So I wanted to ask you that before I ask you this next question, which is very much an opinion question. Reader Joseph Finney says, I’d be curious to hear Craig’s thoughts about an article from the founder of Basecamp on his attempt to return to Windows after 20 years because it now can have a Linux command line. So he’s talking about this article that got published on signalVnoise.com, from the founder of Basecamp and about just what he said, returning to windows after 20 years. And so Joseph says in that article, the author finds WSL too slow and limited for his needs as a Ruby on rails developer. So he ends up going back to the Mac. So he’s asking your opinion on this article and whether you’ve read it or not, I think you could still comment on, you know, the claim that it’s too slow and limited. Have you heard that from other people who’ve been testing it and using it?

    Craig Loewen: 07:52 Yeah, so I haven’t actually read that specific article, so I’ll just comment entirely on the claim of, Hey, WSL is slow and limited. Because actually that’s feedback that we have heard, especially from web developers. That’s the reason behind the Windows Subsystem for Linux 2, and that architecture. So if you’ve used WSL before, and you might’ve used it when, way back when, when was called bash on a boot tool on windows, a lot of changes have happened under the scenes, so or behind the scenes. And so what we’ve done is the, the previous architecture or the current widely available architecture of the windows house system for Linux users, a translation layer. And so what that means is you have actual Linux user space binary’s whenever they call into a system call, we translate that to the windows equivalent windows and T kernel system calls.

    Craig Loewen: 08:46 And then we, you know, whatever apply, we get back, we translate that back and send that back up to the Linux user space binaries. And so from a technical perspective, the application binary interface, everything runs under the same kernel at the end of the day. And that is a really cool solution. That is also a pretty challenging solution with lots of technical challenges behind it because obviously Linux and Windows are different and sometimes things were great and sometimes things are much more challenging to implement. For example, if you have a file open inside of a folder and I tried to rename that folder and Linux, that’s totally fine, I’ll let you do that in Windows. However, the choice there is it will say, Hey, you have a file open inside of this folder. You can’t do that. And on the windows subsystem for Linux team, how do we implement a solution for that that respects both scenarios?

    Craig Loewen: 09:40 That’s very challenging. So that’s why we’ve moved to the Windows subsystem for Linux, which has a change in architecture and we have changed from a translation layer to a virtualization based approach. And so with virtualization based approach, we have a full Linux kernel. We actually make a very lightweight utility virtual machine that spins up whenever you run your WSL 2 instance. And that thing is awesome. It spins up in about a second. It has the exact same user experience as WSL 2 and you still can access all your files and run your Windows executable straight from Bash, and has some really great performance improvements. And so the really the two big areas of feedback that we’re trying to address with WSL 2 was file system performance. So making things run faster and system called compatibility and WSL 2 runs way faster than WSL one. If you put everything into your Linux route file system, you can get about five times faster for things like get clone or see make. And if you’re doing really file intensive things like unzipping a tar ball, it can get up to like 20 times faster, which is significant. With the full Linux kernel, more things will run.

    Mary Jo Foley: 10:52 Nice. I’m going to add one of my own questions here and I feel like I should know the answer to this, but I do not yet I’ve been asked this a few times. So, given that you’re going to be running on a lightweight hypervisor with WSL 2, does that mean people will be able to run WSL to Windows 10 home or no?

    Craig Loewen: 11:14 Yes. So you will be able to run Windows WSL 2 on Windows 10 home. So what that means, so the kind of confusion there is a hyper V the hyper V optional component is not available on Windows 10 home.

    Mary Jo Foley: 11:28 I was wondering that, right.

    Craig Loewen: 11:30 So we are actually dependent on this optional component called the virtual machine platform optional component. So that enables the hyper V architecture on your machine. It actually enables the type one hypervisor on your machine and allows you to call into hyper V architecture API calls. But it is not the Hyper V optional component. It’s kind of a tricky answer of yes, you are able to do it on Windows 10 home. However you use the virtual machine platform optional component.

    Mary Jo Foley: 12:04 Okay, great. Thank you. Now we’re going to go to some questions from Twitter because we get a lot of those as well as people from the Petri forums, Adam Richmond on Twitter asked, are there any potential possibilities upcoming to produce a Red Hat enterprise Linux WSL distribution with Red Hat?

    Craig Loewen: 12:26 Yeah, so I saw that, I saw that question on Twitter and I also saw that Matt, who works on for Redhat, also commented and yeah, and the answer actually is right now, if you wanted, you could run any Linux distribution inside of the Windows subsystem for Linux. We added a feature in Windows Version 1903, which allows you to import any WSL distribution. And we also added an export feature so you can export any of your WSL distros. And so all all you need is a tar.gz File. So there’s my Canadian sneaking in, I’m sorry, tar.gz File. All you need is that, and it has the Linux user space binaries that you’d want to include and you can run in WSL dash dash import, and then import that as a WSL distro. And so what’s really actually exciting about that is, you can take any Docker container, you can export the Docker container, it’ll export as a tar.gz, and then you can import that directly into WSL. So we’ve actually seen some exciting community-driven tools. Like what Nuno who had a question earlier, he worked on one, we’re using Porter that has a command line to say, Hey, I want this Docker container as a WSL distro. So you could use Sento S or REL or fedora, via that means as well.

    Mary Jo Foley: 13:56 Yeah, I wonder, I wondered when I saw his question, if he was asking if, because of IBM taking over Red Hat and then thinking that might change the scenarios. I don’t know. But he didn’t say that. So I’m just, that’s just me projecting on that. Here we have to have at least one person with penguin in the name or it is not a Linux chat. So here’s cozy penguin on Twitter asking how fast is WSL compared to running a distribution on its own?

    Craig Loewen: 14:29 Right.

    Mary Jo Foley: 14:30 I don’t know how you really quantify that. But whatever. I’d like to hear what you say.

    Craig Loewen: 14:36 Yeah. So we already touched on WSL1 versus WSL 2. So let’s compare this to WCL 2, which is really the exciting part. I’m going to take my, my opinion of that question or my interpretation is they mean on, on the same machine with the same hardware. You know, if I ran bare metal Linux and then I ran the same distribution with the same workflow on the same hardware, what would the performance difference be? Sound fair?

    Mary Jo Foley: 15:02 Yup.

    Craig Loewen: 15:03 Right. So it’s about, it’s very similar. It’s about, I’d say, it depends on what you’re doing, but probably you’re going to have like a 5 to 10% performance difference, based on just the virtualization overhead, right? Where we have a virtual machine running. So bare metal Linux is going to be slightly faster.

    Craig Loewen: 15:25 Uh, so there’s actually a really cool, report done by the Phoronix team. So for Phoronix Labs, they do speed comparisons of different machines and different tooling sets. And they did a speed comparison of WSL 1one compared to WSL 2 compared to bare metal Linux. And they released the whole wide array of results that they found. And overall it’s quite similar. So it’s hard to quantify because it’s different for every case. But I would say it’s similar.

    Mary Jo Foley: 15:57 Okay. That’s good. Very good. Another Twitter question, Andre Medic, when will users be able to orchestrate Linux containers using WSL 2 on service fabric and Kubernetes clusters?

    Craig Loewen: 16:13 That’s a good question. That’s probably a feature request that we’d have to look into. So it would be on Azure taking in onto the service fabric to use WSL 2 to create containers, is that the ask there?

    Mary Jo Foley: 16:28 I think, well, here’s, he said, when will they be able to orchestrate Lenox containers using WSL to2on service fabric and Kubernetes clusters, right. So a few ways we could interpret that, I think.

    Craig Loewen: 16:39 Yeah. So if you’re using WCL and you’re interested in Kubernetes actually everything out there like runs out of the box. So you can install your cube CTL, um, or whatever other tools that you might want to use and still have access to that. And if you wanted to, you know, use your Kubernetes tools, you can just do it the Linux way in a WSL 2 distro, as well. Docker desktop for windows actually has Kubernetes support in it that works with the WSL 2 distros. So that’s another great way to get it set up. And service fabric, would have to check on the solutions there. For Kubernetes and orchestrating a bunch of containers. Yeah, there’s a lot of stuff that you can do already in WSL 2.

    Mary Jo Foley: 17:30 Nice. Okay, great. Now we’ve got a hypervisor question from Tony Morrow on Twitter. He said, are there any updates about having third party hypervisors installed and running WSL 2 at the same time? I currently use WSL one and VMware workstation for different tasks. I’ve seen that Microsoft says they’re investigating ways to help resolve the issue so that VMware and versions of virtual box prior to six might be able to run when WSL two is enabled. But he’s asking, is there anything, any further update beyond that?

    Craig : 18:06 Yes, great question. So one of the challenges with WCL 2 is when you enable a type one hypervisor, there are other third party VM applications that also require type one hypervisor, which is virtual box and VMware are really the popular ones and virtual box as of 6.0 0.0 which is what the question referenced, actually does include a support for the hyper V hypervisor as a fallback hypervisor. So we actually publish, public API APIs for the hypervisor and we’re working, with those companies like virtual box and VMware to help enable them so that there isn’t that breaking compatibility when you have both enabled. So there aren’t any updates specifically from me, but virtual box 6.0 0.0 does support the hyper V hypervisor as a fallback and, VMware has publicly announced that they are investigating using a hyper V as an alternate hypervisor. So I’d probably look more online. There’s a great post by Ben Armstrong on that.

    Mary Jo Foley: 19:14 Oh, nice. Okay, cool. A question from someone whose name on Twitter is ScamLikely, but I don’t actually think it’s a scam. His handle is Agent09 on Twitter. He asked, oftentimes using WSL alone is not enough. Utilizing a third party solution like X for 10 or another X server client becomes a necessity. Is there any talk among the WSL team about making devs lives easier by incorporating an integrated solution for Linux exclusive gooey dev apps?

    Craig Loewen: 19:57 Great question. So is there any talk among the team of how to make dev lives better? Of course, yes. And so for gooey apps, yes, we’re, we’re investigating that. That is certainly a feature request that we’ve heard often, which is to enable gooey applications inside of WSL 2, and we’re, we don’t have any updates on that, but we are looking into how to make that possible. So really the current solution is you have third party X service and you mentioned it like expert 10 and something like that. Um, and you can connect to your WSL 2 distro with that third partyX server to power some gooey applications. So we don’t really have any updates there, but it is certainly our radar. That’s definitely a feature that we’re interested in.

    Mary Jo Foley: 20:50 Okay, cool. Phil Hoffman on Twitter asks, will we continue to see improvements to the Linux slash windows shim El X, S S Alex Corp in the future? Or will this shift over to the Linux VM in WSL 2? Also? He has a two part question also. Are there any future plans to improve the small file performance for NTFS or other windows file system?

    Craig Loewen: 21:20 Okay, so two parts. So first part, um, when he talks about the Alex core or what he’s referencing WSL one. And so that’s the translation land that we talked about before. Okay.

    Mary Jo Foely: 21:32 That’s the translation layer. Okay. There we go.

    Craig Loewen: 21:34 Are there plans to improve that? Yes. UWe are still looking at improving WSL 1 as well. And we are the really, the, the question there as I interpreted as art, are you deprecating WSL one now that WSL 2 is there, is this totally gone and no, definitely not. We’re still iterating on user feedback. We think WSL 2 has a lot of great benefits that’s going to excite a lot of users. But we’re still, you know, we still have bug fixes that we’re releasing for WSL 1 and we’re still improving that. So that’s, that’s the answer for part one, part two. Are we looking at improving the windows NT file system? Is that correct?

    Mary Jo Foley: 22:18 He said any, any plans to improve the small file performance for NTFS.

    Craig Loewen: 22:25 So that’s not exactly my area of expertise on the NTFS. If he’s talking about it from a WSL 2 perspective of, Hey, if I’m accessing my windows files on my windows file system in WSL 2, that’s a piece of feedback that we have heard of the cross OS file system performance and WSL 2. We’re totally aware that, you know, we want to improve that experience there and we want to increase that file system performance. So for that use case.

    Mary Jo Foley: 22:58 Okay, great. Well that is the bulk of the questions. I spared you a few of the even more esoteric ones than the ones I’ve listed here. I saw some discussions around colors and shades of green and I’m like, you know what, I’m going to just leave those out. So anyway, thank you so much for doing this chat, Craig. It’s been really great and I know based on how many questions there were, it’s a big topic our readers and listeners are interested in. So thanks.

    Craig Loewen: 23:30 Thank you. It was awesome. I’m very glad that we can answer some questions.

    Mary Jo Foley: 23:34 Me too. And for everyone else who’s listening to this, all you MJFChat readers and listeners, we’re taking a break until the new year with MJF chat after this one. But we’re already lining up our guests for 2020. So after Christmas I’ll be posting information on Petri so you can see who I’m going to be chatting with to kick off the new year. And once you see that, you can submit your questions on Twitter for the guest. And the meantime, if you or someone you know might make a good guest for one of these chats, please do not hesitate to drop me a note. All my contact information is available on Petri.com. Thanks again.

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.