Hacker News new | comments | ask | show | jobs | submit login
Arch Linux adapted for Windows Subsystem for Linux (github.com)
267 points by hunterwerlla on Sept 14, 2016 | hide | past | web | favorite | 160 comments

Maybe I'm in the minority but I prefer keeping my GNU/Linux and Windows installations separate, with each OS on its own drive. My Linux setup is secure, free of proprietary software and under my full control. When I run tcpdump, I'm met with a clean log where every packet is one I recognize. I get to use my favorite window manager (awesomewm) and I don't have to worry about forced updates. My Windows install is quite a different beast - automatic updates, mostly proprietary software and no major customizations other than performance tweaks and what the OS allows. I use it for gaming and media, and it works great. Boot times are very short with SSDs so restarting is not a problem. No compatibility issues, no fussing about with drivers and no need for translation layers like the Windows Subsystem or WINE; just two independent OSs that never let me down.

That said, no hate toward this project. Arch Linux is probably my favorite distro (although I'm on Xubuntu at the moment).

This is pretty OT, but I feel like it is worth pointing out:

> Boot times are very short with SSDs so restarting is not a problem.

Personally - this is a question of individual preference, though - I do not mind the OS boot time itself very much (to a degree). Whether the system takes ten seconds or two minutes from reset/power-on to the login screen does not make much of a difference, to me, psychologically. But once I log in, I need to open all of these programs, make sure the windows are in the right place, SSH connections to certain machines are open, etc. I admit I am kind of obsessive-compulsive about this, but this is a far greater (psychological) barrier to rebooting than the OS boot time itself.

I do not use Windows at home, and my work laptop runs Windows 7 (I intend to keep it that way, too), so I have not been able to play with the Linux subsystem on Windows. But if you consider it as an alternative to Cygwin (which I do use), it sound kind of nice. Now if only Windows had a native, builtin X server... ;-)

EDIT: With Cygwin or the Linux subsystem, driver issues are not an issue, of course, because hardware is still managed by the Windows kernel and Windows drivers.

Personally - this is a question of individual preference, though - I do not mind the OS boot time itself very much (to a degree). Whether the system takes ten seconds or two minutes from reset/power-on to the login screen does not make much of a difference, to me, psychologically. But once I log in, I need to open all of these programs, make sure the windows are in the right place, SSH connections to certain machines are open, etc. I admit I am kind of obsessive-compulsive about this, but this is a far greater (psychological) barrier to rebooting than the OS boot time itself.

Hibernation should solve this issue, no? It certainly does on single-OS machines. I practically only shut down my desktop when I want to tweak the hardware and/or BIOS.

It's a little more annoying for dual-OS because there is a 'hibernate' command and a 'reboot' command, but I'm not aware of a 'hibernate-then-reboot' one, so you have to manually hit the power button after hibernating instead.

Hibernation would work but then you have to make sure that the two operating systems don't share any drive (such as a data drive), because writing on a drive mounted by an hibernated system can cause all kind of weird issues.

Boot times do not matter for hardware OSes. For containers and VMs, there is much better use-case for short boot times: on-demand scaling.

I dont care about long boot times either, it's opening chrome and all my terminals that is a pain in the ass.

You can run things like VcXsrv or Xming, then you can pretty much run anything through them, including window managers. When WSL went mainline I had all sorts of fun playing with it, building Servo and VLC and running them in a tiling wm, just because I could. (Not exactly productive time though)

And I can't seem to edit my post, but your comment about it be a Cygwin replacement is spot on. It's definitely replaced the need for it almost entirely.

It would be nice to be able to develop "native" Linux software right from within Windows where I'm doing other things. I can see the appeal. That's why Microsoft built the Linux subsystem, I suppose.

I tried dual booting Linux back in high school, never got anywhere because I never selected it at boot. Virtual Machines changed that - I was able to play around with Linux without having to worry about a power cycle.

Now I can play around Tensor flow (in theory) and not have to worry about the crummy GPU support in nearly all hypervisors.

I've reached the point where I'd love to have Linux on my work machine, no Windows at all. That's only because for the first time Linux isn't this cool kids playground that I'm not invited to.

my first semester of college back in 2010 I, for reasons I cannot explained, decided that I would keep my windows and linux installs on totally separate hard drives. With a laptop. With one drive bay. You never appreciate how quick rebooting into linux is until you spend 4 months physically swapping a hard drive every time you want to switch which OS you're using.

I was not a smart freshman

If your laptop was able to boot from USB, perhaps you could place the second disk (the one with Linux) in an external USB 2.0 (better yet 3.0) case. That'd solve the issue...

have you seen the VS GDB Debugger extension?


Actually we have something better than that now. Check out http://aka.ms/vslinux

Much better than that, actually: http://visualgdb.com/

This one has been around a bit longer, too, and despite its name is now much more than just a pretty face for GDB but rather a full cross-platform development environment which has IntelliSense everywhere, handles the installation of toolchains and BSPs for embedded targets, building kernel modules (with VisualKernel addon), etc.

I would prefer it the other way around: Having a good Windows subsystem in Linux. If however I'm to work on Windows, it's nice to know that I'll finally be able to have access to a functional shell.

