WSL Getting GUI Support
twitter.com
twitter.com
They basically souped up the FreeRDP Weston backend (plus a bunch of glue to make it more magical, and some buffer sharing stuff with VMs)
Hope that this is something that will spur some wayland->wayland equivalent (since they base it on weston it might be possible to reuse a lot).
It is of course fantastic for all, who would like to use Linux but are tied to Windows for various reasons. For some use cases, one still would use a classical virtualization like VMware, but for many others, this is an elegant alternative.
It is also good for a pure Linux world, as to my understanding, this is most of all an enhancement of the RDP support for Wayland, basically solving the problem of lacking network transparency. It was a valid critizism of Wayland, that unlike X it didn't have a concept of network transparency. But with all the work done by Microsoft - and it seems to be completely open source - this problem looks to me as solved. Perhaps even better than with X, as RDP is designed to be forwarded over larger distances, while X forwarding is most useful in local networks.
WSL2 is a Hyper-V virtual machine that runs actual Linux kernel/distros with some special integrations to allow accessing the filesystem, terminal, docker, and now the GUI.
It's no different than running a Linux VM yourself, but it's installed with a few clicks from the Windows Store and has much better tooling. It's fantastic for building software for Linux while being on Windows. MS has already spent 5 years making the cross-platform .NET Core framework which now runs more on Linux than anywhere else, even in Azure. If you want to build on Linux itself then just boot into Linux, but this is great for Windows becoming a central platform for development, regardless of the final destination for the work.
A similar strategy is used for Windows Sandbox and Defender Application Guard (which run Windows in a proto VM so applications like web browsers can’t access the rest of the system). Interestingly, graphics acceleration also works completely like native (at least to my fairly untrained eye), without assigning a discrete GPU. I think this also happens in WSL2.
edit: seems Docker just chose to disable it because they thought it made memory usage unpredictable: https://github.com/docker/for-win/issues/521
http://lxr.linux.no/#linux+v2.6.34.1/drivers/virtio/virtio_b...
At my day job, my company hasn't yet released the version of Windows that provides WSL2 (IIRC Microsoft released that in June, and my company takes ~12 months to validate and push out new versions of Windows). Many developers have tried to get away with using Docker for Desktop on Windows, which requires the direct use of Hyper-V unless your version of Windows supports WSL2, in which case Docker for Desktop will use that instead of Hyper-V.
Our problem is we have some legacy non-Dockerized apps that require the use of vagrant and VirtualBox (we've failed trying to use vagrant and Hyper-V due to lack of boxes), and VirtualBox is 100% incompatible with Hyper-V. VirtualBox has long "supposedly" been able to function alongside/with Hyper-V, but we have not had a single employee encounter success, out of at least a dozen who have tried. To the point where just disabling Hyper-V from Windows' Optional Features isn't enough to get VirtualBox to work again; it took some searching to discover that you additionally have to prevent the virtualisation stack from even being loaded at boot by running "bcdedit /set hypervisorlaunchtype off" as Administrator.
All we want is Docker to run natively on desktop; and yet, we also need to run VirtualBox VM's side-by-side. Because of work-from-home, some employees are "getting away" with running work-related stacks on their personal macOS or Linux machines, which of course have no such limitations. You can run Docker for Desktop and VirtualBox side-by-side on macOS with zero compatibility problems (and you can use NFS for mounts too instead of the buggy and slow-ass vboxfs or cifs/samba). Proving that Windows is, once again, the outsider and shit operating system that can't even do virtualisation properly (seriously, the "exclusive use of virtualisation" that Hyper-V requires is a fucking joke). We have to run vagrant on each developer's machine for the sole purpose of running a Docker daemon within it, or use shared hosting for a hundred developers on a single VM with only a dozen CPU cores, backed by slow network storage instead of SSDs, because that's what a company with multi-million dollar revenues, and thousands of employees, is willing to provide.
End of rant. I did have a question initially, which is this: does installing and using WSL2 break other virtualisation layers (VirtualBox and friends) in the same way that enabling Hyper-V to use Docker for Desktop broke such software prior to WSL2 support?
This information probably doesn't help you much if you're tied to VirtualBox though.
VirtualBox is a type-2 hypervisor running on the guest/Windows OS but can't access the CPU extensions since Hyper-V has already acquired them. Running Linux containers on Windows (using Docker or otherwise) always involved Hyper-V, just with different hosts from LinuxKit to WSL2. Docker on Mac OS uses hyperkit which seems to also be a type-2 hypervisor which doesn't conflict with VirtualBox (and in fact the docs state that Docker on MacOS uses VirtualBox drivers to create VMs).
VirtualBox 6.0 is supposed to detect and use the Hyper-V API as well as support nested virtualization but its still experimental. Also I believe you can run 32-bit VirtualBox while Hyper-V is enabled, have you tried that?
I think you're in a tough position and the best solution is probably to make the business case in either upgrading away from Vagrant/VB to Docker or getting some proper standalone Vagrant servers to develop with.
So even WSL2 will not help us, unless we can migrate all VirtualBox boxes to Docker or native Hyper-V. Sigh. Fuck companies who produce software purely for Linux servers, who force their developers to work on Windows machines because of ActiveDirectory, and their relationship with kissing Dell's ass for hardware I could piece together from a garbage dump.
At the same time, does anyone both love WSL, but is also scared about Microsoft's strategy here?
I'm at the point where I have a main desktop computer that I use for general purpose and gaming, and WSL has been great for me to also be able to do few-compromises coding work on it (previously had an arch linux partition but was tired of having to reboot to access it).
They're doing exactly the opposite. Just wait for the day some new killer Linux apps encourages, or even requires, WSL rather than native Linux to run properly, or to run at all.
Imagine a window-manager/desktop-environment using the same exact windows primitives and behaviour but integrated into the WSL Linux OS. That thing would be the killer app a lot of Linux users would dream of, it would for obvious reasons run only under WSL, and would take away a huge number of non-hardcore Linux users. "Why learn a new user interface when you can keep the same you're used to, and more importantly write Linux software that will make full use of it?".
I desperately want to be proved wrong, but I'm really pessimistic about WSL: it is to Linux exactly what WINE is to Windows, and will kill Linux pretty much everywhere except servers and embedded systems, just as WINE has killed Windows on many desktops where the real thing wasn't necessary.
Why that would exist? If you wanted an app that could only run in Windows, you could write it for Windows. Nothing has changed here.
The only reason to use WSL is because you want to use Linux software or you have a Linux server environment and you want to use Windows as your Workstation environment for development.
> just as WINE has killed Windows on many desktops where the real thing wasn't necessary.
Except, of course, this is running an actual Linux kernel. So really it's just putting Linux in Windows and running them side-by-side. If anything, it makes moving to Linux easier if somehow this becomes even more popular.
The thing is, your attitude is stuck in the 90's and Microsoft's isn't. They used to write software for many different platforms and they're starting to do that again. Microsoft definitely cares less now if you run their software on Android, iOS, Windows, or even Linux. They're going to make money off of you either way.
I think it's more of a market position change rather than an attitude change.
Microsoft had significantly more market share in the 90's and used that market share to get their way no matter what. Desktop computing was the dominant way most people used computers and Microsoft was king.
The rise of cloud computing and mobile caused Microsoft's dominant position to slip. They lost the cloud to Linux. They lost mobile to Apple and Android. They still have majority on desktop computing, but that too is under assault from Chromebooks in education and non-Windows tablets for "consumption-heavy" and casual computing.
>> They used to write software for many different platforms and they're starting to do that again. Microsoft definitely cares less now if you run their software on Android, iOS, Windows, or even Linux.
They have to. If they don't embrace other platforms they would dwindle. If Microsoft software was only available for Windows, many consumers would rarely use their products. Office 365 exists so Microsoft Office can live on as a web application and there-by be available for practically all devices.
>> They're going to make money off of you either way.
Exactly. They have adapted quite well and have demonstrated remarkable resilience and versatility. However I believe that they were compelled to change due to a loss of dominance rather than a change of attitude.
I think the market position changed long before their attitude did. Microsoft's protective attitude towards Windows ultimately cost them mobile.
> The rise of cloud computing and mobile caused Microsoft's dominant position to slip. They lost the cloud to Linux. They lost mobile to Apple and Android.
They didn't lose the cloud to Linux -- that makes no sense. Cloud competitors are Google and Amazon. Microsoft's cloud market share is growing more than 50% every year. While it still much less than Amazon, Microsoft is in a solid position. Linux accounts for more than half the servers on Azure and I'm sure Microsoft is perfectly ok with that.
> They have to. If they don't embrace other platforms they would dwindle. If Microsoft software was only available for Windows, many consumers would rarely use their products.
A second ago, you were arguing that Microsoft is going to make Linux obsolete and you now seem to be arguing the opposite.
> However I believe that they were compelled to change due to a loss of dominance rather than a change of attitude.
I'm not sure how that is relevant or how either one of us could know the minds of the top executives at Microsoft. But either way, it means that Windows is definitely not Microsoft's primary focus as it was throughout the 90's and 2000's. WSL is part of that strategy and not some obsolete EEE scenario.
What I meant by "they lost the cloud to Linux" is that most server computers running in the cloud are not running Windows, they are running Linux.
>> Linux accounts for more than half the servers on Azure and I'm sure Microsoft is perfectly ok with that.
Azure is doing great as a cloud service, but the fact that more than half of the servers are not running Windows only underscores the change in strategy due to the loss of market share and dominance.
Microsoft executives in the 90's would not have been okay it. In their view, all computers must run Windows and any other operating systems were competitors.
>> A second ago, you were arguing that Microsoft is going to make Linux obsolete and you now seem to be arguing the opposite.
I am not sure how you got this from my comments. I was only speculating the Microsoft's attitude change was out of necessity rather than benevolence.
>> I'm not sure how that is relevant or how either one of us could know the minds of the top executives at Microsoft.
They were pretty vocal about their views on Windows and Linux at the time. Take these Steve Ballmer quotes for example:
"When we tell the story about what's happening today with browsers ten years from now, I want the thing that replaces Windows to be Windows."
"Linux is not in the public domain. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works."
"I've got my kids brainwashed: You don't use Google, and you don't use an iPod"
"There's no chance that the iPhone is going to get any significant market share. No chance."
"Let's face it, the Internet was designed for the PC. The Internet is not designed for the iPhone. That's why they've got 75,000 applications — they're all trying to make the Internet look decent on the iPhone."
"Whatever device you use... Windows will be there. … Windows will be everywhere on every device without compromise."
"We are in the Windows era — we were, we are, and we always will be."
I still find windows usage painful and sluggish compared to ubuntu and left in the dust by xubuntu so I'd rather have the reverse with a windows vm.
30% longer compile times than on Linux on the same hardware.
Using git takes time compared to being instantaneous.
Running "hello world" written in .Net takes 3-5 seconds compared to <<1 second on Linux on the same hardware.
> If your GUI is sluggish it's because you're letting stuff like letting crappy antivirus and malware detection run in the background or you have an underpowered machine for what windows needs.
As I mentioned above, Linux is amazingly much faster on the same hardware! And brand new 2018/2019 hardware at that when I measured last time.
That said antivirus is a real problem. Part of the problem is that mandatory Windows OS often signals sysadmins that doesn't care, so you often get tragically bad antivirus, possibly misconfigured at that.
Scared of what?
I have spent years either in Window's inferior environment for development or having to dual boot or running something like VMWare workstation. I do that because linux is inferior for gaming/entertainment. I have never "enjoyed" a single linux desktop environment, I spend the majority of my time coding or running stuff on terminal.
I'm in my 40s and tired of going back and forth between the two. WSL has been a godsend
Linux has as much to be scared about from Microsoft as Microsoft has to be scared of Linux gaming
It really isn't any more. I play a lot of games and only one so far has refused to work well on Linux, and that's one which is emulated on Windows so I can't blame Linux too much for it. And that's on a laptop with nvidia's power-saving shit thrown into the mix. As for entertainment, aside from Firefox having issues with hardware acceleration, most of which have either been fixed or are being fixed, I haven't faced any in Linux that I haven't on Windows. That said, I don't use HDR, so I can't vouch for that.
On the other hand, I've had significant performance issues with WSL, especially on disk use, and I don't really care for windows update bugging me all the time and the telemetry. I jumped on board Linux with Pop!_OS and it's been a delight. I used to be just as negative on Linux, but I have been so, so happy I've been proven wrong.
I think this hasn't been true for some time for studio games. Most (big budget) games are ported to windows from consoles, except for indie titles
But at least now it works! (Unless it doesn't because some retarded anti-cheat software which doesn't actually prevents cheating, gets me banned after a few minutes. Looking at you Apex Legends)
Somehow I just don't see the same demand for people on macs/linux and WINE. It seems like a niche interest to actively want to combine the two worlds and I am VERY interested if any significant number of people use this who are not driven by gaming needs.
I don't see how. I pretty much think anyone should do whatever they want with their computers. Windows is acceptable for some, and not for others. I can't see the point of getting mad about what software other people are running.
I have never used WSL, but if I ever do, it definitely won't be for gaming.
I wouldn't want to try to directly deliver anything from such an environment that I would ask other people to run. Even my more-trusted development laptop feels scary at times, especially when I'm operating in environments where I have to do about the same thing as above with installing a dozen dependencies from who-knows-whom. I generally use separate build UIDs for some measure of separation in these cases, but we still have Linux and X being potential emmentaler attack surfaces, and I haven't yet arranged my workflow to the point that spinning up new virtual machines is trivial, especially because then you have a lot more friction with testing GUI software, sharing existing files, etc. etc.—most of the easier solutions to which seem to be very cloud-oriented and “when your Internet connection goes down, so does everything else”, which is something I insist on pushing back against in this context, including because “someone upstream did something unexpected and now everything is instantly broken in a way I have no real leverage over” is its own massive trust hazard.
My dedicated low-sensitivity machine isn't very powerful, so the cost wasn't as much of an issue as it could have been; it was a midrange laptop several years ago which I'm still using. If your workplace environment comes with its own hardware, then that's a thing too.
It would certainly be nice to have better, though, and the desire for less redundancy of costly hardware is legitimate. My desired setup from a while ago, which I never managed thus far, is to have more powerful hardware with multiple boot configurations, but not all of them persistently present like most multi-boot machines: instead, I would physically attach and detach system and user disks, assuming that firmware-level attack persistence is rare, and then rely on power-down flushing any lower-trust code before attaching a higher-trust disk. It'd be hard to ask most people to do this, though.
First of all, because I've seen many a PC game anti-cheat software cause system-wide issues.
Second, because I don't even do those things in the same room.
Third, because for your common web developer a 2nd PC is cheap. You can get a refurbished i5/i7 machine, add a new 32GB of RAM and a 512GB SSD for less than $500. [0] This will last you for 5 years, easy.
I'm also in my 40s and I like things simple, clear-cut and easy. Mixing Windows with Linux is none of those. Dealing with one work OS is by far easier than dealing with two of them. Also, XFCE runs circles around the Windows GUI while providing better features liked a tabbed file browser and a taskbar that natively supports all the features that I used to have to hack into Windows with 7+ taskbar tweaker.
Until one day, this part wasn’t true any more:
> Third, because for your common web developer a 2nd PC is cheap. You can get a refurbished i5/i7 machine, add a new 32GB of RAM and a 512GB SSD for less than $500. [0] This will last you for 5 years, easy.
Unfortunately not all types of dev work can be done on a middle-of-the-road machine.
For C++ and C# windows has the best IDE for it. For C++ CLion is the next best IDE but it's nowhere near as fast or snappy as windows visual studio IDE.
Also keep in mind most developers use visual studio code nowadays which is a microsoft creation.
To admit, it has one of the best debuggers though. But CLion seems to have catched up in that department, and seems to have way better CMake integration than VS does. CLion still needs more work on performance (as well as support for other build systems), but it’s still the editor that I’m optimistic about.
VS2019 frequently freezes for multiple seconds. When project files change (e.g. because you check out a different branch) VS often fails to load the modified projects and I need to restart the IDE.
Then there's the fact that the refactoring tools in VS2019, despite improving significantly since older versions, are still way behind ReSharper or IntelliJ.
I also generally dislike the UI I'm VS2019. The Git integration works, but it's cumbersome to use. You can't easily have multiple run configurations. The error/warning list pops up seemingly at random.
I use Rider now. It's not perfect, but I am just much more productive in that environment.
You could have already been doing that for years[0].
wsl -u root /usr/sbin/service <daemon-name> start
or, equivalently, wsl -u root /etc/init.d/<daemon-name> start
Because I've been starting Debian sshd this way using a Windows Task Scheduler "At startup" task for years, in both WSL 1 and WSL 2, and it "just works".Note that, for my case, WSL 2 requires an additional command to map a TCP port from external adapters to the VM's "host-only" interface, e.g.,
powershell.exe -NoProfile -NoLogo -Command
netsh interface portproxy add v4tov4
listenport=2022 listenaddress=0.0.0.0
connectport=2022 "connectaddress=$(
wsl -u root -e perl -e '
print qq{$1}
if qx{ip -br addr show eth0}
=~ m{ ([0-9.]+)/}')"
as a single line, replacing "2022" with the TCP port you want available externally.But they went down the navel-gazing path - everything pointing inwards to their ecosystem and picking off the useful interoperability stuff little by little until almost nothing is left.
Just because you don't like linux desktop environments, doesn't mean everyone doesn't. I've used several linux desktop environments, and I prefer all of them to Windows (my current favorite is i3/sway). Of course that is a personal preference. I know some people prefer the windows (or mac) desktop experience to linux's, and that's fine. Just don't say that my preference is invalid.
> Scared of what?
That they will try to pull off the "Extinguish" phase of their infamous "Embrace, Extend, Extinguish". I am doubtful that they would be successful extinguish linux at this point, but whatever they do to attempt such a feat could very well cause some pain for desktop linux users.
1 - throughout all these years Linux developers have been giving money to Apple instead of supporting Linux OEMs. Using a BSD flavour to target Linux
2 - Apparently many like the extend done by Google with Android and ChromeOS
Here's the source (literally). https://github.com/microsoft/WSL2-Linux-Kernel
And how exactly are Microsoft going to force you - particularly you, personally - to stop running your own Linux kernel?
This is the same kind of ridiculous fear as any other -ism, as if lots of black people around will turn you black, or lots of gay people around will turn you gay, or lots of Muslims around will turn you Muslim.
Apparently the large majority is fine with POSIX CLI, tiling window managers and some Electron apps thrown in.
A less charitable read of your position is that Microsoft will tempt other people away and they will no longer give you cost-free updates. Of course you don't mean that.
Devs I know of that use macOS do it for the "Linux without the jank" aspect - essentially as an "it just works" quasi-Linux distro. If Windows could provide the same experience, or at least a very similar one, I do believe a good number of devs 'raised' on Windows would stay. In my lifetime, I've seen more people convert from Windows->macOS due to wanting to do dev work in a "Linux-like" environment than anything else. It makes sense for MS to want to mitigate that bleed-off.
So now i'm installing Windows and Linux, comparing them and the ease of use. I don't want _any_ driver problems, frankly i just want the OS to get out of my way. Historically, Linux has given me such a terrible experience with things like "my BT doesn't work, my sound doesn't work, my monitor doesn't work" that switching away from Mac was viewed as an impossibility.
Now however, i see a way out, and i'm taking it. I've experimented with WSL2 and it's shockingly good so far. I'll likely install PopOS this weekend to see if i experience problems. If i even hint a problem in Linux, i'll likely revert back to Windows.
Mac is losing it's lunch imo. But, i get to build a workhorse of a PC for the same price i would have given Apple - so i'm happy.
Why sell to these demanding power users wanting complex stuff when you can sell to the rich consumer who just wants to dick around on Facebook and play with their iDevices all day :P
WSL gives me access to all my regular devops and developer tools + Linux shell while I don’t have to reboot for gaming and music production.
I switched about 1 year ago. Windows is now again a solid OS choice for developers and I expect lots more developers to make the switch with the recent and upcoming MacOS changes.
It’s just wsl -—set-version <distro> 2.
Just switching this setup verbatim to WSL2 will most likely lead to performance problems on file I/O from WSL to the windows disk (due to the architectural changes from WSL1 to 2). File I/O within WSL became faster, but crossing the boundary is more expensive making tools like git unusable when the code lives on the windows side. I could move the code to the WSL side but then every IntelliJ I/O operation needs to cross the "slow" boundary. Unless I also switch IntelliJ to WSL so it will probably take some experimentation before I arrive at a proper WSL2 setup that satisfies my needs.
Of all the issues I've had with emacs about 80% of them could be traced to running emacs on windows. Not through any fault on windows side mind (except possibly the insane decision to use a different path syntax).
Unless you want to claim the Unix developers deliberately chose the slash as a path separator to be incompatible with TOPS-10. That could be.
[0] http://www.os2museum.com/wp/why-does-windows-really-use-back...
Not inconceivable. After all Windows is called w32 in Emacs not win32 as is common everywhere else because RMS couldn’t bear to think “win” in association with MS!
I installed the official Windows binaries for GNU Emacs pretty recently, copied my elisp directory over, and for the most part things worked out of the box, but with a few inconvenient exceptions: taskbar pinning didn't seem to work properly due to the awkward emacs/runemacs distinction, and some things related to directory layout and navigation were painful due to assumptions of a Unix-style home directory clashing with Windows's user-directory layout. No WSL involved.
You get to avoid using WSL and get the full Linux experience without compromising gaming – with few exceptions: the more extreme anti-cheat software detects VM usage, and that applies to a very small set of AAA games.
I gave up and install the Windows to dual boot.
A motherboard claiming support for VT-d is no guarantee that it is able to do anything useful with it.
I’m scared of adding all the unknown problems of Windows to all the problems of Linux and then having to depend on that on a daily basis.
So, I won’t use it. It’s too easy to buy a used computer, slap a new SSD and RAM in it and run Manjaro Linux. I recommend an HP Elite 800 from Amazon for $200-$300. Then if you need Windows it’s just one KVM/RDP click away.
It's really that simple.
For work, I put Windows out to pasture on a different workstation - I hardly ever need it at all (I keep it around for for testing and debugging Windows-specific issues and when I want to use SSMS instead of Azure Data Studio or Visual Studio instead of VS Code which is pretty much never), but when I do it's there. For games, I've always had separate dedicated Windows machines.
I run Windows on multiple systems and I'm absolutely aware of it's stability but also it's problems. One of my biggest issues with it is that it ignores my active-hours and starts updating right in the middle of me working or playing. It's happened time and again on pretty much all of my Windows machines.
Another huge Windows problem is that I don't have any control over many things. For instance - they keep re-pinning shit to the taskbar after an update. Or, they change my settings after an update. Or, they constantly nag me with popups or ads disguised as notifications or start menu icons.
> If you buy bottom barrel you will get what you paid for unless you're extremely lucky...
OK, not sure how that's relevant. I recommended buying a very solid, albeit refurbished desktop unit from a major manufacturer that I happen to have been running three instances of for years now without problem.
> ...same goes for linux.
What does that even mean? My years using Linux as a desktop have been filled with far less drama than the years I ran Windows as my workstation.
There are people commenting on this post who actually do this thing, and are telling you that your irrational fears are unfounded. Experience beating “thinking” every day.
My experience tells me absolutely 100% that separating them is better.
I’ve been using computers since the 80’s. How long have you been using them?
Well I am Welsh and in the 80s I was using the pride of Wales, the mighty Dragon 32. Perhaps you’ve heard of it?
https://en.wikipedia.org/wiki/Dragon_32/64
Anyway nowadays my daily driver is Win10 with WSL. It really is as good as other posters have said.
I'm American and I've been running Windows since the 80s and Linux since the 90s, which are the OSes we're talking about.
Personally I tried WSL2 out and it was pretty good. The problem was I was still running Windows and I absolutely can’t use to UI to save my life. I loathe it. I’m a huge fan of tiling window managers and Regolith’s my current DE of choice. And lucky for me my games run in proton, I work on backend systems such that I don’t have any dependencies in on anything that runs on Windows (Google docs for office work). So I would not be WSL’s target audience.
Wait, wasn't that 1999? 2000? 2001? ... Everyone stopped caring when mobile platforms became dominant.
I don't see any of MSFT's actions threatening this on a really big picture level. It's always been and always will be up to 'the community' to build and make Linux and free software what it is.
Linux, especially Linux Desktop, is wonderfully flourishing right now, and I don't think it's because 'MS hasn't offered a more compelling alternative to Linux' in the cloud. More largely, it's because we've built what we've wanted. Maybe I'm naive about what we've been ungratefully depending on. If so, I'd settle for a mildly cautious and watchful neutral ground. All I can say is, please contribute to Linux and FOSS if you can. I do.
I agree, but it has to be said that this has also happened because desktop features across the board have stagnated.
There has been little evolution of desktop features in the last 15 years on Windows and Mac; MS and Apple are focused on other things, namely services integration to increase revenue and convergence with mobile OSes to reduce costs. This has allowed the Linux desktop to catch on and solidify, by not having to constantly chase feature-matching. Same for hardware support: new devices and ports for the desktop and laptop market have been few and far between; if anything things are getting simpler (USB-C for everyone, no cd, no modem, etc).
I have no doubt that both Apple and MS could destroy the attractiveness of Linux desktops very quickly if they focused a bit more resources on evolving their desktops.
I don't think. Is there any example that you thought as evolution (maybe on Linux) ?
> Same for hardware support: new devices and ports for the desktop and laptop market have been few and far between;
What about Surface?
Terrified. I'm expecting the next round of secure boot to come, this time without the ability to disable or add your own keys. To the people that complain they can't boot linux, I expect the response to be "but you can run linux from windows, silly!"
I thought that died and got buried a while back.
* “WinRT” - yes. That’s the new COM+WinMD platform API added in Windows 8 (and initially only available to “Windows Store apps”) and incrementally improved since then and now part of UWP but it’s existence is weird. Some parts of WinRT are available outside of UWP but it’s a confusing mess.
* “Surface RT” - Yes, the “Surface 2” and then the “Surface Pro X”. Note that the Surface RT and Surface 2 were both locked-down to only run Windows App Store programs whereas the Pro X (and all post-Win10 ARM machines) are not artificially restricted this way.
As an aside: I normally use "bricked" to mean "entirely unusable as a computing device"
or is it just trying to make a decent machine people want to use?
It could be emergent behavior. One faction in microsoft does this, then later another faction might take advantage of the situation.
In any case, one of linux's best characteristics is to be "checks and balances" against common software.
Cygwin[0] is a lot more mature and has a huge set of supported applications.
Cygwin is no longer needed when you have real Linux.
I'd say that depends on your use case.
For many folks, WSL is an excellent idea. I've played around with it and it doesn't give me anything over what I already have using Cygwin.
Also, Cygwin+userland is much lighter weight than an integrated VM like WSL2.
A lot of the question is what you want/need. I need a decent shell with a fairly complete unix userland. X is nice to have as well. That such functionality seamlessly integrates with Windows is great.
But I don't need a dev environment (although Cygwin provides that as well) for unix on my Windows box.
I'm sure there are other use cases/software that requires a full blown Linux kernel/environment, but they don't apply to me. I just use VMs (on separate hardware) for that.
And unless you actually need a full-blown kernel, rather than a specific set of tools, cygwin provides a lightweight, mature and well supported alternative.
Don't get me wrong, I'm not claiming that Cygwin is unix. Rather, I say that for a significant set of use cases, Cygwin can be a superior solution.
It all depends on your requirements.
I also find that, for me, cygwin is a better solution for what I want: A bash shell and a decent set of unix-like command-line tools, that (critically) uses the same filesystem as Windows programs do.
I've honestly been kind of perplexed by all the excitement around WSL. A lot of people seem to say they want it for "development", by which I guess they mean web development. And I could see WSL being a nice alternative to running a full Linux VM for web development. But I don't do web development (mostly). I just want a unix-like shell and tools on my Windows box. And I don't want to have to think about whether the files I'm creating and working on live in Linux-land or Windows-land.
Also the filesystem access is shared. That's why WSL is a separate thing, otherwise you could always just run a VM yourself. WSL lets you easily browse files, operate on the same files, and even call processes and pipe results across both sides.
I dont need an OS to track my every move. If they want that data, they can pay for it.
Oh well, still a nice feature
In the end most issues boiled down to me importing the heavily cooked dotfiles I use on my linux machine to wsl.
Running X11 apps on macOS always felt like an afterthought of an afterthought. It is slow and doesn't integrate with the system at all. I know it's possible to do much better, and I wish it were so.
Personally, I'd like to be using more GUI apps in Docker across platforms, but it's just ... gross right now.
Having worked with the Linux OS APIs and Win32 APIs, they both seem to have their advantages.
If it were superior for containers, Windows containers wouldn't have withered on the vine.
.NET Core being truly cross-platform is pretty much an official acknowledgement by Microsoft that Windows is not the be-all and end-all. To use their words, they're "meeting developers where they live" instead of insisting that one size fits all, if that size is Windows.
Maybe PowerShell would be the default command-line interface.
VS Code would be the default text editor.
.NET Core programming languages would be in the default SDK with the ability to seamlessly develop applications and push to Azure.
They could even include a way to run legacy Windows applications to maintain backward compatibility with all the previous Windows applications--a Windows subsystem for Linux.
Seriously though, if Microsoft created a full desktop Linux distro I would definitely want to try it.
You have no idea how much stuff expects the shell to behave like bourne shell.
Would you please elaborate what you mean by this statement?
The C shell (csh / tcsh) and the Korn shell (ksh) don't follow Bourne shell conventions and yet they work fine as login shells and script interpreters.
It seems logical that PowerShell could be further adapted to be more Unix-like with "read" and "print" functions that would attempt to bridge the object / plaintext divide similar to the "read" and "print" functions that are used in Lisp-like languages to convert between Lisp-like forms and plaintext.
According to one of the comments, it seems it is running Wayland in WSL and connect to it through RDP. Do anyone know why not just run Wayland in Windows? Is there any technical limitation? I am not familiar with Wayland.
After more than an year trying to get my laptop (very high dpi) and my monitor (high dpi) to have decent fractional scaling on Linux so that I could use both screens while working comfortably. I decided to try wsl and it is pretty much as fast (with my computer/use case), OS just delivers the problem above, so I am sticking with it...
Main cons for me right now are:
* windows updates been too aggressively
* not able to easily create/edit hot keys
I've paid thousands to the Mac ecosystem over the years purely to avoid these problems. I just want the OS to work, and i've literally never had that experience on Linux. I'm sure it's much much better these days than it was the last time i tried, but - everything i hear tells me they still exist to some degree.
4k and 1080p is my exact setup btw haha. I was debating installing PopOS this weekend.
Edit: there was no configuration needed. I selected Wayland from the menu and it just worked right out of the box. No bells and whistles, just a great desktop experience.
The longer i'm a software engineer the less energy i have for dealing with my OS, i guess.
I know the CPU/Ram/GPU i want, but i imagine most of the trouble is motherboard, since so many features are there.
I'm also curious how my current hardware rates on compatibility.
I also have an Nvidia right now, so.. hopefully it works great hah. Otherwise i'll be on Windows.
AMD: check in which kernel version AMD added the support for your GPU, and which Mesa version has feature parity (most of the time it's already there because there weren't any big shifts since Vega, RDNA2 might be that one) and you're good to go on any distro.
NVIDIA: Wayland support isn't there for years and foreseeable future, random issues with driver updates. Supports only 3 distros (Red Hat family, SUSE and Ubuntu without derivatives, I even made a page for devs how to add Debian flavour of it on any deb distro since Mint users were constantly struggling), Debian makes it's own decoupling of blob which works flawlessly but new version might not be there for a month because maintainers aren't there. I still remember that full support for Pascal has landed 6 months after the release.
This enables also using Linux based IDEs and other graphical tools (could be for example some command line tool popping up image viewer) or browser.
> Linux containers in WSL 2 mode, Linux containers in Hyper-V mode, or Windows containers.
Which is litaraly the same reason i use(d) Mac, but am now looking to move away from. Mac has too many problems, so i may as well move on.
Of course, this is terrible, but it is what it is for now. The online office apps are slowly creeping towards viability but they are still a long way short. When (if) they get there I might be able to change this.
I run Windows on my personal computer, and just have a Debian VM I use for work.
When it's time to work, I just click an RDP shortcut and 3/5 monitors turn into work monitors. I still have easy access to my Windows stuff on the other two for the non-work related stuff I keep open all day (Spotify, Discord, etc).
When work is done, I just close the RDP session. All my work stuff stays open. I don't need to worry about saving any state, or restoring it the next day when I start work.
Also completely obviates any sort of driver or hardware issues. Stuff that's simple on Windows (e.g., using any of the multitude of USB/thunderbolt laptop docks) is just a friggin' nightmare on Linux.
I think that's the main point of the WSL. Most of the things people are using it for could have been done for years with a separate Linux VM, but getting smooth experience was not trivial.
Heck, was it even built-in into Windows with first-class support from Microsoft?
That's what's so "exciting about it".
I mean yes, the fact everything is set up by default and supported is very nice, and some integrations are better than they would have been before such as sharing peripherals. But we are talking about something that is specifically for developers here. Many people are saying that WSL has finally let them use Windows for development, as if it was really impossible before before.
It didn't have to be impossible for them to say that.
A subpar, messy to setup, and incovenient experience (as it was) would have been enough to make it unusable...
I've used X-Window servers to servers, plus local Cygwin on Windows in the past. I'd take WSL over that any day of the week...
> For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.
Because WSL2 i've not had a single "chmod" issue, .. not sure why i would. Chmod within linux works just like you'd expect. However permissions across the OS boundary is another story.
Though TBH i'm not sure what you'd expect from chmod'ing files in the Windows side. Seems unfair to expect Linux-centric behaviors to work on the Windows installation. Eg you wouldn't expect to be able to put Windows applications inside Linux Containers, right?
By the time WSL 2 actually was out, I had migrated completely to Linux. I'll keep checking MS progress here, but in many ways they already lost me and many others.
Open source is in at the moment but it might not be in the future (especially if we go all in on the cloud)
WSL does not give you the non-intrusiveness, better performance, security, and privacy of a native Linux distro installation.
I can't begin to imagine if Microsoft starts creating an entire Linux development suite of apps that 'requires' the presence of WSL and Windows installed.
EDIT: OK downvoters, so what's the most popular operating system that has Linux on it? pretty sure now it is Windows.
It depends what you call “Linux” obviously, but android runs on top of a [forked] Linux Kernel.
- Android-x86: 8,352,565 Downloads
- RemixOS: 4,623,342 Downloads
- Phoenix OS: 180,898 Downloads
- Openthos: 166,697 Downloads
I will see in the future lots of tutorials, guides, software, company support, etc covering not just your regular Linux but also WSL, since it's much easier to access rather than installing yet another Linux distro directly on hardware just to try Linux software.
My point was that you can't claim the 100 million+ Windows userbase as being the largest Linux distribution, because almost none of those people (proportionally) are actually using WSL.
I don't think we have the usage numbers for WSL. I don't think we have the usage numbers for Linux desktop either. I personally would be surprised if WSL was the largest Linux distro, but either way it's not a claim one can make because we don't have the numbers.
It has achieved Linux on the Windows desktop without dual booting, all unified, download whatever distro you want.
If Microsoft does anything people don’t like with WSL, people can move back to another Linux distribution, the cost is almost zero to move back to a Debian or Ubuntu.
At the moment though, this brings Linux and the entire Linux software ecosystem, a pretty good desktop experience, all of the Windows hardware/software ecosystem, and very good integration between the two environments.
It's sort of everything that OS X/MacOS used to be with respect to a great GUI + nix CLI. But Apple has given about as much attention to the nix side of the software as I give the sewage lines that run under my house.
With a Windows GUI and a CLI that is one of several distros. You get the benefits of the enormous hardware support Windows provides, but all of the opensource software the open source community provides.
Who knows what the long-term strategy is, but it's suddenly made Windows useful as a development platform again, right when Apple has started taking their eyes off the ball and has been ignoring the *nix side of their platform for years.
Not if driver developers say "we don't need to support Linux anymore, everyone uses WSL2 anyway".
Disagree. The success of linux has been driven by open source enthusiasm, not corporate backing, so I doubt its demise will come from a corporation.
And the momentum of OEMs offering linux out of the box (Dell, Lenovo, System76, Pinebook) seems to be growing, not shrinking.
Linux is winning. Have some more optimism, my friends.
If they didn't embrance linux style tooling, they get told that they're anti-open source and that Macs will always be a better development environment when you're targeting Linux servers.
If they do embrance Linux style tooling, they get told it's EEE all over again.
I've been following the development of WSL, Terminal and VS Code. It doesn't strike me that this is some corporate EEE style policy, more it's a directive to make Windows as developer friendly as possible.
There's quite possibly an ulterior motive here, but it's more "make deploying onto Azure the happy path" than anything else.
WSL+VS Code+Terminal+Docker for Windows+Github == more business running their workloads on Azure == more money for Microsoft.
When you use the proprietary DirectX extension in WSL, you're not developing for Linux anymore, you're developing for WSL, a proprietary package. And now that you're reliant on DirectX/WSL/Windows, what cloud provider are you going to pick? You see, the Azure Advantage (TM) is that only Microsoft knows how to run DirectX on Linux effectively, because only Microsoft can inspect and modify the code. The Azure Advantage (TM) is that only Microsoft has the proprietary rights for Windows, so Microsoft can charge their competitors anything they want while offering it on Azure at a (relatively) affordable price.
Also, they have acquired Github, and they are slowly pushing towards the entire development/discussion to be moved to Github (In the guise of making it easier for people to contribute to Linux), from the current method of using the Emails for discussions and submitting patches.
When you consider everything, and don't just go by localized observations, you might get a better picture of the old EEE in the new bottle.
On the other hand, supporting VS Code, Terminal, WSL2 makes them money by helping boost their cloud services, so it makes sense to spend money in those areas.
That doesn't feel nefarious to me, just business.
As a linux user I'm immensely happy that I can use the same shell-scripts and applications on windows machines as I do on linux. And that I can just SSH into it (and use the same tools, SSHing into powershell doesn't help much if you don't know or use powershell for anything else). It makes coexisting so much more comfortable.
This isn't just making deploying to Azure the happy path. This is ensuring that a generation of software in the Linux environment only works on Windows' WSL.
If you're not doing native development on Windows 'cause you want cross-platform support, you won't use DirectX specific pieces...
Wouldn't developers just write native Windows ML apps then?
The DirectX integration is going to bring over that support to Windows.
https://developer.nvidia.com/blog/announcing-cuda-on-windows...
https://devblogs.microsoft.com/directx/wp-content/uploads/si...
From https://devblogs.microsoft.com/directx/directx-heart-linux/
I'm not even sure where mesa comes in. Can you elaborate where you got your info?
It makes zero sense to consume D3D12 and DirectML under WSL directly from user applications since that prevents your app from being deployed on the real linux. There also won't be any SDK or headers released by Microsoft so you'll have to manually load functions from .so.
> It makes zero sense to consume D3D12 and DirectML under WSL directly from user applications since that prevents your app from being deployed on the real linux.
That's the whole point, people will do it because it's convenient, and Microsoft is counting on the fact that it prevents your app from being deployed on "real Linux". DirectX is already quite a popular API on a popular OS and actually pretty good on technical merit alone. It may very well be a sensible trade-off for a project or developer to move to DirectX, but it will be a loss for the Linux ecosystem.
> There also won't be any SDK or headers released by Microsoft so you'll have to manually load functions from .so.
The .so files are compiled from the same source code, the article doesn't go into a lot of detail but I suspect existing DirectX tooling will be updated for Linux targets. Either way, normal developers will have access to the same tooling and documentation as the developers for TensorFlow and similar ML frameworks you already claimed will talk to D3D12 or DirectML (unless you're claiming that Microsoft will give special tools to the open source TensorFlow project or something).
https://old.reddit.com/r/apple/comments/9a6rpk/18_years_ago_...
So, Since Microsoft loves open source too much, I also believe they are creating Linux Subsystem for Windows where we can run Windows programs on Linux.(it may be better than wine because it is by Open Source loving Microsoft which created Windows). So, Linux users who can't run Programs say Adobewares can then run in Linux Subsystem for Windows.
I also hope they will port Microsoft Officewares to Linux too. Since, MS loves Open Source, I believe that they will benefit Open Source and make Operating System a freedom that must be available to all people.
I didn't claim any false things nor did i preach bad stuff. I just preached the importance of OS freedom that many dream.That was intention of Microsoft as well which loves open source.
https://pulse.microsoft.com/nl-nl/business-leadership-nl-nl/...