Talk:Windows Subsystem for Linux

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Alternative root systems (userlands) for WSL[edit]

It might be worth adding a few examples of third party projects that exchange the ubuntu root file system for other popular linux distributions. A notable example is ALWSL, which brings a custom archlinux userland. The project page is here. References are mostly news/blogs. Examples: HackerNews, IDG's Inforworld, Techworm. There's also loose list of other developers with their own distros (such as Fedora) that can be found in the BoW github issues. Alphaneuron (talk) 14:18, 30 September 2016 (UTC)[reply]

GNU vs Ubuntu[edit]

Why is there "Ubuntu binaries" and "Ubuntu user-mode", not "GNU user-mode"? Ubuntu is just a distribution. GNU is the userland and tools. 94.254.177.22 (talk) 15:07, 15 April 2016 (UTC)[reply]

Because they're running binaries direct from the Ubuntu distribution, not source code compiled to run on Windows Subsystem for Linux. The GNU project don't, as far as I know, distribute binaries, they just distribute source.
Furthermore, not all the programs in Ubuntu's userland come from the GNU project, so the userland is more than just GNU. Guy Harris (talk) 19:22, 15 April 2016 (UTC)[reply]

The irony of this "No it's GNU."/"No it's Ubuntu." argument is that neither is correct. Yesterday, Seth Jennings, a Senior Software Engineer at Red Hat, demonstrated Fedora binaries, taken from a Docker image, running on the subsystem. If there's a name for what binaries run here, it is Linux binaries, i.e. binaries that make Linux system calls to (what they expect to be) a Linux kernel. This is the name used by FreeBSD writers and Solaris/Illumos writers. It's also the name used in the Wikipedia lxrun article.

  • Jennings, Seth (2016-04-17). "RUNNING FEDORA ON WINDOWS 10 USING WSL". Obfuscation's End.
  • Handy, Brian N.; Murphey, Rich; Mock, Jim (2016-01-28). "Linux® Binary Compatibility". FreeBSD Handbook. The FreeBSD Documentation Project. {{cite book}}: External link in |chapterurl= (help); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (help)
  • James, Mike (2016-03-31). "Run Linux Binaries On Windows 10". I Programmer.

Jonathan de Boyne Pollard (talk) 20:37, 18 April 2016 (UTC)[reply]

There's "what binaries can WSL run?" and there's "what binaries does Microsoft ship?" The answer to the former is probably "Linux binaries"; the answer to the latter is "Ubuntu binaries". Guy Harris (talk) 20:56, 18 April 2016 (UTC)[reply]
The latter is Ubuntu binaries from GNU software. The former is Linux binaries with GNU as target runtime, [example]. Filiprino (talk) 02:53, 28 June 2017 (UTC)[reply]

What it *probably* runs are "ELF 64-bit LSB executables". You folks need to read your Tannenbaum. — Preceding unsigned comment added by 131.215.115.31 (talk) 16:28, 20 October 2016 (UTC)[reply]

Executable AND LINKABLE format. Without GNU runtime system you can't do nothing. They have to prepare their subsystem to run different user space libraries. Filiprino (talk) 02:50, 28 June 2017 (UTC)[reply]

An introduction that explains why this is useful might be nice.[edit]

I.e., what was the business model? Who is the user? Why would this be their preferred solution? Without that, this seems like a strange hybrid of two divergent worlds. MrRedwood (talk) 22:24, 15 April 2016 (UTC)[reply]

I have added this: Microsoft envisages WSL as "primarily a tool for developers -- especially web developers and those who work on or with open source projects." -Lopifalko (talk) 15:57, 4 October 2016 (UTC)[reply]
As someone who suffered through using Wine I can finally play games on a proper gaming system (Windows) while doing professional work (with Linux). 2003:C4:2740:A700:F66D:4FF:FE8F:B877 (talk) 12:33, 4 March 2023 (UTC)[reply]

Informative [on Project Astoria][edit]