I like the approach here; different than WINE. Apparently WinNT was built all along to run applications for different OSs at the same time, like OS/2.

They didn't try to implement all of userspace, just the system calls... a lot less to cover. Very cool project.

Yeah, easy. But AFAIK, unfortunately Wine could not just reimplement the Windows Kernel interface, since Windows DLLs are subject to copyright (so you need permission to redistribute them, guess by whom?), and lots of them are needed for a "working" system. That's why they set out to also create a full set of compatible DLLs for each subsystem instead - a monumental task involving reverse-engineering [often poorly documented] stuff, and reimplementing the thing [possibly without infringing any patents]...

BTW Wine is approaching release 2.0. Hooray for Wine!

The real benefit is not just being able to develop Linux software, but the ability to work on cross-platform code. I do most of my coding and debugging in Visual Studio, but when I want to test the changes on Linux I now simply alt-tab to the bash shell which I have open in the appropriate directory, rebuild the changes with make, and then run the updated executable.

That's not necessarily doable for everyone, but for me that workflow is so much simpler than it would be with dual booting or a separate Linux VM.

Embrace, extend, extinguish.

Although I'm guessing a few devs are in the boat with "all company PCs must be windows." Gives them an out no?

No this is not that. The idea is some frameworks/platforms have become nix first, ex. Ruby, Python to an extent Java etc. OCaml to only name some. Windows Subsytem for Linux is about bringing these nix first developer plats to Windows and help developers like me to remain on Windows.

This is precisely the strategy of 'Embrace, Extend, Extinguish'.

Step 1: Embrace new technology ( like Ruby, Python, Java etc ) that run on other ecosystems

Step 2: Add extensions to the technology that only works in Microsoft ecosystem. For example, add new functionality to Ruby for Windows that only work on Windows

Step 3: As more and more people develop software that uses these features, more people will have to switch to Microsoft ecosystem to continue using those pieces of software. This is not a voluntary switching based on the merit of the software ( as the same software could have been developed without those extensions ). The switching is often mandated by management decree, customer requests or market concerns.

The danger of this strategy is the cost for people outside the Microsoft ecosystem.

a) Bad pieces of technology becomes successful, merely because it came from Microsoft. Everyone is forced to use it.

b) People are locked into Microsoft platforms. This causes all the usual problems associated with lack of freedom : harder to experiment, keep the costs down for companies etc

Some people say Microsoft has changed their ways and they have since repented, but most people are still suspicious. Once bitten, twice shy.

So what do you call it when Google adds great UX, advanced sorting and searching etc. to email, and then slowly starts making it harder to send email to Gmail accounts from non-Gmail accounts? (All in the name of eliminating spam, of course.)

Or when Facebook Messenger supports XMPP up until the point where their user base is big enough and they don't have to care about interop anymore?

Welcome to Software Business 101, everyone plays nice with the standards/alternatives/competition until they don't have to anymore. I never understood why Microsoft gets extra flak for this in 2016 - maybe they were particularly good at it 20 years ago, but every big player will play hardball if they get a chance.

The answer is to avoid single vendor lock-in under all circumstances, but Microsoft is hardly on a trajectory to become the single vendor for Ruby or any other Linux-first tech at the moment (ha!).

Microsoft are still doing it. The company that I work for didn't just pay for Office subscriptions because we wanted Office for Mac (and I didn't want to get it on subscription either, but the pricing strategy is designed to penalize you if you don't). We actually have access to three different Office-like products already (iWork, LibreOffice, Google Apps). None of them can yet 100% support Microsoft's "standard" file formats.

s/Software Business 101/Business 101/


And that is why I prefer to be a developer instead of a manager.

IMO everyone should get flak for these kind of monopoly building business practices.

Companies with this behaviour regarding my work tools lower my personal life quality.

It might be Software Business 101 now, but when enough executives note that it makes you hated after a number of years, the course content might change...

(For example, what makes me vary about this case is: I expect the Linux subsystem under Windows to start working worse and worse, sometime in the future.)

It may be that Microsoft is doing their usual embrace and extend, perhaps the extinguish part is not possible these days.

This is an interesting effect there, that due to WSL, there will be less perceived need to support windows for development tools. However, isn't WSL aimed mainly at developers? Regular users won't be turning it on. So if you're developing the next dropbox with clients written in Ruby, you'll still need a ruby and gems that run on Windows. i.e. to support end users, we'll still need dev tools that run on Windows. edit: Server-based stuff not so much, and server-based stuff is the main thing these days, to put it clumsily.

Correct, but a LOT of developers today write code that eventually runs on Linux in the cloud. With WSL, such developers using Windows will not leave for OS X/Linux

Hmm, perhaps it's really a move against OS X. If you actually run Linux you're probably committed.

Yeah I would agree it's a move against osx. I run debian on a raspberry pi3 don't even deal with Windows but this is clearly aimed at the corporate web developers where you have a macosx near monopoly.


Keep in mind that Microsoft itself writes and/or maintains a lot of software for Linux - as you can imagine, WSL comes in very handy there.

