Windows Subsystem for FreeBSD
github.com271 points by rguiscard 2 days ago
271 points by rguiscard 2 days ago
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.
IO on many little files is dramatically faster in Linux on ext4 vs Windows thanks to NTFS' journaling overhead. So if you're doing development, you really want to do it inside wsl2.
Journaling isn't the issue, small files go into the $MFT which is the fast-path. The issue is the file system filter overhead.
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.
I'd argue that the breaking point was Docker. Running typical Linux userland applications was doable - and they did it - but making Docker work would have been effectively impossible, as it depends on a ton of highly Linux-specific systems (namespaces, cgroups, bind mounts, etc) with no direct Windows equivalents.
Windows has native support for containers.
Windows containers are interesting. Windows--like most other operating systems--mediates interaction between applications and the operating system though libraries (specifically, user32.dll and kernel32.dll). Whereas, Linux provides a stable syscall ABI that applications can directly interact with. This makes Linux containers fairly insensitive to host kernel version, as long as they don't use experimental features and the host kernel isn't older than the stable features needed by the container processes.
I would have expected Microsoft to address this issue in Windows containers by supplying the correct version of the system DLLs at runtime. However, it seems that they decided to bake them in at build time instead. This makes Windows containers similar to Linux containers but it could have made them quite kernel-version-sensitive. According to MSDN, newer kernels are able to run older images, implying to me that they've begun to stabilize the kernel interface, potentially enough to enable proper static binaries. See https://learn.microsoft.com/en-us/virtualization/windowscont...
For the topic at hand, though, Windows containers run Windows software, and a lot of software that gets containerized never runs on Windows normally and so can't easily be containerized for that platform. Even when the language and libraries are cross-platform, the build process often isn't.
Windows containers have two execution models.
In one, each container gets its own kernel copy, while the other one works like Linux containers, and indeed you need a recent version, as there were some issues doing that on older versions, which is yet another reason to be running Windows 11.
Note that having kernel copy to go along the containers is also existing on Linux world, this is what advanced security models like Kata containers.
There is plenty of Windows software on big corporations that will never be ported to Linux, and that is the golden use case for at least put them into containers.
One such example are all the .NET Framework applications that will never be rewritten into modern .NET, or Windows Services (aka UNIX daemons).
Sure - and I assume that's how Docker for Windows works. But that's a long way from getting Docker for Linux to run on WSL1 - for that to work, WSL1 would need to implement details of the Docker implementation like overlay mounts (to pick an example at random). That suddenly starts looking a lot less like a compatibility layer and more like a reimplementation of parts of Linux.
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.
When people talk about improved compatibility or higher practicality I wonder why they don’t just run Linux on metal at that point. You can either run it on your laptop, or connect to a networked computer.
Can I even use a usb serial port yet after how many years? (Possibly by now but how long did it take, and does it actually work well?)
It is stupid in that it's not really any kind of subsystem, it's just a vm. VMs have their uses, but it's basically just an app.
The reason hardware such as my usb serial example (or any serial) worked on wsl1 was because it actually was a subsystem.
Your serial might have worked, but your docker didn’t. (And someone else’s other drivers didn’t, and mmapping had ever-so-slightly different semantics causing rare and hard to reproduce issues).
WSL2, on the whole, is much more compatible. If you want 100% Linux compatibility, just run Linux.
I do. That's why I didn't know the current answer to the question. But I use software that wants to talk to hardware, not just cloud software that might as well be on a vps.
Calling gcc (which runs entirely happily in WSL2) "cloud software that might as well be on a vps" is at the same time accurate and apparently insulting.
There is no native USB passthrough support, but you can use USB/IP to access them via network.
>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
True, but I love the instant boot of WSL1 when I need to do something quickly. And, most of the time, if you don't do IO-heavy stuff, it works quite well.
> 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.”
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.
> It is because the NT kernel implements multiple personalities, so it could compete in the UNIX market.
That wasn’t the original primary reason for it… Windows NT began life as NT OS/2… at first, an evolved OS/2 API was going to be its primary API… then as Windows 3.x took off and the IBM-Microsoft relationship further soured, the OS/2 API was downgraded to a backward compatibility afterthought, and eventually (in Windows XP) dropped entirely.
And because they weren’t even sure what the primary API was going to be at first… and the whole idea of multiple OS “personalities” was all the rage - IBM’s Mach-based Workplace OS sought to unify AIX and OS/2 (and they even talked about extending that to OS/400), Taligent (IBM-Apple joint venture) had similar objectives - so it is understandable they made this API flexibility a focus of their early plans
And the guy they hired as technical lead in developing NT, Dave Cutler - had come from DEC, which had the very real problem of selling two largely incompatible operating systems (Unix and OpenVMS) - and they also sought to unify them through multiple personalities, as their next generation operating system MICA which would merge Unix and OpenVMS, which Cutler was working on, until DEC management decided to cancel the project, and Cutler went to Microsoft to do the same thing there
> the whole idea of multiple OS “personalities” was all the rage
It IS honestly kind of cool. If Microsoft would invest into their solid OS instead of enshitifying it, they could implement Linux and Darwin on a single system. That would be quite a selling point.
If Microsoft wanted to invest more in Windows, I think the most useful thing would be to add more POSIX/Linux APIs and semantics to the Win32 API, to make it easier to port Linux software to being native Win32 apps… look at what Cygwin does, and identify the pain points (e.g. fork, exec without changing PID), and implement them in Win32 so Cygwin can be a thinner layer.. e.g. the NT kernel itself actually does have the moral equivalent of fork(), but Cygwin can’t use it because the Win32 subsystem (CSRSS.EXE) isn’t fork-aware, so instead Cygwin has to resort to highly complex and slow hacks instead… well, why not just make Win32 fork-safe? Of course, probably making every DLL and COM object fork-safe is way too much work (even on Linux, not all shared libraries are), but they could expose a way to “taint” a process as unforkable if any of those components get activated in it… maybe they could make Cygwin such a thin layer it becomes unnecessary, what if UCRT gave you equivalent functionality and all you had to do was ‘#define POSIX’?
I think that would be far more useful in practice than trying to close the gap between WSL1 and WSL2, which is what I’d interpret your “implement Linux” proposal as meaning
As far as trying to emulate Darwin goes, I think relatively few would be interested in running macOS apps on Windows, and I wonder whether there is a risk Apple might sue
I wonder if AI coding agents are going to improve to the point that they might radically change the incentives here - if adding new features becomes a lot cheaper, maybe the cost-benefit analysis will shift towards implementing more of this stuff
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..)
Not that many years ago, I used something called "Windows Services for UNIX" to run GCC on Windows and compile filter programs I wrote on NetBSD using lex
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?
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
It follows their old "Windows Services for UNIX" product's naming scheme. I don't like it either, but it's consistent.
"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.
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.
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.
A remnant of their 'Linux is a cancer' phase and the famous fight against Open Source that started with the "Halloween Document" then helping SCO https://yro.slashdot.org/story/21/04/01/1647259/sco-linux-fu... They are not Open Source's friend and at one point extracted license fees from Amazon for using Linux... https://www.zdnet.com/article/amazon-becomes-the-latest-comp... Yeah, I wish they would leave OS alone.
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.
Interesting; I haven't played BeamNG but it looks like it should work according to the ProtonDB https://www.protondb.com/app/284160. Sample size of one, but I haven't really had any issues with Proton on Linux, particularly within the "SteamOS" tenfoot interface. I don't play online games, and admittedly most of my games are several years old, so I can't tell you how well modern games play (though a friend of mine didn't appear to have too much trouble getting Pacific Drive working on full blast).
Not trying to diminish your struggle, and if it didn't work for you then obviously you shouldn't use it.
I don't own a Gamecube controller anymore, but I haven't noticed much lag with a wireless Switch Pro controller with Dolphin. I played through Tony Hawk's Underground and Tony Hawk's American wasteland on my laptop a few months ago using Dolphin, and as far as I could tell my terrible scores had nothing to do with lag, and I was able to finish them.
Definitely have had issues with Nvidia drivers though. It cost me an entire weekend getting one working a few months ago and I didn't enjoy that process.
Yeah this is why I don't trust the ProtonDB ratings. It says gold, but everyone else has the same problem as me where it's slower and crashes if you spawn traffic. Also had to wait like 30 minutes to generate vulkan shaders. AoE2:DE's ProtonDB page says gold but there are a bunch of comments saying multiplayer doesn't work at all... I feel like that's not gold either.
The GC thing is specifically the Wii U adaptor. There's an overclock kmod, but it's known (on gh issues) to be finicky and didn't work for me. Regular controllers have no lag but also don't work quite the same; on Win and Mac the standard is that Wii U adaptor.
Totally fair, sorry you've had such issues. I've been fortunate enough for Steam's compatibility to have never been an issue, but as I said I don't play a lot of newer games.
> Also had to wait like 30 minutes to generate vulkan shaders.
Yeah I'll grant that, that seems to happen for pretty much every game. It doesn't usually take thirty minutes but it can easily ten minutes which is quite annoying.
> The GC thing is specifically the Wii U adaptor.
Fair enough. I guess I've been happy enough with using other controllers.
Appreciate it. Makes total sense your older games work, cause those even worked somewhat well in plain old Wine on my Mac. My M1 Mac could run GTA IV, a 32-bit Intel Windows game, but ironically can't run a lot of Mac-native software built for older OSes or 32-bit.
> but recently putting Linux on my spare PC, I didn't get how people say it's fine for games now.
It is because there are way more games that work than games that do not work at all. Also in general the "golden path" is really an all AMD PC (since that is where most of the testing and open development goes).
That said sometimes you may need to tinker/tweak things but this applies to Windows too, hence the existence of pcgamingwiki (which recently has added Linux info, though that is still dwarfed by the Windows info). I've been gaming on Linux for a few years now and was gaming on Windows before that and i do not find Linux any worse at all when it comes to getting stuff working (this was certainly not the case before ~2021 or so though).
This stuff and other games I played in the past worked without any tweaks in Windows, though. Unless you're modding ofc.
BeamNG runs just fine for me, it sounds like you're trying to play on a potato laptop... it needs a 16gb video card bare minimum.
The game runs fine in Windows on the same machine. The ProtonDB page has a lot of comments about AI traffic crashing the game, reportedly cause of a memory spike, but it seemed more like a leak since it took a couple of minutes.
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.
I get why you'd say the web versions are "pretty good" for most people, and I agree they've improved, but I think that's only true if you're doing basic stuff. The moment you hit a complex corporate or academic document, the web version of Office falls apart. It's materially worse than even LibreOffice when you consider a power user's reality.
The real killer is Excel. The web version has zero support for crucial tools like Power Query or Power Pivot, which are essential for any modern data analysis. You can't run, edit, or even create serious VBA/Macros, and advanced data validation and conditional formatting are stripped down to the bone.
For Word, if you're in law or academia, forget it. Features like Table of Authorities or Table of Figures are either completely missing or so simplified they are useless. Even the ability to handle standard APA or MLA citation styles is heavily cut down compared to the desktop app.
And for PowerPoint? You lose access to serious third party add-ins, and the granular control over animations and timers that professionals need just isn't there.
So, while the web version might be fine for a quick edit of a simple file, if you need to reliably work with a complex document from a Windows-based company, the compatibility issues and missing features will force you into a desktop app eventually. If you're going to be forced into a desktop experience anyway, you might as well bite the bullet and go LibreOffice for its feature completeness on Linux/FreeBSD.
It's a stronger bet than relying on Microsoft's cut-down web versions.
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.
I was completely unsuccessful in getting Microsoft Office to run natively with Wine in Linux. Like I wasn't even able to get past the installer for any version of Office later than 2007. Of course the web version works well enough, but in my case, I don't think I will ever be able to convince my parents to move to Linux if I cannot get proper Microsoft Office working on there. I am quite confident that they will not be happy with Kaligra or LibreOffice or OpenOffice or OnlyOffice or anything other than the Microsoft-branded Office.
In fairness to them, they've been using Windows and Office a lot in the last ~30 years, so asking them to abandon all that stuff isn't a trivial endeavor, but my point is that
Clients are going to send you Office documents, spreadsheets, etc.
Maybe you'll luck out and get something cross-platform or online, but 90% of the time if a client is sending a document, it's going to be something from Office (or rarely, Pages).
Spreadsheets can run scripts, and important ones you need to be able to run accurately, and not just hope your alternative office suite works.
I hate it, but it is what it is.
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.
What you’re saying doesn’t align with what PC reviewers are stating outright though.
The Legion GO being the most prime example[0].
Some games work better on Linux, some worse, but largely comparable[1].
I don’t believe that reviewers are paid to promote this view.
[0]: https://youtu.be/CJXp3UYj50Q?si=QWx6DRTQqzXnwfPL
[1]: https://www.noobfeed.com/articles/steamos-vs-windows-10-pc-b...
Compare PC for PC, not some kind of handheld-device-you-decided-to-pick-just-for-your-sake-of-argumenting.
https://www.youtube.com/watch?v=Giois6VtLPM
https://www.youtube.com/watch?v=pAfrarQDBIQ
Even freaking Phoronix, which is quite "pro linux"
https://www.phoronix.com/review/nvidia2022-windows11-linux
Let's stop the gaslighting here, it doesn't work with me.
Thank you, have a good day.
Ohhhhkay, weirdly hostile.
What game would you like me to run on my Threadripper 3970x with Radeon VII?
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.
See UNIX World magazine from 1985, the Bill Gates interview on the future of Xenix.
Assuming you're talking about https://archive.org/details/Unix_World_Vol02_10.pdf/page/n21... ?
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.
I look forward to running Windows on FreeBSD
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.
They are scared shirtless of GPL-3 though. See all the hoops that apple jump through to avoid it.
That’s related to anti-tivolization in GPLv3 and basically Apple is forced to stop shipping things that’s updated to GPLv3. That’s not just about scared, assuming being scared means they are irrational and they could have adopted it if they want. Legally they cannot ship it unless they are changing their business model.
They could though. They're just being overly cautious.
All it forbids is blocking users from running modified FOSS code which macOS doesn't do. You can compile what you want and run it in Xcode. Even on iOS you can do this.
What TiVo did was shipping FOSS code but not giving users any access to their device.
If it hadn't been for the Facebook acquisition, there's a good chance WhatsApp would have continued running on FreeBSD until today: https://news.ycombinator.com/item?id=38434103
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..
Most Lenovo Thinkpads WiFis should work out of the box with FreeBSD.
A USB distributions like NomadBSD ( https://www.nomadbsd.org/ ) can be used to test compatibility without installing the OS.
Also, for HW compatibility: https://bsd-hardware.info/
Also framework laptops work (mostly): https://github.com/FrameworkComputer/freebsd-on-framework
Even if true, not having great support for laptops doesn't mean "no one uses FreeBSD". Obviously it's supported by essentially all server hardware and is used there, as well as many routers and the Playstation.
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.
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.
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.
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
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.
I use FreeBSD on my machines because it has netgraph: https://klarasystems.com/articles/inside-freebsd-netgraph-ad...
NetGraph and bHyve are a match made in heaven. I need to master them some more.
I have isolated jails with their own vNics running a nested bHyve VM instance inside which inside you then host a jail with its own vnic.
If something jumps out of the they are dead locked to the VM, if they jump out of that, they're trapped in a jail.
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.
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?
macOS doesn't have much to do with FreeBSD, so no.
https://developer.apple.com/library/archive/documentation/Da...
Great news for all 12 FreeBSD/Windows users!
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.
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.
> So Micro$oft is a customer-oriented company now? Haven't heard such a good joke in a while.
I've seen many customer requested changes go into various products at Microsoft as having requested such changes.
And I've seen Microsoft buying companies and killing their products despite active communities over and over again. A blatant breach of antitrust laws that Microsoft somehow managed to get away with.
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!