"[Microsoft] confirmed that Astoria was dead, as it rather undermined the Universal Windows Platform concept."[1] and [http://arstechnica.com/information-technology/2015/11/divisive-android-app-support-for-windows-mobile-dropped-maybe-even-discarded/ older link. comp.arch (talk) 09:54, 12 September 2016 (UTC)[reply]

MSDN references[edit]

I note that the article seems to be rated generally as 'Stub' and notice that there seems to be further material available for writers on the MSDN blogs, to extend the article.

WSL – Windows Command Line Tools For Developers‎
One of the most interesting things about the Windows Subsystem for Linux (WSL) is its ability to run unmodified Linux ELF64 binaries atop the Windows Kernel.
https://blogs.msdn.microsoft.com/commandline/tag/wsl
Windows Command Line Tools For Developers – Windows ...‎
One of the most frequent questions we get about Bash/WSL is how WSL provides a Linux-compatible filesystem atop NTFS and how filesystem interop works.
https://blogs.msdn.microsoft.com/commandline
Windows Command Line Tools For Developers – Page 2 ...‎
At //Build 2016, Microsoft announced the ability to run native Bash and GNU/Linux command-line tools directly on the new Windows Subsystem for Linux (WSL), coming ...
https://blogs.msdn.microsoft.com/commandline/page/2
Do not change Linux files using Windows apps and tools
I have to provide this guidance at least 2-3 times a day so instead I am publishing it here so everyone can find / link-to this guidance.
https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

A search on the MSDN Blogs for WSL (by search or, separately, by tag) yields many more usable source materials.

Happy editing!

KING (talk) 06:22, 3 January 2017 (UTC)[reply]

Windows Subsystem for Linux targets GNU software[edit]

Only software designed for the GNU API runs under Windows Subsystem for Linux. That is, software designed for GNU/Linux in mind.

This affects the ELF format too, because GNU software adds its own fields to an ELF binary. This article is written as if the software targeting other APIs worked/was supported. It is not. Microsoft even mentions in their blog they target GNU/Linux.

GNU command line tools such as grep, sed, and awk. This implies GNU runtime.

They target POSIX, GNU and Linux binaries:

Rich Turner from Microsoft:

Bash is indeed a shell. Bash on Windows or Bash/WSL got the most votes in early polling while we were choosing a descriptive name for this unusual feature, especially compared to WSRPGLB (Windows Subsystem for Running POSIX, GNU, Linux Binaries) which felt a little cumbersome. They announced the ability to run GNU/Linux command line tools. Note that they did not say Linux command line tools. Because they are GNU/Linux.

Oh and do not come here with this, where they omit the dynamic libraries loaded by the GNU ELF binaries. Here you will find a GNU ELF header dump. GNU sections: .gnu.hash, .gnu.version, .gnu.version_r, .gnu_debuglink, .note.gnu.build-id. And the program has the following sections: GNU_EH_FRAME, GNU_STACK, GNU_RELRO.

From an Oracle blogger talking about GNU extensions to the ELF format: The ELF object format is used by several different operating systems, all sharing a common basic design, but each sporting their own extensions. The binaries are GNU/Linux. Not mentioning anywhere neither GNU nor POSIX is an error.Filiprino (talk) 13:09, 28 June 2017 (UTC)[reply]

What you wrote is synthesis of published material and is not allowed in Wikipedia.
But I will ask Wikipedia:WikiProject Linux to take a look at it. Maybe they have a direct source.
Best regards,
Codename Lisa (talk) 14:34, 28 June 2017 (UTC)[reply]
I have not put together different parts. I have used the same source: the WSL blog from Microsoft. On top of that I have added my own dump of a GNU ELF file to demostrate that in practice it is prepared for GNU software, matching what they say in their blog. Filiprino (talk) 15:07, 28 June 2017 (UTC)[reply]
That's what everyone who had committed synthesis have said. (None of them have so far said, "yes, that's what I did." All of them have so far said "that's what's written in the source".) Your entire argument hinges on the premise that Microsoft thinks "GNU/Linux" and "Linux" have the same momentous difference that you think they have. But there is no evidence that they do. Quite the contrary, Microsoft has a colorful history of using the blatantly wrong terms. (Example, the system partition and boot partition and the difference between x86 and IA-32.) Also, my experience with MOS:LINUX and all its discussions tell me that actually, nobody cares for these two terms.
Best regards,
Codename Lisa (talk) 16:03, 28 June 2017 (UTC)[reply]
My argument is not based on what Microsoft says. I have put Microsoft blogs because that is what others have used in this talk page. My arguments use documented sources like the Linux Journal from 1994 which within its first 6 months defined what is Linux, what is GNU and what is a Linux distribution. Multiple articles from GNU, Debian, Red Hat and other free software contributors defined what is GNU and Linux. I have to say that Tanembaum and other books are wrong when they "teach" Linux, but at the beginning of their books they give a different definition of an OS. matching with what GNU/Linux and other modern operating systems are. Knowing that Tanembaum does not want to use GNU Public License for his MINIX 3 OS, it would be not surprising if he does not want to write down the word GNU unless it is mandatory, and even then he writes wrong things like Linux command line.
I have digressed quite a bit. Filiprino (talk) 19:14, 28 June 2017 (UTC)[reply]

link to lxrun[edit]

The See also section of this article links to lxrun, but as I described on that article's talk page the lxrun described there has no apparent relation to Windows 10's lxrun which is used for setting up WSL. Any ideas for best addressing this, i.e. should that article be updated somehow or should the link be removed? ChrstphrChvz (talkcontribs) 12:04, 10 March 2018 (UTC)[reply]

Hello, ChrstphrChvz.
Perhaps you should study MOS:SEEALSO to get better idea of what this section is. Things that are directly related to the subject of the article, must not normally appear there because normally, they get a mention within the article prose. In fact:

The links in the "See also" section might be only indirectly related to the topic of the article because one purpose of "See also" links is to enable readers to explore tangentially related topics.

As you can see, lxrun, which is only tangentially related to the subject of this article, fits the inclusion criterion pretty good.
Best regards,
Codename Lisa (talk) 17:16, 10 March 2018 (UTC)[reply]
Thanks, I see more clearly how lxrun probably ended up in the "See also" in the first place along with other compatibility layers like Wine (software). So probably the intention was to link to lxrun (referring to the compatibility layer) and it's just coincidence that Windows 10 had a similarly-named command.
However based on what NapoliRoma suggested on Talk:lxrun, I'll probably go with removing the reference to prevent any confusion since there probably doesn't need to be any mention of the command on either of these articles. ChrstphrChvz (talkcontribs) 00:26, 18 March 2018 (UTC)[reply]

WSL 2 announced[edit]

WSL 2 has been announced with major architectural changes. Reinistalk 06:02, 7 May 2019 (UTC)[reply]

Controversy?[edit]

The section on "controversy" is weak. The original citation is from 2018, and the second citation (https://www.debugpoint.com/2020/05/microsoft-announced-linux-app-gui-support-and-gpu-acceleration-in-windows/) just mutters a vague accusation of Microsoft's "Embrace Extend Extinguish" strategy. While I do accept that there's a number of pundits who might hold such a view, it this form merely feels like a reflexive critique of the company's prior behaviors from twenty or thirty years ago. Better citations, or remove? Rob Burbidge (talk) 08:31, 22 June 2020 (UTC)[reply]

Better citations needed, but it probably shouldn't be removed. A significant amount of Linux users and developers share concerns over this and over Microsoft's recent actions (it's not just pundits). But the Stallman quote could be removed... 98.26.105.140 (talk) 00:59, 9 October 2020 (UTC)[reply]
I've added an "unreliable sources" message to the section David Delony (talk) 18:09, 19 December 2020 (UTC)[reply]

It's garbage which discusses Microsoft and Linux in general, which has ample space on other articles already. Never mind that the "references" are to Slashdot (a clickbait aggregator) and some random guy's blog. I removed everything except the quote from Stallman which relates directly to WSL and moved it to an appropriate part of the history section. Some IP just re-added it without even noticing that the Stallman quote had already been incorporated elsewhere; I've removed it again. I've also corrected the Stallman reference to point directly to the article, instead of going via Slashdot. Chris Cunningham (user:thumperward) (talk) 09:29, 18 February 2022 (UTC)[reply]

It being garbage is your personal opinion. Nevertheless, there is a controversy and the article has reflected that. You are entitled to disagree with them, but not censor them. This section was discussed previously and there is agreement that the section should be improved not removed (WP:Improve the junk). It's fine if you don't want to improve this section yourself, but in that case, allow future editors to do so.
If you look back to the Office Wars you will see Microsoft fighting intercompatibility in order to jam the efforts of WordPerfect, Lotus, Claris, and a bunch of other office suites from successfully and faithfully importing and exporting to the MSOffice formats. After they trampled the competition, they suddenly began to deploy XML-based file formats and reverse their adversity to intercompatibility.
If you look back at the Browser Wars, you'll see non-standard HTML tags and Javascript, also ActiveX, which resulted in a nominally open standard for online documents degenerating into disclaimers such as "Best viewed on Internet Explorer". Can you imagine if every JPEG you open were to tell you it's best viewed using Microsoft Paint? A document just needs to work with the software that renders it and in the case of HTML, compatibility with all web browsers is paramount.
If you look back at the Halloween documents you'll see that Microsoft read the writing on the wall and knew Linux and the Free Open Source movement were capable of producing industry-grade software that would compete favourably against commercial offerings. Check out how many websites run on Apache instead of IIS, for example, to see that Microsoft were right. Microsoft devoted time, human resources, marketing propaganda and large sums of money trying to fight free software. Despite such motivated opposition, Linux and particularly Android have overtaken Microsoft's market share. In 2018, the Github#Acquisition_by_Microsoft alarmed a number of open source development teams and led to something of an exodus to alternatives. So yes, when Microsoft develops Subsystem For Linux, given their longstanding antagonism, people are concerned. I mean Cygwin was a readily available option and Microsoft deploys their own endorsed implementation. In some ways, that's really cool. Microsoft's more recent engagement with open source is something of a cautious comfort, but regardless of whether you believe people's concerns are justified, they are still concerned. Maybe Microsoft has had a complete change of heart on capitalism and legal obligations to shareholders, etc. and now wants to foster competition and alternatives -- but it's too early yet to tell. So while we're uncertain what their longterm gameplan is, the issue remains controversial. That's simply the way it is. Being controversial makes it a controversy.
While, yes, other articles also record fiascos between Microsoft and Sun over Java/dotNET, or licence violations by Microsoft including GPL-licenced implementations in commercial Windows 7, or how they threatened to sue Linux groups for violating 235 of their patents, etc. etc. etc. this article is about Microsoft supplying an implementation of a competitor they were recently vehemently opposed to and therefore this article records the controversy. Because this is where that specific information belongs. Please don't delete it again. Improve it or improve something else. 49.186.224.42 (talk) 11:45, 18 February 2022 (UTC)[reply]
You have mistaken Wikipedia for a soapbox upon which to air grudges that are approaching 30 years old. That isn't appropriate in articles, and it isn't appropriate on talk either. "Controversy" sections in articles are always a failure in good writing. Where objections are accurate, to-the-point, and notable, they can be included in the article body normally, as has been done here. That's not going to be changed back.
For what it's worth, "Microsoft runs Linux everywhere" is as much an admission of defeat as anything else, and anyone seeing it as some sort of grand plan to destroy Linux at this point is a hopeless conspiracy theorist.
Chris Cunningham (user:thumperward) (talk) 13:45, 18 February 2022 (UTC)[reply]