I don't think that's necessarily true, I use Synergy on my desktop - 2 machines, a windows box for gaming and windows dev and a Linux box for most general uses including most dev work, ops work on servers, etc.

Something like WSL attempts to reduce the desire for this setup. Having things like real openssh work properly without cygwin is a major plus in my book.

Bingo. I thought this was obvious from the start.

If Microsoft can extinguish Linux by adding some subsystems to Windows, I'll eat my hat.

MS is seeing that it can't extinguish Linux, as well as the iPhone or iOS system. It has to adapt to it. Making it easier to develop on a Linux subsystem makes people stay on Windows, which still has stuff like Photoshop that blows away Linux alternatives. Plus of course MS Office, for which LibreOffice is a real alternative, but in some environments it's not.

>Maybe I'm in the minority but I prefer keeping my GNU/Linux and Windows installations separate

I'm excited because everyone at my company doesn't develop on linux because "we know visual studio" and "setting up a build environment will take too much time".

With the linux subsystem for windows, we have the ability to push them to slowly start developing new systems on linux. So I'm super happy about it.

> Maybe I'm in the minority but I prefer keeping my GNU/Linux and Windows installations separate, with each OS on its own drive.

That's essentially how the windows subsystem works. It might not technically be a VM, but practically it is.

Don't know why you were downvoted without explanation, because that's my understanding how this new feature works. Just like the Posix subsystem before it, completely cut off from the Win32 subsystem. So, yeah, it feels like it would be like a VM to me.

> Don't know why you were downvoted without explanation

If past conversations on reddit are anything to go by it's because a lot of people don't want to recognize that WSL is essentially a VM. Docker too for that matter.

WSL is definitely not a Virtual Machine, unless you're saying that WINE is also a VM, in which case you have a very broad definition of VM that's different from most other people.

The way WSL is implemented is actually really interesting. Linux syscalls are translated by an NT kernel driver and some other shims handle the NTFS->POSIX transition on the filesystem side.

> WSL is definitely not a Virtual Machine, unless you're saying that WINE is also a VM, in which case you have a very broad definition of VM that's different from most other people.

Wine runs on the host OS, WSL runs apps from linux image. This image is self contained, just like a VM.

Aside from that, I said it's practically a VM. There might be some different technical stuff going on underneath, but for a user there is very little difference between WSL and a VM.

It's not truly contained, though. There is no security boundary between the host and the guest there - WSL can access your entire filesystem, for example (subject to usual ACL checks, of course).

