7 ms·
Now, for the benefit of Mankind , Microsoft must release Linux/MacOS subsystem for Windows (Subsystem which is capable to run Windows applications in Linux/MacO
by varbhat 6y ago
Now, for the benefit of Mankind , Microsoft must release Linux/MacOS subsystem for Windows (Subsystem which is capable to run Windows applications in Linux/MacOS) .
I know Wine do exist, but it is not 100% Windows compatible. If they really care about us people, they must either release Windows subsystem for Linux/MacOS or contribute to wine to make it fully windows compatible.
Solely benefitting off Open Source Projects adding those to their closed system is not so nice imo , they must do it in other direction too.
Just imagine frustration to dualboot windows just because of one application which runs only in Windows.
On other hand, Just imagine the application running perfectly in subsystem in Linux/MacOS without any dual boot. Many wouldn't bother even if it's paid application imo.
- jhfdbkofdcho 6y agoI don't know if you heard already, but Microsoft did release a Windows Subsystem for Linux! Here's the wikipedia page and everything! https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux I find the naming scheme kind of confusing though.
- mynegation 6y agoFollowing that scheme I believe varbhat meant “Linux subsystem for Windows”, I.e. Windows emulation as a Linux Software.
- usrusr 6y agoBut Linux doesn't have the concept of a "subsystem", that's pretty much a Windows NT exclusive (inherited from its core predecessor OS/2). User mode like WINE is the correct approach on Linux. It's pretty wild that Microsoft actually managed to reactivate the subsystem concept for (first generation) WSL after it had been dormant as an 1:1 boundary for so many iterations of Windows and even wilder how quickly (and elegantly) they switched to a completely different abstraction for WSL2. This switch was mostly motivated by cross-environment filesystem performance afaik, so it might be perfectly reasonable to take the other approach (an actual NT level subsystem) for the android use case: the guest apps won't do much file I/O outside of the subsystem's dedicated playground because of how Android is discouraging free-form filesystem use.
- shawnz 6y agoWSL1 actually doesn't use the NT subsystem capability like the older Interix/SFU system did. Instead it uses a new feature called "pico processes". See: https://docs.microsoft.com/en-us/archive/blogs/wsl/pico-process-overview https://docs.microsoft.com/en-us/archive/blogs/wsl/pico-proc...
- temac 6y agoSo I see the historical NT subsystem story restated all the time and that makes little sense. WSL1 used little (if any?) of the historical NT subsystem concepts and WSL2 even less. SFU and its successor were, but that was a completely different architecture, never intended for binary compat. The short lived and of limited scope OS/2 subsys was for binary compat, but given the origin and NT and the similarities of some techs it is not surprising. MS-DOS support was way more a low level and VM thing and the bulk of it not that much different from the Dosemu approach. The classical NT subsys was more of a userspace thing than a kernel space one. And Linux is already way more userspace neutral than the NT kernel is, anyway. You could do a Win compat userspace on top of the Linux syscall if you wanted. Of course it is heavily inspired by Posix, but NT syscall are heavily mapped to Win32.
- skissane 6y ago> The short lived and of limited scope OS/2 subsys was for binary compat, but given the origin and NT and the similarities of some techs it is not surprising They could have used a more classic NT environment subsystem architecture for WSL1, it would have mostly worked. The primary reason they didn't was performance, and to a lesser extent compatibility. Unix systems create lots of short-lived processes, because processes on Unix are relatively cheap. By contrast, NT processes are much heavier weight. This is part of why the POSIX subsystem / Interix / SFU / SUA and Cygwin too always have had performance problems. Introducing a new lightweight process concept, the picoprocess, helped get over the performance issue. But these new lightweight processes can't be allowed to make arbitrary NT syscalls, which rules out the classic NT environment subsystem implementation pattern - have DLLs which make NT syscalls instead of e.g. OS/2 syscalls. If they'd followed the classical Windows NT environment model, they would have enhanced NT to be able to load ELF executables and then shipped their own libc.so which made NT syscalls. That would have worked fine for most apps which don't make Linux syscalls directly, but would have had worse performance than WSL1 had. It also would have meant more work for them, since they'd be emulating not just the syscall layer but the libc layer too. (They could have sped things up by reusing the GNU libc code; to do that, they would have had to have open sourced most of the code of their subsystem, which would have probably been a positive overall, but I'm not sure how feasible that would have been given internal Microsoft politics around open source.) To support the minority of apps which make Linux syscalls directly, bypassing libc, they needed something in the kernel to intercept the SYSENTER/SYSCALL/INT 0x80. They could have redirected it back to user mode for handling in their libc.so. That would have worked, it just would have been slower than WSL1 is. (And WSL1 already has enough performance issues, that performance was one of the main motivators for switching to the new architecture in WSL2.)
- stabbles 6y agoWSL is well-known ;) OP asked for the reverse: being able to run Windows applications on Linux.
- jhfdbkofdcho 6y agoYeah I know. Before he edited his post he literally asked for a Windows Subsystem for Linux which is what it should be called. But Microsoft calls their Linux environment for Windows that. So....
- baldfat 6y agoAlso this WSL was life changing for me. Also I perfered to use the OpenSUSE version. It is just awesome.
- da_big_ghey 6y agoI used to think that this would never happen, but now I wonder. MS makes lots of money from, say, office on ipad and android. MS makes tons of money from Linux via Azure. To this end, MS supports dotnet, squirrel server, and lots of other stuff on Linux really well. So maybe, just maybe, this could happen.
- shawnz 6y agoIt makes sense to port their application software to other platforms so more people can use it. But what would they get out of giving their competitors the ability to run non-Microsoft products made for Windows? That is a big, non-trivial task which they'd be spending a lot of engineering effort on, for free, and wouldn't benefit them in any way. It would strictly reduce the number of reasons to use their products.
- usrusr 6y agoYes, that playing field has shifted a lot. But Microsoft will just make more and more of their own code cross-platform (e.g. Office now exists in a modern version that's surely not very OS-specific and in a barely maintained Windows-only legacy version for anything but in name). They can sell to non-Windows customers just fine without ruining the only relevant USP Windows has, compatibility with a quarter century worth of win32 API clients.
- utxaa 6y agoyou mean windows subsystem for linux?
- dtech 6y agoI'm not sure why they would, what's in it for them?
- shawnz 6y agoThey didn't make WSL for the benefit of mankind though, they made it so that Windows would be a better, more competitive product for developers. If Linux distro vendors want to be more competitive for Windows users then they will have to take the initiative to improve Wine, the same way Microsoft took the initiative to support Linux apps on their own platform. It doesn't make any sense for Microsoft to take both torches and kill their own competitive advantage. They would rather have people use their own platform, Windows, which they clearly believe is the better one.
- pjmlp 6y agoActually they made it for the developers that buy Apple hardware to develop for GNU/Linux, which are now unhappy that Apple only focus on the developers that actually target their eco-system. The GNU/Linux developers unwilling to support GNU/Linux hardware vendors are the ones to blame.
- devenblake 6y ago> The GNU/Linux developers unwilling to support GNU/Linux hardware vendors are the ones to blame. Can you elaborate on this?
- bzb6 6y agoHe probably means the global bitching about the way nvidia develops their drivers.
- pjmlp 6y agoNothing to do with NVidia, see my reply.
- pjmlp 6y agoPeople that buy Apple hardware, giving money to Apple, then bitch about Apple not supporting developers, when they actually only care about developing for GNU/Linux, and use macOS as a pretty "Linux". If they really cared, like myself (1215B owner), they would be giving money to Tuxedo, System 76, Dell, Asus, and whatever else that is shipping hardware with Linux distributions pre-installed.
- temac 6y agoWSL2 is a VM. If you want excellent Windows compat, run Windows in a VM. If you merely need application not using very Windows specific feature, or if you need game compat, run something like Wine. Is there a need for yet another reimplementation of (necessarily a subset of) Windows API? Doubtful.
- syshum 6y agoWhat would be ideal for linux would be for KVM/QEMU to come up with "seamless" mode where your running windows app in a VM but it appears as any other app on the system not as a VM
- jayd16 6y agoYou want a foss Parallels. I don't know if you've used WSL but its not there yet.
- chabad360 6y agoThat exists, have a look at https://github.com/Fmstrat/winapps https://github.com/Fmstrat/winapps
- ubercow13 6y agoThis is nothing new, it's just using RDP with a bit of extra integration with the desktop. I think freeRDP has supported this single-app mode for ages, but you won't get good performance for anything using the GPU.
- cercatrova 6y agoWhy would they do that? What they should really do is a Windows subsystem for macOS, so I don't have to buy a Mac to develop for iOS. That's wishful thinking though of course, Apple would never allow it.
- grawprog 6y ago>If they really care about us people, They're a corporation. They do not care about anything other than increasing their shareholder's profits. >they must either release Windows subsystem for Linux/MacOS or contribute to wine to make it fully windows compatible. This would not increase their shareholder's profits.
- 2OEH8eoCRo0 6y agoThat's not true. They only need look out for shareholders, profit is one way of doing that. Increasing trust of the company, making devs happy, etc are other ways to ensure the company sticks around.
- endlos 6y agoWindows is the better Linux and the better Android ... Wonder where I heard that before!
- zamalek 6y ago> Microsoft must release Linux/MacOS subsystem for Windows Linux and MacOS do not have subsystems, that is an NT architecture feature. Microsoft could, instead, contribute to Wine.
- downrightmike 6y agoNope, this is just MSFT eating market share to try to starve out competitors
- X6S1x6Okd1st 6y agoWould you pay for a windows 10 license to enable that use case?