Any bets on when Windows Subsystem for Linux becomes Windows kLinux (a la Debian kFreeBSD)?
Or what about X Windows? That would be the cheekiest desktop environment name yet.
Speaking of X11, has Wayland or Mir or something killed it yet? I haven’t paid attention to Linux on the desktop since I got my first MacBook Pro in 2013. Other than seeing my coworkers stop to fiddle with CLI incantations every time they move their laptop more than half an inch. “One sec, I have to [something something xrandr] before I unplug my monitor or it’ll kernel panic.” I guess if they’re using xrandr they’re not using Wayland.
“But at least I have 32gb RAM.” Ya, the server under my desk has 96gb RAM, and unlike your laptop I can use it from anywhere I have WiFi. iTerm2+SSH is the premier Linux desktop environment.
My coworkers on Linux are good sports about it though, they know they’re masochists. The ones who dare to unplug their laptops anyway, which is a fairly unpopular practice.
Your coworkers either have the worst hardware ever, or are running incompetently configured OS that should be shot. None of the desktop Debian or Ubuntu users I support know there is a terminal. This isn’t a problem with X11, but something insane in your coworkers’ particular systems.
Yes I suspect my coworkers getting the worst of it are running hip configurations. I ran Linux on my laptops for many years without bullshit problems like that. Although I didn’t constantly connect and disconnect peripherals, including monitors, which seems to be a common element in my coworkers’ instability issues. X11 doesn’t handle external monitors all that well to begin with, but it really hates it when you detach a monitor with the laptop lid closed. The hardware is also all pretty new, so I don’t doubt there are driver issues. The kernel panics likely come from foolishly trying to get Intel/NVIDIA dual graphics working, when the only sensible choice is to install the NVIDIA binary drivers, pin the graphics to the NVIDIA card, and eat the lost battery life.
My problems were more related to limited software selection, screwing around with package managers**, and overall quality of the experience, e.g. battery life, stuff like the above NVIDIA nonsense, hopping between WiFi networks, not wanting to carry two large flat folding bricks hinged together, powered by a third smaller, yet still shockingly heavy brick that couldn’t be left behind lest I needed my laptop for longer than 2 hours.
Nonexistent integration with my phone, when I use my phone constantly, also didn’t do Linux any favors. And obviously MacOS integrates quite well with an iPhone.
The hardware you manage was clearly well picked for Linux compatibility. Or you’re just lucky. I think that entire category of problem is total bullshit. I’m happy to pay Apple to care about it, because I fucking don’t anymore.
**I’m extraordinarily qualified to level this criticism against Linux.
Wayland is default on fedora now. Sounds like they basically rolled their own linux there. I’ve never had that experience even when I used Gentoo. SSH is very good though.
Any bets on when Windows Subsystem for Linux becomes Windows kLinux (a la Debian kFreeBSD)?
You’ve got it backwards: it’s Ubuntu kWindows. In its previous incarnation (interix/SFU/SUA) there were some materials about it being usable as a Gentoo distribution, but I was never clear on whether that was just an April Fools thing or not.
Speaking of X11, has Wayland or Mir or something killed it yet?
No. Some distributions are still pushing those other things, but they’ve always looked like solutions in search of problems (edit: to me; I haven’t seen any need to “upgrade” and X11 still works and still has distro support).
The problem is extremely obvious: X11 is a horrific pile of garbage.
the protocol is synchronous! doing anything at any moment can be slow because the server is busy with other clients.
the protocol is bloated, just creating a window requires tons of weird properties and whatever crap (== tons of those synchronous calls). ancient junk like server-side graphics are part of the core protocol that must be kept around forever.
the “modern” (OS X Public Beta is almost 18 years old now) desktop stuff (compositing and accelerated client-side rendering) has been bolted onto that protocol, the old parts aren’t useful for it, so what the heck does the X server still do? it’s a glorified IPC broker! with a slow protocol from the 80s! yay!
the input system is a total mess. Touchscreen support is awful, you can now get touch events but your fingers will always move the damn cursor too! And what’s on the inside… there are actually multiple input systems, the old ones aren’t completely gone, and “there are three people on this planet that know how XInput2 works”.
the security model is “everyone has access to everything”. Go ahead, sandbox an untrusted X11 app into a container, now it can’t read your SSH key from the filesystem, but the server will happily give it your keystrokes while you’re typing the password for that key.
screen tearing. Running a compositor with vsync on under xorg does NOT guarantee a tear-free experience. Sometimes a “TearFree” option in the DDX’s settings can help. Sometimes.
I know it’s currently kWindows, but if Microsoft doesn’t want to invest heavily in Windows it makes sense to make Windows another desktop environment for Linux. They’ve already ported SQL Server to Linux. They’ve built an Ubuntu userspace in Windows. It seems like they’re prepping the ecosystem to swap out the kernel.
I know it’s currently kWindows, but if Microsoft doesn’t want to invest heavily in Windows it makes sense to make Windows another desktop environment for Linux. They’ve already ported SQL Server to Linux. They’ve built an Ubuntu userspace in Windows. It seems like they’re prepping the ecosystem to swap out the kernel.
What would Windows have to offer as a DE? There are decades worth of programs that are only available as windows binaries - there’s still no other real option for gaming, even when it comes to games published today - and drivers for a lot of old hardware are in a similar situation. And on the technology side, the NT kernel and NTFS are arguably better than the Linux alternative, whereas the windows shell and UI layer is… there.
To my mind it would make more sense to double down on the kWindows route. An OS where you can run both windows tools and unix tools and have them work together seamlessly is a pretty compelling proposition - if they really want to cut costs they could swap out Explorer/Aero/… in favour of KDE or Gnome. Having .net core and maybe even a UWP runtime available for other platforms makes sense - the biggest challenge these days is getting developers to create a native desktop app at all, and Google is Microsoft’s biggest competitor where it matters, so having UWP be an attractive proposition for developers who might otherwise use Electron (or just a webapp) should take priority over trying to disadvantage other platforms - but there’s a lot of value left to be extracted from the long tail of windows use, particularly in industry (which is why this is a different scenario from classic MacOS).
If they made a DE using the Windows UI framework (is that UWP?), hosting Windows programs, and a compatibility layer for Windows binaries, that could be interesting. Essentially taking Wine to its logical conclusion. Supporting legacy apps is already handled through a compatibility layer in Windows 10. It’s not too much of a stretch to imagine Microsoft doing a deep port of the UI layer, the compatibility layer(s), and the surface level of the kernel to a large unified Linux.exe runtime.
I couldn’t make a compelling argument either way of whether the Windows userspace or the NT kernel is more valuable. But if Microsoft is doubling down on Cloud and Office, well, Cloud is Linux and Office is a desktop app. That was basically my logic. Visual Studio Code is Typescript, if Office goes the same way then they won’t need the Windows DE or NT at all. Will that happen? Literally no clue. Microsoft has done a great job of surprising me lately.
Azure supposedly gets its marketshare by integrating with legacy on-prem Windows Server deployments. Does that mean NT is valuable, or Active Directory / C#.NET / SQL Server are valuable? I don’t know much about anything in the Windows Server space except SQL Server, so again I really can’t say. All I know for sure is SQL Server is rock solid tech, and it’s been ported to Linux.
Those are the things I see that lead me to suspect kLinux. As you can see, I have a pretty limited understanding of the Windows / NT platform as a whole, so my guesses don’t hold any particular authority. I don’t know how compelling kWindows may be, since I don’t know the motivations of anyone who may be compelled by kWindows.
I know lots of legacy industry is stuck on Windows, but lots of that sector refuses to move off XP. If they aren’t upgrading regardless, does it make sense to maintain NT for them? Would it make sense for Microsoft to continue building on NT, or throw it into maintenance mode, leaving Windows LTSB the only remaining NT-based Windows distribution?
If they made a DE using the Windows UI framework (is that UWP?)
Sort of. UWP is their latest application runtime, there are a number of older ones as well (WPF, System.Windows.Forms in .Net, MFC,…); what I’d call the “windows UI framework” acts as a backend for all of them.
Supporting legacy apps is already handled through a compatibility layer in Windows 10.
Yes and no. AIUI it’s more first-class than that makes it sound; the NT kernel has always been designed to have multiple “personalities” all of which are on an equal level. And even if it’s a “compatibility layer”, I would expect some of it is just running the real win32 code directly.
I couldn’t make a compelling argument either way of whether the Windows userspace or the NT kernel is more valuable.
Thinking about it more, the points I would make would be: 1. Windows UI without windows program compatibility has been a dramatic failure when it’s been tried (WinRT, Windows Phone, WinCE before that). 2. The Linux kernel doesn’t offer so much - the very fact that Debian/kFreeBSD is a thing shows that.
if Microsoft is doubling down on Cloud and Office, well, Cloud is Linux and Office is a desktop app. That was basically my logic. Visual Studio Code is Typescript, if Office goes the same way then they won’t need the Windows DE or NT at all. Will that happen?
Azure supposedly gets its marketshare by integrating with legacy on-prem Windows Server deployments. Does that mean NT is valuable, or Active Directory / C#.NET / SQL Server are valuable? I don’t know much about anything in the Windows Server space except SQL Server, so again I really can’t say. All I know for sure is SQL Server is rock solid tech, and it’s been ported to Linux.
If they’re going to abandon windows entirely, Office and SQL server are applications that they could sell for Linux (or any other platform), sure. If they were going to do that, it would make sense for them to sell their own distribution (though even then, probably BSD-based rather than Linux for licensing reasons, just like Apple). And it would be damaging to their reputation if their distribution couldn’t run older, traditional windows programs.
But I just don’t see what they gain by doing that compared to going 90% of the way but leaving the NT kernel in place. Building a new application like VS code to be cross-platform from day 1 is easy. Porting an existing application that’s actively maintained and build on the latest versions of all their technologies, like SQL server - that’s not quite so easy, but still relatively straightforward. Porting the older frameworks like MFC, and then testing all the edge cases that older applications use - that’s much harder, verging on impossible (Wine is still really unreliable despite a lot of development effort). And it’s those ancient, business-specific applications that keep enterprises on Windows - if you don’t have perfect support for those, it’s much harder to make the case for buying “MS Linux” rather than just running CentOS or something.
Those are the things I see that lead me to suspect kLinux. As you can see, I have a pretty limited understanding of the Windows / NT platform as a whole, so my guesses don’t hold any particular authority. I don’t know how compelling kWindows may be, since I don’t know the motivations of anyone who may be compelled by kWindows.
In a sense I’m already using kWindows - I use a Surface Book so I run Windows as the first-party OS, but I use Ubuntu on Windows for some of my work. (Again compare with OSX, which is kind of “kDarwin” - BSD userland, able to run *nix programs, but their own kernel and display layer).
The way I see it an OS is mostly the glue between the applications and the hardware. Occasionally there are compelling OS-level features, but mostly you’d use a particular OS because it had the best support for your hardware or because it had the best support for your applications.
(That Linux is popular at all is kind of an accident of history - Debian et al were built on Linux because it was the free kernel that was available at the time. Debian/Gentoo/Arch/… are compelling because of their package repositories and being free, RedHat is compelling because it’s the cheapest officially supported platform for running Oracle/Maya/…. If it hadn’t been for the lawsuit, all those distributions might have been built against a BSD kernel, and little would be different (speaking as a FreeBSD user myself). The one thing that changes my calculus here is Docker - that’s the one thing Linux-the-OS can do that other OSes can’t, even if only for artificial reasons. But even then, many developers working on systems that run under docker manage to get by on OSX, so it doesn’t seem like a real blocker)
Making SQL server available for Linux makes sense from this perspective if you squint: SQL server is something that application developers use as a backend, so by making it available as widely as possible you make application developers more likely to use the Microsoft stack and support Windows. The same logic applies for “current” application runtimes - .net and UWP. But for “legacy” runtimes that no-one’s writing new applications against, porting them to Linux would only hurt MS: it would mean more applications available for Linux, and wouldn’t help windows at all.
I know lots of legacy industry is stuck on Windows, but lots of that sector refuses to move off XP. If they aren’t upgrading regardless, does it make sense to maintain NT for them? Would it make sense for Microsoft to continue building on NT, or throw it into maintenance mode, leaving Windows LTSB the only remaining NT-based Windows distribution?
Updating has to happen sooner or later, for the sake of the hardware if nothing else. “Run on new hardware, run cool new software, but keep 100% compatibility with your existing custom applications and custom peripherals” is a pretty good proposition, and I suspect accounts for a lot of NT sales.
The year of Linux on the desktop might come as a bit of a somber victory.
I am still waiting for the GNOME VR Desktop. Something like this.
Maybe @crazyloglad can help you out. See his latest post.
Thanks. I’ve seen the post already, though.
Any bets on when Windows Subsystem for Linux becomes Windows kLinux (a la Debian kFreeBSD)?
Or what about X Windows? That would be the cheekiest desktop environment name yet.
Speaking of X11, has Wayland or Mir or something killed it yet? I haven’t paid attention to Linux on the desktop since I got my first MacBook Pro in 2013. Other than seeing my coworkers stop to fiddle with CLI incantations every time they move their laptop more than half an inch. “One sec, I have to [something something xrandr] before I unplug my monitor or it’ll kernel panic.” I guess if they’re using xrandr they’re not using Wayland.
“But at least I have 32gb RAM.” Ya, the server under my desk has 96gb RAM, and unlike your laptop I can use it from anywhere I have WiFi. iTerm2+SSH is the premier Linux desktop environment.
My coworkers on Linux are good sports about it though, they know they’re masochists. The ones who dare to unplug their laptops anyway, which is a fairly unpopular practice.
Your coworkers either have the worst hardware ever, or are running incompetently configured OS that should be shot. None of the desktop Debian or Ubuntu users I support know there is a terminal. This isn’t a problem with X11, but something insane in your coworkers’ particular systems.
Yes I suspect my coworkers getting the worst of it are running hip configurations. I ran Linux on my laptops for many years without bullshit problems like that. Although I didn’t constantly connect and disconnect peripherals, including monitors, which seems to be a common element in my coworkers’ instability issues. X11 doesn’t handle external monitors all that well to begin with, but it really hates it when you detach a monitor with the laptop lid closed. The hardware is also all pretty new, so I don’t doubt there are driver issues. The kernel panics likely come from foolishly trying to get Intel/NVIDIA dual graphics working, when the only sensible choice is to install the NVIDIA binary drivers, pin the graphics to the NVIDIA card, and eat the lost battery life.
My problems were more related to limited software selection, screwing around with package managers**, and overall quality of the experience, e.g. battery life, stuff like the above NVIDIA nonsense, hopping between WiFi networks, not wanting to carry two large flat folding bricks hinged together, powered by a third smaller, yet still shockingly heavy brick that couldn’t be left behind lest I needed my laptop for longer than 2 hours.
Nonexistent integration with my phone, when I use my phone constantly, also didn’t do Linux any favors. And obviously MacOS integrates quite well with an iPhone.
The hardware you manage was clearly well picked for Linux compatibility. Or you’re just lucky. I think that entire category of problem is total bullshit. I’m happy to pay Apple to care about it, because I fucking don’t anymore.
**I’m extraordinarily qualified to level this criticism against Linux.
Wayland is default on fedora now. Sounds like they basically rolled their own linux there. I’ve never had that experience even when I used Gentoo. SSH is very good though.
Wow! That’s a big move by Fedora! But they always have been fairly aggressive about trying new technologies, and been willing to roll them back.
GNOME on Wayland is the Ubuntu 17.10 default as well. But they’re falling back on X11 for 18.04 which is an LTS release.
You’ve got it backwards: it’s Ubuntu kWindows. In its previous incarnation (interix/SFU/SUA) there were some materials about it being usable as a Gentoo distribution, but I was never clear on whether that was just an April Fools thing or not.
No. Some distributions are still pushing those other things, but they’ve always looked like solutions in search of problems (edit: to me; I haven’t seen any need to “upgrade” and X11 still works and still has distro support).
The problem is extremely obvious: X11 is a horrific pile of garbage.
Use the XSecurity extension.
Thanks for the update about X and Wayland. :)
I know it’s currently kWindows, but if Microsoft doesn’t want to invest heavily in Windows it makes sense to make Windows another desktop environment for Linux. They’ve already ported SQL Server to Linux. They’ve built an Ubuntu userspace in Windows. It seems like they’re prepping the ecosystem to swap out the kernel.
What would Windows have to offer as a DE? There are decades worth of programs that are only available as windows binaries - there’s still no other real option for gaming, even when it comes to games published today - and drivers for a lot of old hardware are in a similar situation. And on the technology side, the NT kernel and NTFS are arguably better than the Linux alternative, whereas the windows shell and UI layer is… there.
To my mind it would make more sense to double down on the kWindows route. An OS where you can run both windows tools and unix tools and have them work together seamlessly is a pretty compelling proposition - if they really want to cut costs they could swap out Explorer/Aero/… in favour of KDE or Gnome. Having .net core and maybe even a UWP runtime available for other platforms makes sense - the biggest challenge these days is getting developers to create a native desktop app at all, and Google is Microsoft’s biggest competitor where it matters, so having UWP be an attractive proposition for developers who might otherwise use Electron (or just a webapp) should take priority over trying to disadvantage other platforms - but there’s a lot of value left to be extracted from the long tail of windows use, particularly in industry (which is why this is a different scenario from classic MacOS).
If they made a DE using the Windows UI framework (is that UWP?), hosting Windows programs, and a compatibility layer for Windows binaries, that could be interesting. Essentially taking Wine to its logical conclusion. Supporting legacy apps is already handled through a compatibility layer in Windows 10. It’s not too much of a stretch to imagine Microsoft doing a deep port of the UI layer, the compatibility layer(s), and the surface level of the kernel to a large unified Linux.exe runtime.
I couldn’t make a compelling argument either way of whether the Windows userspace or the NT kernel is more valuable. But if Microsoft is doubling down on Cloud and Office, well, Cloud is Linux and Office is a desktop app. That was basically my logic. Visual Studio Code is Typescript, if Office goes the same way then they won’t need the Windows DE or NT at all. Will that happen? Literally no clue. Microsoft has done a great job of surprising me lately.
Azure supposedly gets its marketshare by integrating with legacy on-prem Windows Server deployments. Does that mean NT is valuable, or Active Directory / C#.NET / SQL Server are valuable? I don’t know much about anything in the Windows Server space except SQL Server, so again I really can’t say. All I know for sure is SQL Server is rock solid tech, and it’s been ported to Linux.
Those are the things I see that lead me to suspect kLinux. As you can see, I have a pretty limited understanding of the Windows / NT platform as a whole, so my guesses don’t hold any particular authority. I don’t know how compelling kWindows may be, since I don’t know the motivations of anyone who may be compelled by kWindows.
I know lots of legacy industry is stuck on Windows, but lots of that sector refuses to move off XP. If they aren’t upgrading regardless, does it make sense to maintain NT for them? Would it make sense for Microsoft to continue building on NT, or throw it into maintenance mode, leaving Windows LTSB the only remaining NT-based Windows distribution?
Whatever happens, these be interesting times.
Sort of. UWP is their latest application runtime, there are a number of older ones as well (WPF, System.Windows.Forms in .Net, MFC,…); what I’d call the “windows UI framework” acts as a backend for all of them.
Yes and no. AIUI it’s more first-class than that makes it sound; the NT kernel has always been designed to have multiple “personalities” all of which are on an equal level. And even if it’s a “compatibility layer”, I would expect some of it is just running the real win32 code directly.
Thinking about it more, the points I would make would be: 1. Windows UI without windows program compatibility has been a dramatic failure when it’s been tried (WinRT, Windows Phone, WinCE before that). 2. The Linux kernel doesn’t offer so much - the very fact that Debian/kFreeBSD is a thing shows that.
If they’re going to abandon windows entirely, Office and SQL server are applications that they could sell for Linux (or any other platform), sure. If they were going to do that, it would make sense for them to sell their own distribution (though even then, probably BSD-based rather than Linux for licensing reasons, just like Apple). And it would be damaging to their reputation if their distribution couldn’t run older, traditional windows programs.
But I just don’t see what they gain by doing that compared to going 90% of the way but leaving the NT kernel in place. Building a new application like VS code to be cross-platform from day 1 is easy. Porting an existing application that’s actively maintained and build on the latest versions of all their technologies, like SQL server - that’s not quite so easy, but still relatively straightforward. Porting the older frameworks like MFC, and then testing all the edge cases that older applications use - that’s much harder, verging on impossible (Wine is still really unreliable despite a lot of development effort). And it’s those ancient, business-specific applications that keep enterprises on Windows - if you don’t have perfect support for those, it’s much harder to make the case for buying “MS Linux” rather than just running CentOS or something.
In a sense I’m already using kWindows - I use a Surface Book so I run Windows as the first-party OS, but I use Ubuntu on Windows for some of my work. (Again compare with OSX, which is kind of “kDarwin” - BSD userland, able to run *nix programs, but their own kernel and display layer).
The way I see it an OS is mostly the glue between the applications and the hardware. Occasionally there are compelling OS-level features, but mostly you’d use a particular OS because it had the best support for your hardware or because it had the best support for your applications.
(That Linux is popular at all is kind of an accident of history - Debian et al were built on Linux because it was the free kernel that was available at the time. Debian/Gentoo/Arch/… are compelling because of their package repositories and being free, RedHat is compelling because it’s the cheapest officially supported platform for running Oracle/Maya/…. If it hadn’t been for the lawsuit, all those distributions might have been built against a BSD kernel, and little would be different (speaking as a FreeBSD user myself). The one thing that changes my calculus here is Docker - that’s the one thing Linux-the-OS can do that other OSes can’t, even if only for artificial reasons. But even then, many developers working on systems that run under docker manage to get by on OSX, so it doesn’t seem like a real blocker)
Making SQL server available for Linux makes sense from this perspective if you squint: SQL server is something that application developers use as a backend, so by making it available as widely as possible you make application developers more likely to use the Microsoft stack and support Windows. The same logic applies for “current” application runtimes - .net and UWP. But for “legacy” runtimes that no-one’s writing new applications against, porting them to Linux would only hurt MS: it would mean more applications available for Linux, and wouldn’t help windows at all.
Updating has to happen sooner or later, for the sake of the hardware if nothing else. “Run on new hardware, run cool new software, but keep 100% compatibility with your existing custom applications and custom peripherals” is a pretty good proposition, and I suspect accounts for a lot of NT sales.
I wonder what this will mean for the game industry.
not much if direct-x becomes something they license out I suppose.
This is actually very educational. Thank you!