The reverse is also true, by the way - WSL portion of filesystem can be observed directly from Win32 (cd %USERPROFILE%\AppData\Local\lxss and look around, but don't touch - there's some magical pixie dust there that's easy to disturb and break things from the Linux side of things).

Can't you make whole drives available to a true VM in the same way?

You can, but in a VM, you still have two different and separate filesystems, and then some mechanism to provide a window into one from another (custom FS driver mounted in a directory, SMB share etc). In WSL, there is only one filesystem.

And it's not just filesystems. We're also talking about potentially shared file descriptors/handles (where appropriate), access to processes in both directions etc.

So from user's perspective, I would argue that it's actually more similar to Wine. Even if the implementation is more low-level (syscall emulation vs userspace API emulation).

> Wine runs on the host OS, WSL runs apps from linux image. This image is self contained, just like a VM.

Actually (it's been a long time since I last used Wine though, so I might remember incorrectly), Wine is "self contained" as well and there's a "C: drive" directory structure with notepad.exe etc. too, just like the WSL system.

That's a very narrow definition of self-contained though. Wine does not implement its own filesystem operations, it uses the host's filesystem api to access host-native files. It doesn't even emulate a jail/chroot, because the host's / filesystem is by default accessible through Z:\

I think your right, now that you've jogged my memory.

The main point is that it does not run a linux kernel.

AFAIK its more like Wine than a VM.

Yeah there seems to be some magic going on behind the scenes. I'm not a huge fan of magic in this case. Though it's just Beta now still right? I like having VMs on my local machine that I can snapshot. I would prefer if MSFT bolstered their Hyper-V performance for GUI apps as I found them sort of slow both to RDP/VNC into remotely and also locally.

Would be cool if the Windows Linux subsystem can work like Parallels for OSX that can be blended into the general OS but also snapshots taken and if the user wants, bring the Linux environment in it's own window.

The point here is, it's not how we feel as a desktop user, it's more interesting to think about what new technical solutions can be created because of this.

> Maybe I'm in the minority but I prefer keeping my GNU/Linux and Windows installations separate, with each OS on its own drive.

Consider full disk encryption on the GNU/Linux drive as well, since Windows can still access the disk.

I don't think that will help. After all Windows can patch the bootloader to cache the encryption password too. Even secure boot won't protect you since Microsoft has the signing keys.

If you're not using secure boot* and an encrypted Linux partition you are not secure.

(*Or a boot loader on a separate USB drive which is never plugged in while running Windows)

I don't think that will help. Windows can patch the bootloader to cache the encryption password. Since Microsoft controls the secure boot signing keys, they can sign the patched bootloader too, so even secure boot cannot protect you. Having the bootloader on a USB drive is probably a good idea though.

I am currently dual booting between Arch Linux and Windows 10.

Moving to something like this one day makes me conflicted. On one hand I feel like I would betray open source, on the other hand I wouldn't have to restart my machine to play games...

If your hardware supports it, you may be able to pull a 180 and run a Windows VM on the bare metal using hardware passthrough. There's a great community here: https://www.reddit.com/r/vfio

I do this, works great. Get >95% of native perf out of my GTX1070.

You need to run separate GPUs to achieve this though don't you?

You can run your host OS using the integrated graphics and assign the dedicated card to the Windows VM

I'm having a hard time finding any information about that. Anything you can point me to?

Ideally, I'd like to use 2x1080 (sli) with Windows KVM guest and then use the integrated graphics for Linux host.

There's a ton of guides, I found it useful to read a bunch of them and mentally prepare for the kind of stuff I should be doing.

Thanks! I've read up since the last post. Now I'm trying to decide if I can live without SLI.

The guide linked above was the same one I used. Honestly it took me quite a while to get it all working. I had to buy a separate soundcard since I wasn't able to get the one on the motherboard to pass through the audio correctly without static noise in it. Once I got the HTC Vive I ended up just going back to a dedicated Windows install and built a separate machine just for Linux stuff. Saved me lots of headache.

SLI is hard/maybe impossible with GPU pass-through. Let me know if you get it to work!

Not necessarily. I managed to get it working with a single GPU, by unbinding it from the host and binding it to the VM. Unfortunately it does mean that you have to stop X11 and all programs, and going back doesn't work (the GPU freezes the machine when the proprietary NVIDIA driver loads), but it's still better than dual-booting because background services continue to run. It certainly is easier with separate GPUs, though.

You can always have multiple VM's with gpu passthrough, so it's almost like dual boot kind of setup, but you can still run other things on the host. It works pretty well for me, only downside being that you're limited to single VM running at the time.

You can run multiple VM's at the same time as long as you have a separate GPU to assign for each VM. There are videos on Youtube of people demoing this.

I run Fedora 24 with no GUI, so I only have the one GPU. Technically my motherboard has a crappy GPU I could use.

Wow, that works? Video games are pretty much the last thing that holds me on Windows. Everything else is solved on Linux. I am very interested in any solution for this problem.

It works, but you need to cherry-pick the hardware. I've seen GTA V running smoothly IN A VM with this configuration. The CPU must support VT-d, which my i7-4770k sadly doesn't. You also need a second GPU to use with the host operating system (nVidia Optimus for laptop users doesn't cut it).

It works, but it requires some time investment. Not everyone has the same quirks, so you will have to play around a lot and try to find the cause of different issues.

Totally worth it imho. It allowed me to go Full Linux

same. is this a selective process? i mean, can I allow access to my video card and but still not to the rest of the CPU/memory/storage?

Yes. Most Intel CPUs from the past decade have supported hardware virtualization extensions (VT-x) that allow for efficient virtual machines, where the host system allocates CPU time and memory much as it would for an ordinary userspace process. Select Intel CPUs also support an IOMMU extension (VT-d) that allows PCIe devices to be virtually isolated from the host system; effectively, the device's DMA goes in to the VM's memory space instead of the host system's memory space. This can be done on a per-device granularity. It allows the OS in the VM to access the device exactly the same way it would if the OS were running on bare metal, so no driver changes are necessary.

Storage for VMs is still primarily emulated rather than virtualized, but you can use VT-d to grant a VM exclusive access to a HBA or RAID card or NVMe SSD, because VT-d works for any type of PCIe device.

e.g. with Xen (and probably ESXi/KVM?), it is possible to run FreeNAS in a VM with PCI passthrough of the storage controller, pfSense in a VM with PCI passthrough of physical NICs (or bridge to virtual NICs), Windows in a VM with a dedicated GPU, and Linux or OpenBSD in yet other VMs, all on one "desktop" that consolidates clients/firewall/NAS. If you get the right hardware, BIOS and PCI devices.

Why not just stop playing video games? There's a universal consensus that they're a waste of time anyway, no? I mean this seriously because it is my first thought when someone claims not to be able to switch to GNU/Linux because of games.

Why not just stop browsing Hacker News/hanging out with friends/working on side projects/trying to use Linux? There's a universal consensus that it's a waste of time anyway, no?

Video games are fun.

Serious general open question here. It strikes me as odd that on the one hand you say you want to ditch windows in favor of FOSS, but then go on to say that you use Windows just to play games.

The interesting thing is that games are some of the most costly and closed source things in software today. Windows costs the price of two games or less.

Further, if you own a PlayStation, an XBox it's likely you have spent hundreds of dollars on closed source games. If you bought a fancy graphics card, would you expect that to be free as well?

I love FOSS software as much a as the next person, but people who write software do have to live. Like game developers, employees of NVIDIA, even the people who make the Arch Linux distribution.

I'm truly not picking on you or FOSS, I just find it hard to rationalize FOSS zealotry that is almost universally hypocritical to some degree. Even Linus gets $10m a year or something like that. I'm not even sure to be honest what FOSS software IS any more.

It's a serious question, because I'm really confused.

> The interesting thing is that games are some of the most costly

Hah! I wish. I've spent thousands on single SKUs - yet SASS and anything B2B can make that look like chump change.

Meanwhile, Steam sales discount high quality, high end titles significantly pretty quickly - to the point where a lot of gamers basically never pay full price.

To say nothing of mobile being flooded with $0.99 titles. To say nothing of the effectively free humble bundles. To say nothing of all the free web and indie games out there.

Although I guess the right freemium Skinner box can also cost thousands in DLC and micro-transactions? But you can get games so cheap these days that people don't even get around to playing everything in their Steam libraries.

> I just find it hard to rationalize FOSS zealotry that is almost universally hypocritical to some degree.

On the more practical side of things, games are entertainment and frequently rely heavily on obfuscation to avoid hacking to gain unfair advantages in multiplayer. It's all somewhat fungible - if you can't play game X, you can still have fun playing game Y - the only real downside being your emotional investment in game X. Vendor lock-in isn't much of a problem, and a number of games are mod friendly.

Having your business and personal data stuck in vendor lock-in and being legally prohibited from taking over where they fuck up, or try to escape from their clutches should they jack up their prices, etc. is a whole new level of potential downside. Entire businesses die when twitter changes their API terms.

Meanwhile, if WoW ever shut down, gold farmers would find another MMO to abuse the same day.

Right I know, I've been there and witnessed it first hand trying to sell on the iPhone app store.

I was more thinking of zero day PC Games and especially console games in my comment but that should have been made clearer. I get that they do get heavily discounted though over time.

Totally agree with your penultimate paragraph, nobody likes it yet we still have our Netflix accounts AND our Amazon accounts.

To me it seems HN often picks on the little guys who are just trying to make a buck while actively supporting giant corporates and going Wheeee!

Nice post by the way

I didn't pick up many hints that they were using Linux purely because FOSS, that seems like a projection?; personally I went entirely Linux because I'm fond of the nearly infinitely granular controls I can make over the UI and UX (plus a few system level things) that I can share with others, get improvements on and reiterate into my daily use. Perhaps there's a similar trend here to the user you're responding to; I am merely speaking out of anecdote.

Aside from the other comment where I hope I pointed out the reasoning.. The "Betray Open Source" bit.

You might be right that there is some projection.

I've been working on a project for quite some time now, without any pay and it is close to completion, and I more and more frequently reflect on how it should be positioned, marketed and ultimately generate some revenue so that I can actually afford my own apartment.

When I read HN I see this tension. Something comes out and the comments will be. Oh that's cool but fuck you, it's not FOSS but at the same time I see yay, another gadget I will immediately go and buy.

You just can't win.

I develop on Linux mostly and Windows occasionally, and I've more than paid my dues to the community over the years, but at some point hard decisions have to be made. FOSS is great when you have enough cash stashed to not give a damn or you are just doing it as a hobby.

I feel like I'm staring down the barrel of a gun no matter which business model I choose sometimes, and it pains me to have to make a decision, and neither one looks pleasant.

I think everyone is a bit split on it. We realize how accessible and empowering open source software has made things, so there's a preference to encourage that. As a kid I was curious about Unix workstations, but knew they cost $30k and I wasn't going to get access to one unless it was a university or larger company shared with other people. Only a few years later Linux was released and today I could get a computer for less than $50 and dig through the source to my heart's content. I have access to a commercial quality Operating System, Databases, and Web Servers. All I have to do is download it.

In general the conceit seems to be paying for support and giving the source away for free (RedHat). Or selling a service and not making the source available (GitHub). It sucks because someone who writes an amazing tool still has to come up with a whole other business in order to make income from it.

There is commercial software on Linux where I don't hear people avoiding it because it's not open source: PyCharm, Sublime, Autodesk Maya, Foundry's Nuke, as well as (like you mentioned) games.

Thanks for putting that answer together. It's generally how I feel.

"come up with a whole other business in order to make income from it"

You really hit the nerve there.

And is not that I'm naive enough not to think that marketing function and all the rest shouldn't exist. It's just sheer frustration.


There is a goldmine of unique historical discussion on free software business models on the "Free Software Business" mailing list archives, going back to 1994. Includes industry luminaries including Cygnus/RedHat founders. Content is hard to navigate but priceless, needs to be rescued and imported into a modern mailing list archiver.



For Web applications, there's also the Wordpress model, where you publish the source code, but make money providing hosting. Ghost and Sentry are other products that do that.

There are some desktop apps where the developers do a similar thing and provide source code and perhaps unsupported installers, but you can pay for supported binaries through the Apple App Store. Collabora are trying to monetize some of their LibreOffice work that way:


> It sucks because someone who writes an amazing tool still has to come up with a whole other business in order to make income from it.

However, selling the software itself means you have to engage in a robust licensing system to defeat the pirates, which is no trivial feat (even mighty Adobe went online-as-a-service because they couldn't beat the pirates).

Well, I think you get around that by making a service-based company instead of a software-based company--that's completely separate from open source vs closed source. Unfortunately, not all businesses can be structured like that.

> FOSS is great when you have enough cash stashed to not give a damn or you are just doing it as a hobby.

FOSS companies make money by selling services, not software. Sometimes lots of it, and they're laughing all the way to the bank. FOSS also means "I can try it out in my own time, and not be hassled by sales staff or have to jump through hoops to get a trial", not to mention "I can tweak certain bits to better match my stuff".

I use Windows for games, because 'right tool for the right job', and the most polished games are on Windows. However, there is not a hope in hell that I'd use Windows for my day job - the one that keeps me fed and housed. Random (and LONG) forced update restarts. Broken/empty "click here for more info". Difficult to get at the system for troubleshooting. High minimum requirements. The list goes on and on. And even working as a dumb end user, I can't reskin the desktop anymore!

They didn't say anything about using Linux because of FOSS. They said games were the only thing keeping them on Windows. There is a possibility that they just enjoys using a Linux OS over Windows for general computing?

He said, he feels he is betraying open source.

Actually that somewhat hits the nail on the head regarding how a lot of us feel. We'd love to do it but the pragmatic reality is that we can't do that all the time.

He feels the pain, I feel the pain, and I'm sure a lot of other people do as well.

The fact remains if he or I play games, or I buy a tv or a washing machine. Well screw us both because on some level we are betraying open source. It's 50 shades of gray.

Anyway, it doesn't really matter. I'm no less confused.

Those were different users commenting.

Whoops okay! But the observation remains, just hike the root node of this up one level in the tree for me. My bad.

I have nothing against closed source, and I don't think FOSS is inherently good. I am a long-time fan of Windows and Microsoft, and I owned two Xbox 360 and an Xbox One. I just noticed a trend in Windows: Less customizability, less control, more automatic updates and erratic behaviours (recently, a Windows update caused my screen to turn black randomly on my Laptop. While I was working on my thesis that was due in a few days! Uninstalling the offending 'update' fixed the bug...).

I can slap a Linux distro on my PC in 30 minutes and be ready. Copy over your home folder and apt-get your software and you're ready to go. You can even install it on a USB drive. On the other hand, with Windows, I have to worry about licensing, version (will Windows 10 install home or professional?? It's the same image and it decides by itself...) and just a ton of other stuff. We're at the point where Windows has no advantage over Linux (except for games). A decade ago, you would always run into driver problems, packet manager bugs, configuration problems, etc. on Linux. Today it is rock solid. I am just choosing the better system here - who programmed it and how available the source is does not matter to me.

Okay I understand, and I more or less feel the same way for the most part.

Although I use Linux 95% of the time, and I think Windows has lost its way a little. I would disagree that it isn't robust. The kernel at least is quite excellent. But that's another topic.

Sorry for raising this issue, it's the "I will pay $1000's of dollars for hardware, and games", but I can't spare change for an OS that got me started. Apologies.

No apologies needed :)

Oh, and I also think the Windows kernel is quite excellent. Based on my past experience with how quickly my laptop battery is being depleted, I also feel like Windows 7 saves more energy than Ubuntu. It is just that with the advent of Windows 10, I cannot help but feel like Microsoft adopts some infantilizing practices which I cannot stand. In particular, that my OS is permanently communicating with the internet and doing stuff with compressed memory now - something it never did in such scales on Windows 7. I just want a solid, predictable system. Not one that shoots my CPU usage up to 100% at a random time during the day because "system and compressed memory". If an idle system makes my CPU fans howl at random times of the day, doing unspecified work that I cannot control, it does something wrong. Period.

Yes that's right, it's so complicated nobody on the planet understands what is running on the thing or even where to begin to find out anymore, which is a shame, there was a time when it was quite pristine.

I recently switched back over to Linux for full time development and it really is like a breath of fresh air.

i definitly noticed this too with a Windows 8 laptop i got. It did indeed need less battery than a default ubuntu. Then i installed Arch and the world was correct again.

The bit... "Moving to something like this one day makes me conflicted. On one hand I feel like I would betray open source, on the other hand I wouldn't have to restart my machine to play games..."

Free as in Freedom != Free as in Beer

Well that part I understand, but freedom has a price, and to make that work the onus is on the community to prop you up. Unfortunately, the human genome is pretty selfish in my personal experience.

Id love to do this, since I pretty much just need league of legends support. Only problem is, its a vm. How would windows 10 licensing thing work?

Windows 10 licencing from dream spark seems to work in qemu-kvm. Idk how normal Windows 10 works with that, I only use it to run the occasional required software for class.

http://vfio.blogspot.com/ is another good resource for this. The hardware recommendations will become outdated over time, but otherwise it's great.

That is the right way to do this.

I would really love if Qubes OS would support that, but it's not quite there yet.

Or you could just only play Linux games. I mean sure, you'll eventually get tired of Shadow of Mordor and Shadow of Mordor. But when that happens you can just play Shadow of Mordor.

I realize you were attempting to make a joke, but there's a ton of great games on Steam for Linux nowadays, and GOG.com has been porting some of their games to Linux as well. Anything made in Unity, Unreal engines, and id Tech engines can be easily ported to Linux.

Beyond native ports, one can use PlayOnLinux or just plain Wine with varying degrees of success.

Hehe, there's actually a pretty decent amount of games for Linux these days, but if you're an enthusiast then it's not enough.

Yeah I was exaggerating a bit, I find plenty of games to play. If you're not too picky about which game you play, you can find a lot of good games. It's when all your friends are playing something specific and telling you to play it with them but it's Windows only that you feel the pain and are tempted to reboot into Windows :)

simply dont have a windows to reboot into.

problem solved

anecdotal, but about 2/3 of the games in my steam library had linux versions available when i switched to desktop linux a couple of years ago. granted, i'm not exactly a aaa title kind of guy

Looks like they're up around 25% overall, just comparing these two catalog filters that (mostly) exclude DLC:

http://store.steampowered.com/search/?category1=998&os=linux http://store.steampowered.com/search/?category1=998&os=win

2644 games for Linux, and 10750 results for Windows. There's a good deal of high-profile stuff, but Linux support definitely does skew toward the indie side of things.

Just take the Linus Torvalds school of open-source philosophy and don't give a shit whether your software is open source, closed source, free, or $299. Just use good software that makes you happy.

Exactly the same for me! Got bash for Windows up and running with i3 on vcsrt. Ff is running in i3 and it is relatively smooth (I have a beefy specs). Almost all my settings have been ported. However, emacs is struggling because of some weird issue not going fullscreen and there's lots of issues with other execs (GUI in particular) because of dbus (I think)... There's also a super annoying issue with the windows button which I normally use as meta key for i3....

I suppose by open source you mean free software (because I can't see how you can betray software development methodology by switching OSes). If this is so, than do you understand how silly your alternative sounds? It feels almost like a sarcasm.

This pulls something from https://cdn.turbo.run/alwsl/alwsl.sfs - what's this URL? How can anyone tell this is related to Arch Linux? Why do the readmes link to 404s? All of this seems rather unfinished. Could have polished at least the github presence a little.

Also, what are the advantages compared to solution like https://github.com/RoliSoft/WSL-Distribution-Switcher, which allows selecting different distributions, including Arch Linux?

> ...which allows selecting different distributions, including Arch Linux?

Sorry to rain on your parade, but there is _no_ official Arch Linux image on Docker[1], as you can easily verify[2]. Use at your own risk whatever Arch Linux image you happen to find on Docker Hub, such as this one[3]. It might work or it might break, but it ain't official.

[1]: https://bbs.archlinux.org/viewtopic.php?id=214973

[2]: https://hub.docker.com/explore/

[3]: https://hub.docker.com/r/base/archlinux/

The attitude here is hard to understand. [3] is very clear about how it's built, no guess work involved.

Looks like heavy WIP (https://github.com/turbo/alwsl/issues/5). There isn't really anything on the main branch, indicating that it probably shouldn't be used(?) yet(?). Also, this seems to be the backstory: https://github.com/Microsoft/BashOnWindows/issues/8#issuecom...

https://github.com/turbo/alwsl/blob/master/alwsl.bat#L307 - it's a squashfs filesystem which is unpacked to replace the Ubuntu filesystem that WSL uses by default.

I was curious how the squashfs was generated too but didn't find anything describing it.

Typical of windows ecosystem and developers to sow confusion and infringe upon trademarks. Windows/Microsoft - where "X actually means Y" and always changes meaning, never for the freedom of the user, always to maintain tight control and power over computing.

I really hope Microsoft continues development on WSL until it's production-ready. Right now both piping and filesystem interop need a lot of work.

If WSL were truly Linux compatible, then why would anyone need to adapt Linux software to run under it?

This is the first step: embrace. The next step: extend. Apparently it's already happening, as people scurry to adapt shit so that it works with WSL. Next you'll have companies requesting that all Linux software be "adapted" to work under WSL, and if it isn't, they won't buy it.

Once this happens, Microsoft can proceed to step 3: Extinguish. How? Easy - by adding incompatible shit to WSL. If companies succeed in forcing Linux software vendors to provide a WSL-specific version, they will have to be compatible with these WSL extension. Voila - now they are supporting a new Microsoft platform that Microsoft controls.

Back before many of you were born, Microsoft killed entire product categories and companies by providing free versions of Office when it was first introduced, and making it compatible with competitors' file formats. Is it free now? Hell no, it's their main source of revenue!

Can they repeat the same hat trick with Linux? Who knows, but they damn sure are gonna try. Anyone who thinks "Microsoft loves Linux" needs to take a history lesson. The only Linux Microsoft would love would have a dead penguin for a logo.

WSL is really amazing, I hope they keep going. The devs have done a really good job and seem to be very open to suggestions.

The best software is always made by happy developers making software to make other developers happy.

This also applies to Visual Studio Code.

Atom really is a nice piece of software, definitly done by happy devs. Havent tried to microsoft fork you mention yet.

VSCode isn't based on Atom in any way except being built on Electron.

WSL is useful for some, but personally I'm more interested in reverse (Wine), mostly for some games without native Linux releases.

I was so excited when Linux versions started showing up on Steam. It meant I very rarely needed to reboot into Windows.

But, I've tinkered recently with Windows 10 and WSL, and it's actually really neat. They've done a remarkable job making it work like a real Linux system in a lot of regards; my projects kinda bump up against the limitations of that (as they are administrative tools and perform actions as root and such), and so I can see areas where it's still incomplete, but I'm honestly shocked at how well it all works.

What kind scenarios do you find it useful in? I.e. when would you use it instead of native Linux for the same purpose?

Mostly just when I first got my laptop and didn't have Linux on it, yet. Which, I guess is begging the question..."When would you use WSL?" "Well, you know, those times when I used it."

So...the answer is I would never use it over native Linux, except when I happen to be in Windows and need to use Linux. The people who currently run a VM with Linux in it on their Windows machine are an excellent target audience. I would guess people who build cross-platform apps would also be an excellent target audience. In fact, using it for a little while got me thinking about what kinds of apps I might like to make, if I were to work on desktop apps again (it's been a very long time since I've worked on anything that installed on Windows, and even as recently as a year ago, the idea of it probably never crossed my mind).

So, it's good for Microsoft. And, good for people who prefer Windows on the desktop, but also have to deploy on Linux servers or deliver to Linux users. People who use Linux natively, by choice, and are very comfortable doing so probably don't gain anything from using Windows with WSL.

I just thought about other scenario. Some restricted corporate environment which forbids running Linux natively.

I'm really excited about WSL:

My laptop: Gets < 2 hours w/ Ubuntu, > 6 hours w/ windows.

My Desktop: Not having to manage dual-booting between Gaming & Hobby-Time programming... Being able to hack on python/node and deploy to my Pi, play a game of Overwatch, then working again.

If power management was something that I didn't have to spend hours to get right, I probably wouldn't be so dreamy-eyed over WSL... But they just finally figured out how to support Video Card Switching (Prime) after 5 years, I'm not holding out for any big improvements.

> But they just finally figured out how to support Video Card Switching (Prime) after 5 years

Prime exists for a while. I suppose you mean closed Nvidia driver only now starting to support standard features. That's Nvidia's problem, not Linux problem really.

> play a game of Overwatch, then working again.

I get it, though I simply skip games that don't work on Linux. And I'm not interested in supporting a company with dismissive attitude towards Linux gamers either[1].

1. https://www.gamingonlinux.com/articles/president-of-blizzard...

I setup PCI passthrough in a virtual machine awhile back on Arch and it worked excellent! https://www.reddit.com/r/pcmasterrace/comments/3lno0t/gpu_pa...

The only issue I had was with my Oculus Rift, but I suspect I could have fixed it by getting a dedicated USB PCI card to passthrough. Anyways, for AAA games it worked wonderfully with very near native speeds.

Well, I'm simply not interested in using Windows for that, so for me it's either native, Wine or bust. Lot's of games work in Wine very well already. So far the main missing piece is DX11 support which they are gradually chiseling now. When something like Witcher 3 will start working in Wine, things will improve.

What's that certutil and public key thing at the bottom of the .bat?

Was curious, too. It's the archlinux icon/shortcut encoded as base64. (it's a common trick to store binary data in a batchfile)

Looks like a handy tool to output binary in a .bat script

The screenshot on the github page shows running _yaourt_ as _root_. I can't see how doing it on Windows makes it less horrifying than on Arch.

Care to explain what this is? FAQ = 404

Native linux subsystem for windows can run Ubuntu no problem. This "tool" gives you the option to run Arch instead of Ubuntu.

Others have already run Fedora.

* http://stackoverflow.com/questions/38802362/

Thank you.

Main advantage I see above Ubuntu would be the Arch User Repo (AUR) which contains almost all software you can think of. Although that can change when Snap picks up speed. Snapd is also available under Arch though. Moreover, Arch will be much more current in general.

aur is amazing. For a desktop distro, it's what makes Arch one of the best choices IMO. Want <insert package>? You can compile from source and get something your package manager can track. Not to mention never needing to reinstall for a new version.

I love RHEL/CentOS dearly for servers, but needing to write a complex spec file and deal with the rpmbuild system just to get an RPM for a library is a pain. You end up with /usr/local full of stuff that's hard to update.

The FAQ link is broken on the page, any ELI5 on what this brings beyond using Arch's package manager and the general goodness of choice? Both of which are awesome in and of themselves, just wasn't sure if there's more here before I jump in.

From what I can gather from the BOW discussion (see my link below), it's a kind of custom arch distro (https://cdn.turbo.run/alwsl/alwsl.sfs). AFAIK WSL is just a rootfs extracted by the lxrun cmdlet. So I guess this replaces Microsoft's rootfs with arch. It seems to be modified to work around some issues in WSL.

Good job man, despite all the hate from linux users to windows, truth to be told, this might be helpful instead of running arch on a vm..

Interesting to see a Windows Subsystem for what they once called cancer.

Ubuntu is crying^_^

would this allow for a SteamOS with all windows games support?

No. The linux subsystem cannot call windows programs and windows programs can't call linux programs. It's entirely seperated in that way.

WSL looks like a nice replacement for cygwin, but that's about it for me.

yay something that doesn't suck. hope it gets better.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact