-
Notifications
You must be signed in to change notification settings - Fork 822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Summary of what's changed in WSL since the last stable update #1744
Comments
@SRGOM You can see here https://msdn.microsoft.com/en-us/commandline/wsl/release_notes |
We're also planning a blog post or two for when we get closer to Creator's Update release. |
Are you - on the long run - targeting complete (modulo bugs) feature parity with the real linux kernel or are there syscalls or functionalities thereof that you deliberately don't / can't port? Edit: By long run I mean primarily the time horizon for the next win 10 Update after the creator's update. |
@MikeGitb Right now, they're working on completeness vis-a-vis 64-bit syscalls and performance (and the console team is working on a new console API), but I've been able to harass Ben into giving some ideas that they're considering for some kind of graphics support. A very very large part of the Linux Kernel is device and filesystem drivers. In general, since Windows already drives these interfaces natively with its own drivers, MS's approach will probably be some sort of generic WSL drivers for the already-abstracted hardware. If filesystem support happens, it will be built directly into the NT kernel, not just the Linux subsystem. |
I believe that to have a good success at least Firefox and Chrome must be executable without problems by any user. |
@iz0eyj: Why would you run one of those browsers from within the WSL instead of just using the Windows version of it? |
@MikeGitb Because that's what everyone will want to do justly. The WSL expresses the maximum of the mixing potential on the power of a single desktop Win10 with the flexibility and the large amount of them freely installable applications of Linux. |
@MikeGitb: Another observation: since last summer WSL officially became a Win10 subsystem; This means that now we can no longer ask why launch a Linux instead of a Windows program, because now any ELF-64 program is fully in a Windows program. |
@iz0eyj -- how can a Windows be a majority stakeholder in desktop Free Software applications when it explicitly does not support desktop Free Software applications (because it does not support X Windows natively)? |
@aseering: |
@aseering: |
@iz0eyj -- LibreOffice and Gimp do not work with stock WSL either. They also require X Windows. |
@aseering: |
@iz0eyj -- fair point that non-graphical features of the software do run natively. It's also true that VcXsrv is easy to download and install. But it's also true, in my experience, that VcXsrv is buggy :-) Sometimes it works well for me; sometimes it does not. I'm not on the WSL team; I'm just another user. So I don't get to decide their priorities :-) But if you are correct that graphical applications were very important and lots of people were using them, then there should be should be lots of people asking for graphical applications to be fixed. So, why don't you try this experiment?: Open up the Bash on Windows UserVoice. Then read the titles of the most-popular issues. You say that there's lots of interest in graphical applications. How much interest is there in it really? How many people have asked for it? If you know people who want it, tell them to go post on that page. Go write articles and blog posts; get people (not just you -- lots of people) complaining that they need this. If lots of people do want Linux graphical apps to work better, and if requests involving apps like Chrome and Firefox get voted much higher on that list, then I'm confident that the WSL team will make them work better. If you're right that there are tens of millions of interested people, then it should be very easy to get a few hundred votes on an issue to add support. Is there enough interest to get that many votes? |
@aseering: On VcXsrv ... to me it works great, in almost a year since I use it I have never experienced a crash. The only thing that sometimes gives me problems is the "Copy & Paste". I am sorry for my bad English. |
@iz0eyj -- regarding browsers, why would people who are not developers care whether their browser is an ELF (Linux) binary or a Windows binary? It's one-click either way; it can be invoked from a bash shell either way. It can integrate with, for example, You're right that we're developers. You think that lots of people want to use graphical Linux browsers. I think that most people (most non-developers) don't. So why don't we stop talking and do what developers do best -- write some code? You keep saying that getting graphical Linux applicatuons working is a one-click (or three-click, etc) process. But, frankly, that's simply not true right now. You have to install bash itself at the command line; you have to set the DISPLAY environment variable after installing VcXsrv; you have to install a bunch of packages using |
Yes, I thought several times to make an automatic configurator, but not the usual script. What I had in mind is a Win32 program, fully graphical and then average household users, able to take care of both the WSL as a graphic configuration environment that its subsequent maintenance. |
MS has stated very clearly from the beginning that - for now - their target audience are developers that want to use Linux command line tools and/or create Linux command line applications themselves. I'm pretty sure (or rather hope), they will stay focused on that for quite some more time before committing serious resources to the support of graphical apps. Otherwise we get just stuck with half baked support for command line and half baked support for Graphical user applications. |
ELF64 is just the image format for Linux and other 64-bit variants of Unix executables. There's actually a way to have cygwin compile to ELF64 if you want. ELF64 offers very few benefits over PE32+ (and at a significant increase in parser complexity). Executable format isn't the problem. The reason you can't run a FreeBSD ELF64 on Linux is that the syscall interface and libraries are different. |
@MikeGitb Ben Hillis mentioned in a thread of mine here that they were at least brainstorming options for implementing graphics natively in Windows, so it is on their radar. |
@fpqc: |
@iz0eyj uhh look at @therealkenc 's udev-stub, which makes chromium work. |
Answer is 426 people before it got locked. That said, running Chrome (with libudev-stub), Firefox, LibreOffice, or Roller Coaster Tycoon on WSL is pretty pointless. Fun, maybe. But pointless. Running VSCode with vscode-cpptools on WSL, however, is an entirely legitimate development use case. But to that end, there is still much WSL work to be done before broaching anything to do with "graphics". The cpptools guys did some nice additions recently to help with interop by the way. |
If this is so and then WSL is intended for a few thousand developers who usreanno (why ever then a developer should develop on WSL?) What is the point that I waste my time? |
However it does not at all clear what "intended for developers." I believe that those who think one of two things is wrong, because no professional developer or software company will do one of two things if not for pure hobby level. |
@iz0eyj -- why would I care about the market (Linux desktop) that only reaches a few percent of users, when I as a developer can develop for the market (Linux server) that can be a platform for 99+% of users? |
@aseering: |
In a word, yes. In two words, cross platform.
All of which kind of sucked on Windows (read: Visual Studio) in say 2012, and developers fled to MacBooks. Microsoft has since improved this astronomically, and WSL is part of that. What's your "professional development use case"? ELF binaries running on Ubuntu? I don't think so, unless you are in some specialized vertical scientific and engineering areas. In which case you have a real Linux box. On the other hand, if you are developing Pokémon Go, where the money is, you are probably doing it on a Mac. For now. |
@therealkenc: |
@iz0eyj eh? I'm pretty sure at least 90% of the work that went into Project Astoria is part of WSL now. |
@fpqc: yes it is, but Astoria has never reached the public |
Here's the blog post I asked for: https://blogs.msdn.microsoft.com/commandline/2017/04/11/windows-10-creators-update-whats-new-in-bashwsl-windows-console/ Thank you guys for the wonderful work. Closing |
It's a nice post. I can't help by being struck with some irony though:
Gdb, git, node (ie libuv), .NET Core, Go and Haskell all have known unimplemented surface and/or performance issues in Creator's Update that are pretty serious blockers. Meanwhile:
Xlib (and by extension libgtk) is a client TCP socket protocol library that has no known issues since #313 and #493 were squashed. OpenGL (mesa llvmpipe) is a number cruncher that doesn't enter kernel space to begin with. Just sayin'. |
@therealkenc -- well, there's graphical applications, and then there are graphical applications :-) If you're just pushing pixels, then, yeah, that infrastructure is in good shape. But I think it's fair to say that a lot of the infrastructure behind at least some popular desktop applications (fuse filesystems -- #412 , GPU acceleration, etc) has not been a focus. Also -- are there any specific tickets that tracks node issues related to libuv? I can't find any offhand. I haven't had trouble using node for performance-insensitive tasks personally. And the deluge of commentary from node users about network-interface issues seemed to taper off after that fix landed, and nothing new has obviously taken its place :-) |
Also, yeah, WSL team -- I do appreciate this post, and I'm impressed by all the amazing stuff that you've shipped. I agree that the post is overreaching a bit, though. For gdb in particular: The practical gdb user experience has not improved significantly in my experience since prior to Anniversary. (See #204 , for example.) I have periodically been testing it, but I haven't been reporting bugs because y'all have indicated that gdb was a post-Creators priority; no point in filing a bunch of detail tickets when the basics don't work yet, the second-order tickets will just get lost :-) gdb bugs are a major reason why, when I summarized its status to our engineering group at work, I was not able to recommend that our backend team (which develops in C++) offer WSL as a primary dev environment. I appreciate that the broader C++ dev workflow is a technical challenge to support and there aren't that many of us using it, so it makes sense that you wouldn't prioritize it. But that still means that it doesn't work yet :-) |
Adding @bitcrazed who authored that post and is generally receptive to feedback. Rich, would you be open to trying to push #2041? Let us know if and how we can help. I don't want WSL to go the way of some other products where people don't try an MS product again because of the initial disappointment (no offense to you guys, you've built an amazing thing). MS has already lost the a lot of PR battles with devs, but this is one feature which will need a good community around it for everyone to benefit. |
Regarding nodejs, the libuv test suite fails on the following. It also hangs on one test, and skips others. Clean on Real Linux, natch. Full results here. Any fail in libuv represents a fail in node; one would just have to write some javascript that exercises the same functionality as the libuv test.
|
@SRGOM I think it's just a nonstarter. The lxss drivers have frequently moved in tandem with improvements to Windows kernel subsystems. For example, read the post about the winsock kernel and WSL |
@fpqc - You are working under the architectural assumption that the WSL winsock functionality has to live in lxss.sys/lxcore.sys, and not in a win32 driver that could be released at will. [Sorry, inside voice. Forget I said it.] |
@therealkenc , libuv -- interesting. Apparently whatever those tests test are not things that happen frequently when using node to host simple Web services? Otherwise I would have expected to either run into it myself, or have seen reports about it. The node userbase has historically not been shy about reporting cases where they think WSL is broken :-) |
VSCode is a node app that hosts a bunch of web services. You've probably seen reports about it not working. The hang in the libuv test might be related to the hang I'm seeing in VSCode. Of course, VSCode also draws some pixels along the way. But that part works fine, because nothing about drawing pixels has been broken for a long time. |
[Sorry, inside voice. Forget I said it.] :) |
@benhillis is there a blog post for the latest release as well? |
@sunilmut I meant the latest stable windows release with changes over the last 6 months |
This is the closest thing we have: |
This is what I wanted, thanks. I'll go read the individual notes for smaller stuff. @benhillis |
1 similar comment
This is what I wanted, thanks. I'll go read the individual notes for smaller stuff. @benhillis |
Please note:
|
There is a new folder name I found what this upgrade option does. It change the mounted file system type of root i.e |
There is no explanation about this feature in 17686 "Ensure newly created reparse points are listed as such in the parent directory". Will there be any docs about it? It's seem to be interesting. Also add the deatils of this named pipe: CreateNamedPipeW(L"\\\\.\\pipe\\wslconfig_upgrade_{distro_guid}, ...); |
Great suggestion for @tara-raj 😉 |
Seeing it in action in build 17704 I finally understand one of the things that I wonder if this finally would help the possibility of mounting LxFs folders on external partitions. |
Edited comment to avoid others being confused. |
it would be awesome to also publish what's on the roadmap. |
I'm hoping you guys have something on this already. I remember @benhillis @aseering and a few others whose id's I don't recall being the know-it-all's six months back. Do you guys have any links I can check out which tell me what's changed with WSL between anniversary and creator's updates?
The text was updated successfully, but these errors were encountered: