Windows Subsystem for FreeBSD

3 days ago (github.com)

I realize not everyone will care about this, but I find the naming for these WSL-like subsystems is confusingly backwards. i.e. It should have been Linux Subsystem for Windows, or Window's Subsystem for [Linux | FreeBSD | etc].

  • The explanation they give is they need to put their trademark, Windows, before Linux. Sometimes they say this is advice from the legal department.

    I still think they could fulfill that requirement and call it the "Windows Linux subsystem" or something, but what do I know?

    Unrelated, but I think the WSL2 design is kind of stupid. It's just a VM. I think the WSL1 design, where it was a syscall layer, is a better call. But that was slower, IIRC chiefly because the NT filesystem syscalls are slower than Linux's VFS. Rather than improve that problem, they side-step it by running Linux in a VM.

    • The design of WSL(1) makes more sense when you think of its original design goal of being a compatibility layer for Android apps. Android is "a Linux", but it is (1) a relatively unique one, and (2) everything between the Android kernel and Android apps really isolates the application layer from kernel-level details. Given this separation, it makes a lot of sense to leverage the existing NT flexibility and emulate a Linux kernel at the syscall layer. Sure, you'll have to patch some parts of the WSL(1) Android system components, but MS was already going to have to do that to work around Google-only components. In many ways, this route is no more complex than what Blackberry did to run Android apps atop their QNX-based OS.

      But once you give up the specialization for Android and want WSL to be a "real Linux" (i.e. behave like a specific Ubuntu/Fedora/etc distribution) now you no longer can get away with being Linux-like, you have to be Linux (i.e. you need the syscall layer to directly mirror all kernel development and features). It's actually fairly impressive how much worked with WSL(1) given how different the internals were, but you didn't have to go that far to find tools/services/etc that just wouldn't work.

      Instead, once you consider how long MS had been working on Hyper-V, and how interested they are in using it to apply additional security boundaries/isolation (e.g. VBS) within what outwardly appears to be a single Windows OS instance to the user, it makes a lot of sense to leverage that same approach to just run a real Linux kernel atop Hyper-V. In that world, you no longer have to match Linux kernel development, you just need to develop/maintain the kernel drivers used to interact with Hyper-V - and MS already had a lot of experience and need to do that given how much of Azure is running Linux VMs.

      4 replies →

    • The bigger problem was how fast Linux evolves. Windows kernel development is glacial by comparison. Keeping up with every new thing in Linux was tantamount to maintaining a second operating system.

      7 replies →

    • Improving that problem probably would've been a massive undertaking. That aside, there's the problem that implementing kernel mechanics is a lot more than faking syscalls: the various types of namespaces, FUSE, random edge cases that applications do expect, kernel modules, etc. At the end of the day, users don't want to stumble into some weird compatibility issue because they're running not-quite-Linux; it's a better UX to just offer normal Linux with better integration.

      The WSL2 design isn't stupid, it's practical. What I will give you is that it's not elegant in an "ivory tower of ideal computing" sense.

      6 replies →

    • >Unrelated, but I think the WSL2 design is kind of stupid

      Yet in practice works very well

      There's saying if something is stupid, but works, then it aint stupid

      1 reply →

    • > I still think they could fulfill that requirement and call it the "Windows Linux subsystem" or something, but what do I know?

      Your name is bizarrely better considering how small the difference is.

      > The explanation they give is they need to put their trademark, Windows, before Linux. Sometimes they say this is advice from the legal department.

      It feels like they have some strange internal naming policy. Maybe it is called the “Policy Product for Naming.”

      1 reply →

  • Is this because, in the WSL example, it’s not Linux that’s the subsystem, but rather a Windows subsystem that enables running Linux. Thus the name, Windows Subsystem for Linux?

    • It is because the NT kernel implements multiple personalities, so it could compete in the UNIX market. The component in the kernel that implements a personality is called a subsystem. It used to be a correct technical term, but of course using it to describe a well-integrated VM isn't correct.

      5 replies →

  • It *is* confusing but in actuality, it kind of works: It's a Windows Subsystem - as in the Hypervisor/VM platform - to boot a Linux VM. And, more importantly IMO, Linux distro is using this Windows Subsystem for: booting, drivers, and networking (.e.g. the "/sys/wsl" folder, and whether the Window Subsystem will generate fstab, etc..)

  • Windows' subsystem for Linux feels ok. It is a subsystem of Windows after all, not a subsystem of Linux.

    So I guess this project should be FreeBSD's subsystem for Linux? Or should it be FreeBSD's subsystem for Windows' subsystem for Linux?

    • > It is a subsystem of Windows after all, not a subsystem of Linux.

      Sure, but it is a Linux system.

      It's kind of like saying Edge is a "Windows subsystem for the browser".

      1 reply →

  • For the same reason it’s called “Azure Database for PostgreSQL”, whereas the sensible name would have been “PostgreSQL Database for Azure”.

    If Microsoft is putting someone else’s trademark (in this case Linux or PostgreSQL) in its product name, their own trademark will always come first and someone else’s trademark will come last.

    • Trademark law pretty much requires the "For X" style of product naming. It's caught a few open source projects.

  • Before WSL, Microsoft provided "Windows Services for UNIX" to "Seamlessly integrate Microsoft Windows into your UNIX environment."

    The same Windows services are provided to "Seamlessly integrate Microsoft Widows into your Linux environment."

    WSU became WSL!

  • I find the naming for these WSL-like subsystems is confusingly backwards.

    Whoever decided on the name didn't have sentence diagramming in elementary school English class.

  • It follows their old "Windows Services for UNIX" product's naming scheme. I don't like it either, but it's consistent.

  • yeah especially since it stopped being an actual subsystem in the Windows NT sense of the term with WSL2 - it's a hecking virtual machine that's very convenient to run, but that's like saying that WinBoat is a "Linux subsystem for Windows" - totally ludicrous

  • "Linux subsystem" would be a subsystem of Linux, which it isn't. It makes more sense the way it is. People seem confused because their mind naturally wants to go to "Linux for Windows", but it's better if they're trained to think of it as a series of Windows subsystems, since that's what they are.

    • That doesn't make any sense. Using the Linux kernel as an example, it has multiple subsystems.

      - Power management subsystem

      - Scheduling subsystem

      - Sound subsystem

      etc

      The word before "subsystem" describes the subsystem itself, not the greater system to which it belongs.

  • As usual with Microsoft - its all fucked up.

    WINE => Windows Subsystem for Linux/FreeBSD/UNIX

    WSL => Linux/FreeBSD Subsystem for Windows

This is cool, I hope it gets finished, and Microsoft Can help if required.

I love WSL2, I basically live in it. I need Office, and working laptops, too much to go full time Linux, and I want to be able to play games so I don’t want a Mac (yes I know Mac has some games, but not anything compared to windows).

  • Office is the true killer.

    Games are pretty much there for linux, reasonable stress about anti-cheat aside; but the network effects of Microsoft office are the real poison pill.

    The irony of course is that if it wasn’t for games you could have a good time using office on MacOS with their cut down versions: but no such version exists for Linux and FreeBSD.

    Since its purely network effects, I’ve taken to trying to promote Google Docs usage; since their tools anywhere with a modern browser, which is practically every modern desktop environment.

    I know its pushing another US tech giant, but somehow the network effects are less egregious.

    • I don't play video games much, so maybe it's law of small numbers, but recently putting Linux on my spare PC, I didn't get how people say it's fine for games now. Proton didn't work right for my one Steam game BeamNG, and Gamecube controllers had unfixable input lag for Dolphin (Slippi). Nvidia GPU + Intel integrated spelled trouble for Xorg to the point where I had to change to Ubuntu just to have Wayland, and that worked.

      On top of the game stuff, this PC is under my TV, so I kinda wanted a way to remote in. VNC is surprisingly jank, and Chrome Remote Desktop somehow never worked. So combined with 0/2 of my games working, I just gave up and went back to Win10.

      8 replies →

    • The web versions of Office tools are pretty good these days. There’s a few missing features, but you can get by mostly. I don’t think my company even gives licenses for desktop office by default any more.

      1 reply →

    • I don't use office stuff much. What office components are available in Microsoft Office that aren't available on Linux?

      I also try to avoid google wherever possible.

      4 replies →

    • Gaming on Linux is there, if you don't mind the 10-40 fps drop in most modern and demanding games...

      For me that's a no go.

      I can live with bash in a WSL2 though... That's about what I need of Linux anyway. I can enjoy my gaming and the remaining of the userland too.

      Best of both worlds.

      5 replies →

    • I haven't used Office since 2005, the only exception at Uni collaboration with some Latex allergic folks. Onlyoffice just works for .docx the last 2 years for me when I needed it.

  • Right there with you. The crazy thing is that with the way MS is moving Office away from native towards garbage React, they're facilitation moving away from Windows.

    • I believe this is defensive to protect Office and their online services from Apple. They need Office to be a first-class citizen on Mac.

      1 reply →

  • There’s one major benefit to separating your gaming and work machines, if you aren’t also using a lot of graphics horsepower for work[0]: NVidia and AMD graphics cards tend to ~double major problems on a machine (or halve system stability, to put it another way). This was even true of Macs, back when they were on x86.

    Now, this won’t help if you play a lot of new games at launch (and aren’t ok playing them on a console instead of PC) or lots of multiplayer games with heavy-handed anti-cheat, but otherwise, Linux as a gaming OS has become pretty damn viable lately. Windows hasn’t been for anything but gaming for me since somewhere around the turn of the millennium, and I’ve just finally been able to ditch it completely. Which is really nice.

    What I’m getting at is all-Linux (if you have more tolerance for Linux on the Desktop jank than I do) or Mac-for-work, Linux-for-play are now both non-terrible combos for having gaming available, and unless you need Nvidia or AMD graphics on your work machine (in which case, sure, may as well share that hardware for both roles), there are real benefits to work-system stability you can get by separating those.

    (I do agree with you that running Linux under virtualization on either Windows or Mac is the only non-crazy-making and/or non-professionally-embarrassing way to work in Linux on a laptop, and I write that as someone who did run Linux on a laptop as my primary serious OS for most of a decade)

    [0] nb. depending on what “a lot” means, Apple Silicon with a lot of system memory might still be a really good option.

  • I understand your reasoning. Personally I love living in my Mac, I’m much happier than I would be under Windows.

    You’re 100% right for gaming. But I’ve solved that by being a console person. I already mostly was. I’m much prefer the appliance like nature and many of the kinds of games that show up there.

    If I still wanted to play more “PC style“ games or just indie things that aren’t available on the consoles I would have a spare Windows machine just for that.

  • I was already enjoying VMware Workstation and Virtual Box, depending on private vs corporate laptop, since returning to Windows as main on with Windows 7.

    What WSL has brought is that now it is one thing less to install.

    However what got me started with Linux back in 1995, was the not so great support of POSIX in Windows NT.

    Had Microsoft kept selling Xenix, or done Windows NT POSIX subsystem property, Linux would most likely never taken off.

    Quite ironic given how Bill Gates used to talk about Xenix taking over.

    • Microsoft gave up on Xenix/Unix when AT&T took interest in a commercial Unix and exerting influence/control over the direction of Unix.

      Microsoft didn't see a profitable future in following AT&T.

      3 replies →

    • > What WSL has brought is that now it is one thing less to install.

      How? You still have to install WSL, it's not on the machine out of the box, although if it's really just about not installing things, you might use Hyper-V, that may already be installed.

      1 reply →

Winapps is really such a great addition to Linux, being able to run Adobe/Office apps is really great, it makes it so that basically the only reason you would need Windows at all is those terrible games with kernel level anticheat like League of Legends, it's so funny how League can put malware on your pc but it still doesn't have voice chat 15 years after release.

Interesting attempt. If that worked then maybe Darwin and then a virtualization/emulation layer to launch MacOs apps on Windows. That would be nice equalizer to what’s possible with full hardware acceleration the other way, back from MacOS.

Is FreeBSD used a lot?

  • The OS of PS4 and PS5 is apparently based on FreeBSD. Netflix uses FreeBSD for its CDN servers. pfSense and OPNsense are popular firewalls that are based on FreeBSD.

    See also https://en.wikipedia.org/wiki/List_of_products_based_on_Free...

    • JunOS from Juniper is also based off of FreeBSD (I think they're moving to Linux, though) as (were?) NetApp filers (they made heavy use of the Berkley FFS snapshots back in the day).

      FreeBSD was popular for many appliances, especially in the late 1990s and early 2000s, as it was generally rock-solid, had very mature networking, and the legal departments at the time liked the more permissive licence.

      It's getting less and less common to see it, though. Sheer market share numbers mean performance, driver support, user familiarity, and companies no longer being afraid of the GPL mean that has Linux pretty much taken over.

      It makes me a bit sad, but the OS on most Juniper gear is just a control plane for ASICs nowadays and NetApp has moved on to more advanced filesystems. Finding developers to write drivers/software for Linux is probably an order of magnitude easier.

      4 replies →

  • No, unless you have a laptop used by their developers. Every 2 years, I try to install FreeBSD on some of my Dell laptops, find that the wifi doesn't work, then give up. Been doing that for about 8 years..

    • I haven't tried FreeBSD on a laptop in about a decade (~2016-2017), and I had similar issues. I couldn't get WiFi working even though I thought it should be supported, I couldn't get the laptop brightness controls working, the sound would just randomly cut out, and after a certain point I have to ask myself how much time I am realistically willing to spend on getting this working. I was trying to run it because of Jails and ZFS, but by 2016 Linux containers were generally "ok enough" nowadays, and ZFS On Linux seemed to work ok on Arch after a bit of finagling, and Linux stuff seemed work more consistently.

      FreeBSD is pretty neat, don't get me wrong, I have played with it on servers and I ran an OPNsense router for years, so this isn't a dig on the OS as a whole, just that I don't think it's a good fit for laptops, at least the ones I've tried.

    • My MSI Modern 5, a 2024 laptop works is my perfect daily driver, to the point or closing the lid and reopening it resumes HDMI.

      The only issues I have with is Bluetooth which to be fair was trying to connect a Xbox controller and HDMI-Sound, otherwise it all works.

      WiFi too. A bit archaic to change SSID but that's more software then hardware.

      Couldn't be happier and with ZFS I have on-boot encryption.

      1 reply →

    • I am a FreeBSD user. I have replaced Windows with Manjaro for gaming. I also use OpenBSD and wish I could run MacOS in bhyve.

      Typically I purchase hardware supported by the software I intend on using. I don’t blame the software or hardware vendors, if I intend to use them in a non-supported way.

    • I use Fedora on my desktop. Whether Bluetooth works or not depends on the position of Venus. 2026 will be the year of desktop Linux

  • Not as much as it used to be. Before cloud computing became a thing, if you wanted to squeeze the last bit of performance out of hardware, FreeBSD was the way to go. Yahoo! used it when Yahoo! was the biggest site on the internet. Over time Linux became more performant and ever since it has become the OS of choice for AWS and other cloud provides, FreeBSD's popularity has dropped.

  • A lot, no. On the desktop it's 0.01% according to one of those stats websites. However it's hard to detect because Firefox identifies itself as running on Linux.

    I run it myself on my desktop and it's great. What I like is that it's not constantly changing stuff for the sake of it like with Linux. New init systems, changing ifconfig for other commands etc. And it's much better documented.

say what??? why cant we just port winapps. one visualizer for the few years windows has of life....yes i said it, bad actors and their ai tools will retire windows before the end of the decade!!!

Does this open the possibility for easier cross compilation to macOS?

Yet another klunge in the ivory tower of software bloat. It is like all existing software is gravitating towards a single point of singularity, with all existing platforms merging into an incomprehensible black hole, sucking the whole of humanity with it.

There was no real point in WSL in the first place, except for desperate attempts by Microsoft to stay relevant in the cloud age. To take two huge and very different systems with all their bugs and idiosyncrasies, merge them (creating even more bugs and idiosyncrasies along the way), and call it progress? I call it insanity. Only now with FreeBSD.

  • > There was no real point in WSL in the first place,

    Microsoft doesn't do anything without filling a gap or fulfilling customer requirements.

    It clearly had "a point".

    • So Micro$oft is a customer-oriented company now? Haven't heard such a good joke in a while.

      Microsoft, being a monopoly, hardly cares about customers, especially about closing some imaginary "gaps". What they care about is preserving their dominant or monopoly position wherever they can, since in the last 25+ years, they lost so badly so many times, they shifted from "owning" the whole industry to being a monopoly in particular segments. They are basically repeating the path of IBM from being the industry to being irrelevant and struggling desperately to stop that inevitable process.

      If Microsoft had listened to its customers, it would never have neglected and killed Skype, it would have continued to support XNA, so adored by the indie game devs, it would never have closed Arkane Austin and Ghostwire studios, it would have never preinstalled spyware with every single Windows installation... But Microsoft hardly cares.

      2 replies →

Uff, they are really really pushing for people to keep using Windows, huh? Some time ago it was Windows Subsystem for Linux. Now this.

I already said the same in that HN thread and will repeat it here:

Let's do it the other way round: run Windows in FreeBSD with bhyve and voila. But even better, just switch to FreeBSD. It's an amazing and rock solid OS.

Microsoft loves open source so much that they are putting efforts into... making you keep using their lousy closed source OS infested with telemetry and dark patterns. No thanks.

  • >This is a personal, experimental project and is not affiliated with Microsoft, the FreeBSD Foundation, or the FreeBSD Project. Use at your own risk.

    • Uh, apologies for not properly reading about the project. It was not my intention to diminish the project or the its author. Feel free to downvote my comment!