This is nice. Couple of days ago I published 80 pages work describing my experience installing FreeBSD on Lenovo Ideapad 3 Gaming laptop and making it to work. The article is in Russian, but I think it can be easily read through Google Translate, here's the link: https://habr-com.translate.goog/en/post/683702/?_x_tr_sl=ru&...
My experience was pretty similar to that of the owner of Framework laptop, except some extra topics: headless NVIDIA GPU, Touchpad issues, bootloader hangs.
I read your article (the English translation). Very nice work. I did have a question, more about the translation, since I don't know any Russian (besides a couple of simple words).
What is meant by: "many fryukhovovod and linukhovod"? How does that translate to English?
"Фрюховод", which Google translated as "fryukhovod", means a guy who raises and pets FreeBSD systems. Like cattleman is a man who raises and breeds cattle. It's gentle form. Same way "линуховод" (linukhovod) is a guy who raises Linux systems. Both are well-known jargon words circulating in sysadmin/programming community. :-)
So, the whole phrase your are referring to, can be translated as: "so, many FreeBSD and Linux adepts advise AMD GPU as an alternative".
haha...I thought it could be something like that. Seeing "linukhovod" made me think it was something linux related. I guess breeding and raising linux/bsd systems is kind of what sysadmins do.
Does anybody know any service or a decent way to convert Google Translate pages to some editable format ? I would like to save that translation just in case I could find time to polish and publish English version.
Yes, I wrote it just for fun. It was a kind of challenge for me, both resolving issues and describing them in detail to let new people in town learn how issues can be resolved. Last time I wrote anything that long was my diploma thesis 20+ years go. :-) This work took me nearly four months to accomplish.
It was a really interesting read, we need more long form guides like this - it takes a lot of work but this is the kind of resource I would love to read getting setup.
Thanks. I consider describing my experience using CADs on FreeBSD (KiCAD, FreeCAD), as this is my work at the moment. Though, this won't differ much from using same on Linux. :)
I'll definitely come back to this if I ever install FreeBSD. I found one small issue:
-rwxr-sr-x 1 games games 1713664 Jul 9 17:01 /usr/local/share/nethack33/nethack33*
-rwxr-sr-x 1 games games 19744 Jul 9 17:01 /usr/local/share/nethack33/recover*
Here it's actually the SGID attribute that is set, not SUID.
Also, because they don't change gratuitously, once you learn their quirks, you can move on to other things without needing to worry about re-learning tons about the next update. Linux is a constantly moving target with lots of churn that users of computers really don't want or need.
So I certainly understand some of the frustration around churn, and I get that on hardware selected to run BSD, this probably doesn't matter nearly as much
But...
This article describes (at least in my opinion) an unusable and unstable machine.
Basic HDMI out and Ethernet aren't "optional" on machines I run. Frankly - I'd rather lose wifi/bluetooth than HDMI and Ethernet (not that bluetooth is working here either...).
So I guess my point is that
>that users of computers really don't want or need
seems very much like a personal opinion. I not only want churn if it's bringing online more hardware support - I find the lack of support here completely unsuited to my needs.
If this is what you mean by "clean"... then It feels a bit like keeping a boardgame in the shrink wrap - rather than getting it out, bending a few cards, and having a good time. At least to me (fully admit this is also just an opinion).
Perhaps you're talking about a different kind of "churn". I'm not talking about adding drivers and things to make hardware work better - I'm talking about changing commonly used commands and changing how things work from one version of a distro to the next.
For instance, does "ifconfig" need to be replaced by "ip" in order to support new ethernet chips? Do you need all sorts of new invocations to systemd because a new generation of Intel graphics is supported? No.
It may be a personal opinion that people don't want or need churn, but what I mean is that when people want to use a system to get things done, learning new invocations for old commands is usually a distraction to getting those things done.
> Perhaps you're talking about a different kind of "churn".
I don't really think I am.
I'm going to pick on your exact example: ip is replacing ifconfig because linux distros are moving to netlink as a replacement for ioctl. Why are they doing that? Hardware support - Particularly WNICs.
So did ifconfig need to be replaced? Strictly speaking, no - but if you want better hardware support - yes...
ifconfig could have been updated, but the problem is that you're adding complexity to the system somewhere, either by expanding the old interface, or by replacing it with a new one.
You can argue expansion would have been preferable to replacement, but I'm not totally convinced - they both have tradeoffs. Someone is paying the piper either way.
The only way to avoid that cost (churn in the existing tool, or churn in the introduction of a new tool) is by not supporting that hardware. Which is what BSD is doing...
ip replaced ifconfig NOT because of new hardware support. For one, ifconfig could, and has been, extended. Second, that wouldn't explain removing ifconfig. Third, other OSes, like the BSDs, have alternatives for additional functionality like wiconfig.
ip could exist alongside of ifconfig, if ifconfig were really a subset of ip. It's political. And if you're going to echo that, "oh, someone needs to sit around and spend all sorts of energy keeping ifconfig up to date", then remember that they clearly don't if you contend that ip is all about supporting new stuff.
In other words, there's nothing in what you're saying at all that would explain the need to remove ifconfig and break decades of common usage. That's unnecessary churn, in my opinion.
BSD is like a partner you settle down for because of reliability and stability, Linux is that hot person that makes you love and hate them at the same time driving you ever so mad and addicted.
Yep, Linux (the userland) is the Google of open source world. You can see similarly little respect for actual user's experience. At Google, it's driven by greed (promos), with Linux, by fun of re-writing things from scratch instead of improving on existing solutions.
As far as I understand it, anything a user installs with pkg that isn't included with the base system is installed into /usr/local.
For me, this is a nice benefit because I can know that anything installed into /usr/local can be removed and won't break the basic system's functionality. This organizational structure I think is also just very sensible imo.
Note: I'm mostly a Linux user but I play around with FreeBSD a lot. I wish that by default my Arch machine organized things similarly, but ultimately it's minor enough for me that I haven't switched
>As far as I understand it, anything a user installs with pkg that isn't included with the base system is installed into /usr/local.
>
>For me, this is a nice benefit because I can know that anything installed into /usr/local can be removed and won't break the basic system's functionality. This organizational structure I think is also just very sensible imo.
I don't really see how it is relevant. First I don't see why would anyone want to randomly remove things. On my linux system everything that I compile or install by myself goes to /usr/local. Everything managed by packages goes to /usr, any thing that comes from a precompiled tarball is better installed in /opt. How is that different?
What I liked about freebsd when I was using it was the handbook that was fairly complete.
On FreeBSD you can quickly tell what is a part of the base system vs not based on where it is located. Your /usr directory typically isn't empty on a new Linux install, whereas /usr/local is totally empty on FreeBSD when you install it.
A simple example is if you run 'which vim'. If you have installed vim through pkg on FreeBSD it will show up in /usr/local/bin/vim. Whereas if you run 'which vim' on Ubuntu, it will show up in /usr/bin/vim -- but on Ubuntu Desktop (when I last used it) vim is preinstalled. You can't just look at the /usr directory on a Linux machine in most cases and know what was installed when you installed the machine.
I mean, try debloating an Ubuntu Desktop machine that's been used for a while and tell me if by looking at the /usr directory what was included in the install vs what you installed post-install.
I heavily rely on Linux-based containerization for a lot of my tooling and workflows. This allows me to bring most of my workflows to Windows, MacOS and of course Linux as tooling like Docker Desktop is cross-platform.
No, but you can quickly tell what is a part of the base system vs not based on where it is located. Your /usr directory typically isn't empty on a new Linux install, whereas /usr/local is totally empty.
A simple example is if you run 'which vim'. If you have installed vim through pkg on FreeBSD it will show up in /usr/local/bin/vim. Whereas if you run 'which vim' on Ubuntu, it will show up in /usr/bin/vim -- but on Ubuntu Desktop (when I last used it) vim is preinstalled. You can't just look at the /usr directory on a Linux machine in most cases and know what was installed when you installed the machine.
From viewpoint of organizing backups separating system stuff from host specific makes some sense. Also, you can put /usr/local on separate volume, this allows mounting rootfs read-only which can be useful in some cases.
Some folks just prefer BSD over other variants. I learned on old school SunOS so that might be why I prefer it.
SysV based Solaris left a bad taste and Linux just seemed unnecessarily weird. 386/Net/FreeBSD was fast, a stable, simple to configure and most importantly familiar.
For me personally it would be the ability to run jails and ZFS on a desktop. That would in turn enable me to run the same in production because local/dev/prod parity would be a good thing.
Don’t Linux and FreeBSD both use OpenZFS these days?
Jails are a fair point, but if they’re essential to your production environment, why not just run your FreeBSD dev environment in a VM on your Linux laptop, or SSH into a dedicated FreeBSD dev box?
After all, OP is already running Linux in a VM in order to run working WiFi drivers.
Also ARC and page cache (kernel mm) integration isn't very good on Linux. It's fine for NAS but possibly not good for desktop usage. Perhaps good on FreeBSD?
I Find openbsd makes for a very nice desktop operating system. first of all note that I am talking about a unix style desktop, if you are expecting something more like a mac or windows desktop you would find it lacking, the only thing I add(aside from the usual large desktop applications) is spectrewm as I like a tileing window manager.
But there is something very comfortable about the openbsd base system that I have not found in a linux system, don't get me wrong linux is one of the good guys. it does not actively anger me up like using a windows desktop system does. But I really feel at home on openbsd, I think it is because I feel I understand the system well.
Mostly sys-admin stuff, a lot of terminals, ssh, config editing, minor programing. but I keep a few desktop utilities (gimp, inkscape, blender) for when I want to make pictures, notably absent is a file manager, the shell takes care of all my file manipulation needs. but if I had to recommend one it would be xfe.
Speed-wise I think is is more sluggish than a linux system. I like and keep it because openbsd is so comfortable. openbsd was the first operating system where I felt I understood it and it's motivations. every once in a while I try to replicate my preferred system on linux(void linux comes close to what I like about openbsd) but usually find myself back on openbsd(usually with a sigh of relief) in a couple of weeks.
I use both. I've asked myself why I don't just streamline and standardize simply on Linux as overall it has more traction, but every time I have the opportunity to complete the switch I refuse to give up BSD. I think it boils down to control.
Thinking back I have had essentially the same experience/environment on BSD for years. Upgrading from one version to the next just works and is fairly painless, even across major releases (trying to think of the last time I've had issues). I keep my home directory on a separate physical disk, so upgrading the OS drive or moving to new hardware is a matter of installing the latest BSD and plugging my home drive back in and mapping it. After upgrading I can use pkg to reinstall the apps I need and the shortcuts all link back, and I'm done. Probably forgot a few steps in there but it doesn't take long. For example I upgraded from 11.x to 13.0 just a few months ago with a hard drive swap and it took me maybe 3 hours(?), including installing the physical drive.
I don't play a lot of games on it, other than complete source ports, or simple games that run on vanilla wine. Linux is for gaming and experimenting. On Linux I am far more free with what I install, and my experience has changed often over the years with different distros. Some of that was by my choice, but even at the most basic level I've found that distros tend to have a lot of flux between versions.
So, overall no real surprises with FreeBSD. Upgrade and keep chugging.
* No Suspend/Resume? Linux has solved this for years, I have not come across a laptop in the last 10 years that had trouble with s2r or s2d (but I guess that there might be a few that don't fully support it, I mainly tested Dell laptops)
* WiFi driver and Ethernet over USB-C both highly unstable? That's an Intel chipset, those are usually the more stable ones (at least on Linux/Windows), and the wire ethernet is not a cheapo chipset either (Realtek)
* Bluetooth not supported???
* microSD slot on USB-C docking station doesn't work? This is just SPI, how hard can that be...
I wonder if there is any laptop from the last 5 years where FreeBSD fully works. I keep trying FreeBSD on and off on my two Laptops but I had similar experiences (plus I'm not used to the FreeBSD way of doing things). I'm ready to jump through some hoops but in my case, FreeBSD was always removed after a weekend or so, and replaced with Linux where everything just works.
I used to tinker a lot to get Linux and BSD running on hardware, but these days I kinda expect most things to just work out of the box ...
I really wish FreeBSD would get some more developer backing
> * No Suspend/Resume? Linux has solved this for years, I have not come across a laptop in the last 10 years that had trouble with s2r or s2d (but I guess that there might be a few that don't fully support it, I mainly tested Dell laptops)
I wouldn't be so sure. My Dell XPS 13 and ThinkPad X1 Carbon both had issues with suspend/resume. Close the lid @ get surprised with a completely dead battery.
Ironically, when I used FreeBSD on X1 - S3 state worked perfectly fine. The issue in post is how bhyve handles wake up from S3 state, with devices being pass-through to the VM.
Not once had a laptop that isn't a MacBook with macOS with properly working hibernation.
> * Bluetooth not supported???
Yeah, BT stack is completely broken for years. No one has desire to fix it.
> Ethernet over USB-C both highly unstable?
- I had no issues with my no-name dongle.
> I wonder if there is any laptop from the last 5 years where FreeBSD fully works.
Define fully works? Graphics - you're limited to Nvidia and whatever Linux 5.4 supported. Wi-Fi - 802.11g is as fast as you can go without wifibox.
> but these days I kinda expect most things to just work out of the box ...
Even on Linux, you either have to deal with hardware that been out for some time or know how to install the latest kernel and maybe apply some patches. When I got my XPS, it was the first one with Intel Xe - had to use "unstable" kernel in NixOS with every other distro not having graphics output.
I haven't used much of FreeBSD in quite a while and have largely settled for the simplicity that is OpenBSD, even with all its varied drawbacks. However, I was surprised with some other things you mentioned as I thought FreeBSD would do better than OpenBSD in these spaces:
> Not once had a laptop that isn't a MacBook with macOS with properly working hibernation.
OpenBSD can pull this off, though the process is not very performant.
> ...802.11g is as fast as you can go without wifibox.
There are a few different Wi-Fi card options that will support 11ac on OpenBSD. Yes, it's not the full 11ac implementation, but some is better than none.
Yes, and look at the version of that `drm-kmod` 5.10 and 5.4. Take a look which cards are supported on those versions. The only reason I stopped running FreeBSD on desktop is that my 6900 XT is still not supported.
On Windows the first thing I always do is turn off hibernation. It made a bigger difference back in the day since the swap was on a spinning disk but it still has a little performance improvement and nets you a bit more ram. With machines booting up so fast these days I personally avoid anything related to hibernate / sleep.
True, but I never turn off my Mac unless I'm installing updates. A few times a year, I have an issue from resume (from Suspend to RAM) on a desktop - GPU won't wake up.
When I had an Nvidia card, this issue would happen every other day, so I had to disable sleep and hibernate. Because it was a very shitty way to start your day.
Hibernate is the alternative to sleep if you don't want to overheat your laptop and kill your battery when you transport it in your carrying case (the "sleep" of Windows 10 will do that as it's made for tablets).
It's true that some hardware is not Linux compatible, but if you get stuff that is (like the Framework 12th gen I'm typing this on), it does in fact just work out of the box. Wifi, sound, GPU, fingerprint reader, suspend, the works.
Were you running Ubuntu and the specific Ubuntu Release + Device model combo they outline on the website? Anything outside of that would be outside of the scope of that list.
Much better resource is reading various wikis and user forums, I found.
Was actually also debating recently between the thinkpad and the dell - ended up based on cost with the XPS 15 - any other general tips or big gotchas running linux on it?
Not really, everything[1] works out of the box on new distros. I had to switch NixOS to Fedora, so I can run daemons required for compliance - at the time of F34 (or was it F35?) release thing worked well.
Sometimes you need to enable legacy/linux ACPI state in BIOS. I think it maps S0ix to S3 or something like that.
There is (was?) an issue with suspend on some intels and I had to tweak the behavior otherwise the laptop would keep going after you close the lid.
> No Suspend/Resume? Linux has solved this for years, I have not come across a laptop in the last 10 years that had trouble with s2r or s2d (but I guess that there might be a few that don't fully support it, I mainly tested Dell laptops)
I believe the article author calls this "Sleep" and got it to work well. It's hibernation to disk that's not working.
WiFi and Bluetooth seem indeed to be issues but I don't really need them on my desktop. On a laptop it would be a dealbreaker indeed.
I have that same intel wifi nic. On Linux, it also caused crashes on resume from suspend to disk (worked OK on resume from S3 suspend to ram). I added a hook script, that on suspend to disk, downs the interface, if it was up, and unloads the kernel module before suspend. It reloads the module on resume, and if interface was up before suspend, it brings the interface back up. Now resume from suspend to disk is reliable.
Not sure if the hook script is still necessary (kernel version has updated a couple times since), but it doesn't cause any issues, so I haven't taken the time to check.
Not exactly "worked out of the box". Easy fix, but the same fix is available on *bsd too.
> * No Suspend/Resume? Linux has solved this for years, I have not come across a laptop in the last 10 years that had trouble with s2r or s2d (but I guess that there might be a few that don't fully support it, I mainly tested Dell laptops)
I have an older Thinkpad that I swtiched back to Windows after getting fed up with suspend and hibernate on linux. It had like a 20% chance to suspend or hibernate, other times it did nothing. Screen went black and after 2-3s I was back at the login screen. Shutdown was reliable so when in a hurry I needed to do a full shutdown.
> and the wire ethernet is not a cheapo chipset either (Realtek)
Buying Realtek does not guarantee getting good hardware, the RTL8153 is infamous [0], and I remember there were reports about Realtek chips flooding the network with corrupt packets if they were powered on via the charger but not connected to a laptop.
Interesting, I wasn't aware of that. I have used Realtek chips in various computers over the last 15 years or so and they were all quite stable, that's why I jumped to that conclusion
I don’t know if the lack of copy left license is the problem as much as the momentum.
The various Unix and BSD wars (that were predicated on a much different licensing challenge) and splintering of the communities has meant there was never a big way for developer or even manufacturer interest to really focus.
OpenBSD has a very different philosophy related to drivers than FreeBSD and for very understandable reasons, most of the BSDs don’t want to use or touch GPL code.
The copyleft nature of the GPL definitely helped Linux, but I don’t think it’s the only reason Linux was successful.
But Linux got its shit together first and was able to benefit from that. Apple and to a lesser-extent, Solaris, show that you can still have broader hardware support and drivers without a copyleft license.
I do think that if companies could easily port their Linux drivers, you’d see that happen. That’s absolutely a consequence of the license choice (and it’s a consequence from either license decision). But if there is a market for the BSDs in a particular area, I do think you see companies making drivers.
The reality is, the market for people running FreeBSD on laptops is pretty small and probably not worth it for a lot of WiFi chipset makers. But if you had a specific industry where FreeBSD was widely deployed, I do think you’d have broader hardware support for things important to that industry, if nothing else.
From what I heard, at least some companies that use FreeBSD in their products do give back and upstream at least bits of their code (like Sony, NetApp, ...). Probably mostly improvements to existing kernel subsystems, maybe not drivers, if the hardware isn't freely available... but they still participate in development. At the end of the day, it is in their interest as it lessens the maintenance burden of forward-porting everything to every new kernel version.
Correct! And that’s sort of my point. But I don’t think a lot of those companies care about wifi drivers working on laptops, as an example.
It is absolutely in their interest to help. But if people expect companies to just write a driver for X operating system, that’s not realistic. And if you could just port the Linux drivers, sure, that would be easier, but it wouldn’t change the fact that device makers still have the be able to prioritize where to put their resources. And laptop FreeBSD users is probably really low on most lists.
netflix definitely gives back to the freebsd project. They run their appliance that delivers netflix content on FreeBSD-current, the development branch
FreeBSD has some contribution from businesses like Netflix and Nginx and those are very welcome, but they have nothing to do with desktop usage. Those have deadlines and budgets, features get implemented and tested. That's why FreeBSD has superb network stack, good NUMA support, files from disk to nic go brrr. That's why the move to OpenZFS was so fast.
Then, they're contributions without company backing it. This is where desktop feature live. That's why FreeBSD's Wi-Fi stack is stuck on 802.11g - no company depends on this. GPU drivers stuck at Linux 5.4 level - no company cares about it[1]. Those get discussed to death - there is no deadline, no money.
Note, that solution to graphics card driver is to use Linux's drivers, so they don't shy about GPL. However, FreeBSD folks LOVE to bikeshed and polish things. This is why PR to port linux 5.11 drm was open when 5.11 was already EoL for an entire year. Instead of "just" porting 5.11, they decided to refactor how things are done. There are like 3 people working on that PR. It still not merged and not even in review yet.
[1]: Bless Nvidia for having FreeBSD driver available. Would be nice to have CUDA too...
Seriously - more than anything I feel like FreeBSD is a server OS first and foremost. Or more realistically something with lower flexibility that makes it ideal for more niche use cases as a pseudo "lower level" OS. The way I see it the two things you want MOST reliable are storages and network - and all the other features of most operating systems are just unnecessary fluff for those.
What I would like to see however is maybe some specific wifi chip or USB/thunderbolt Ethernet adapter that is certified to work well with FreeBSD - for testing purposes and as a mobile network tool it would be useful to have a laptop running FreeBSD in a VM that could communicate over that dedicated piece of hardware. This would make it super convenient to test a bunch of physical hardware or do all kinds of other infrastructure work while remote.
This is a question of pure ignorance at this layer, but is or why isn't there a standard for drivers that can follow a similar way of building an interface? Or maybe its not even possible due to entirely different purposes of the device.
I am glad FreeBSD exists. Not every commercial venture has the luxury to release their source code, even if they wanted to. If you're writing software for banks or defense, the source needs to be closed.
FreeBSD enables these companies to exist and while consumer grade drivers are not available, many things in FreeBSD are rock solid. Thanks to commercial contributions.
I disagree. Work on permissively licensed software typically has the net effect of decreasing global freedom by reducing the costs of corporations to produce proprietary software. I try to avoid contributing to permissively-licensed software when possible, and I prefer to co-operate with businesses that use free software to avoid vendor lock-in as much as possible.
Why should we all do free work for corporations? At least with the GPL you can negotiate a commercial license in exchange for money, but with a permissive license you forfeit your ability to do that.
It is a fact that many companies from startups to corporations do not have the flexibility of working in open source.
There is nothing to disagree here.
You're shoving in GPL ideology where none was asked for. No one is asking to do free work for corporations; this is a flimsy straw man. You're welcome to do what you feel, I was stating the fact that FreeBSD has done the world a lot of good. That's hard to refute even in the worst of assumptions. And that's not saying anything about GPL. It has its place.
Folks that mindfully contribute BSD- and MIT-licensed software do not share the perspective that they are performing unpaid labor for corporations.
I personally regard copyleft as a severe curtailing of options and equate it with being forced to adopt a narrow, ideological worldview. Worse, the GPL perpetuates the fundamental atrocity of intellectual property law, by hacking it, and therefore intrinsically depending on it; in contrast, the BSD and MIT licenses are mostly a liability waiver under an assertion of attribution, ultimately creations more of necessity than ideology.
In the context of abjuring exploitative corporations, I hear an echo of trade unionism, a movement often oblivious to its own reinforcement of capitalism, again by depending upon the thing it purports to confront; few entities are more aligned with the moral sentiments of Adam Smith than a trade union engaged in collective bargaining. And so it is with the copyleft licenses and their implicit support for enforceable intellectual property rights.
The article linked appears to be derogatory, emotive, riddled with false equivalences, and relies on invective as a substitute for rhetoric. Rather than finding it compelling, it think it describes a myopic, narcissistic view of both intellectual advancement and the value of unfettered contribution.
>At the end of the day, though, what does it matter? What is a totally unenforced GPL? It's just a Cuck License—Isn't that what license cucks want? So why should they care? At their very best, BSD and MIT licenses are only what GPL might be at its very worst.
>The GPL is a permanent liability for any company that crosses it. Some companies might be so bold to lift GPL code and hide it, but there is always a risk and a worry that prevents its general violation.
Those comments are unrelated. The point they were making is that if companies don't want to release source, they will either use a permissively licensed open source project as the base, or they will roll their own (probably lower quality) proprietary version. Or they'll pull an nvidia and release some hacky shim/workaround that breaks all the time and leads to bad user experience.
> they will either use a permissively licensed open source project as the base
which will be less feasible if people don't contribute to permissive projects in the first place, and basically serve as free labor for corporations to take advantage of.
> or they will roll their own (probably lower quality) proprietary version
this will cost them time and money to produce, putting them at a disadvantage compared to their competitors.
>Or they'll pull an nvidia and release some hacky shim/workaround that breaks all the time and leads to bad user experience.
nvidia can pull that off with linux because pushover operating systems like BSD give them the leverage to make those sorts of demands of the linux ecosystem. If linux sues nvidia or makes the driver/shim incompatible that's fine by nvidia- they will be mostly content with to tell their userbase to switch over to BSD so they can distribute a closed-source driver. They can do this to the extent that BSD is a workable replacement for linux, so all work on BSD is really just leverage against the linux GPL.
If there were no feasible permissive competitors to linux, then linux developers would be quite free to make demands of companies who would be forced to comply with the GPL or write their own OS from scratch.
> nvidia can pull that off with linux because pushover operating systems like BSD give them the leverage to make those sorts of demands of the linux ecosystem
That is quite the assertion given that FreeBSD is much smaller than linux, which is already much smaller than windows. Honestly kind of laughable, FreeBSD is so small and insignificant, it's just an afterthought of an afterthought for companies, the only reason those drivers exist is because it's a minimal amount of extra work for them since they already have the linux drivers.
It would take a massive amount of work and nurturing to create a FreeBSD community large enough for it to become a palatable option for most linux users. Not to mention FreeBSD doesn't even have CUDA support, so nvidia themselves would have to do extra work to make it happen (probably other features too, that's just the main one that bit me). As for shims, linux already breaks them all the time, that's why everyone hates nvidia on linux. But that doesn't stop nvidia from doing it.
> If there were no feasible permissive competitors to linux, then linux developers would be quite free to make demands of companies who would be forced to comply with the GPL or write their own OS from scratch.
nvidia is already complying with the GPL. And no, if they wanted to skip shims they wouldn't be forced to write their own OS, they would just force their users to use windows. This comparison makes no sense.
Are you saying FreeBSD is not robust? Did you confirm that it is the operating system that is leaking memory and not your application? If that's true, that's huge and you should file a report. Better yet, write a blog post about the details and how to recreate it.
no, this shows incomplete understanding of layering in a modern operating system. Closed-by-default software projects, over time, are less secure; common source code components make a stronger system over time when executed well; secrets can be handled in a secure manner in security-sensitive applications; well factored software using modern layers are more secure over time with common, tested software components.
I would say that linux isn't able to strong-arm nvidia into complying because nvidia can just go back to distributing their closed-source driver on permissively-licensed OSes such as BSD.
I have a hard time making the parent comment even making logical sense.
So the reason we are not seeing say open CUDA drivers from NVIDIA for Linux is that they instead distribute closed ones for permissively licensed operating systems such as FreeBSD, OpenBSD, Illumos, MINIX, Plan9, etc.? Which (apart from all lacking CUDA drivers) all universally have less support from hardware manufacturers both when it comes to open and closed drivers across the board? ERRNOLOGIC.
You are aware that FreeBSD got closed NVIDIA graphics driver support about a decade after Linux? It is also the only operating system with a permissive license that I am aware of NVIDIA ever supporting.
Alternatively, are you trying to refer to that some game consoles used FreeBSD as a basis and had proprietary NVIDIA drivers written for them? You are aware that there is nothing stopping them from doing exactly the same thing with Linux?
You are free to believe in “licensing magic” being a solution as much as you want, but I think that you will find that it all has much more to do with what NVIDIA is ultimately all about: Shipping as many cards as is humanly possible while maintaining a borderline monopoly maximising profits.
Thank you for correcting me. Nothing to add in terms of AMD. But I could have sworn that there was a set of “demands” in terms of features from NVIDIA around the time I used FreeBSD on my desktop (~2010) in order to produce binary drivers back then. Perhaps I am misremembering?
No? The vast majority of hardware has OSS drivers (and they're usually even the better choice!) - the big exception here for average machines is NVIDIA.
The nvidia drivers sure are. I don't know about most drivers though. As for wifi, I own this ath9k card which I'm told is completely free, but I also own this intel 3160 chip that apparently requires some firmware to be loaded.
The driver layer (code around firmware that initializes the hardware and marshals/unmarshals comms to/from the device).tends to be GPL lest it taint the kernel. The firmware on the other hand, is the last unconquered vestige of the Open Source landscape. Logic locking, and the prevalence/nature of fabless semiconductor IP tends to make that endeavor incredibly difficult.
I want to try BSD one day but these sorts of articles put me off. I used to enjoy trying to get things working but I just don't have that sort of time anymore.
I understand that the community only has so many resources to support the various hardware around. I suspect one BSDs strengths is that the smaller community is able to follow a more cohesive vision. But for me this means I'm probably not going learn it until I can just run it out of the box.
In every image I've seen of a FreeBSD developer conference, the vast majority of the developers are running FreeBSD in a virtual machine on a Macbook. I guess they aren't considering real hardware support as a priority.
You aren't wrong. This is part of the reason I tend to buy ThinkPads; a large portion of the OpenBSD developers use ThinkPads and dogfood OpenBSD on them!
Try it in a VM first. It's actually helpful to try it that way first, so you can used to how it works. If you can afford it, get a used thinkpad....a t430 or t420 should be pretty cheap, and will run free/net/open without problem. If those machines are too old for your liking, ask around here on the subreddits of each OS, and users will have hardware recommendations for you. oh and the x1 carbon family seems to be popular among the freebsd crowd iirc.
If this is something they get dialed in, I’ll buy several for sure.
Love the framework idea and want to support, but have very little use case right now.
Is it possible to port Linux driver code to FreeBSD, given licensing issues and all that? Seems like an 'easy' fix, given that Linux has most of the non-working FreeBSD issues solved..if not all. I'm all for code re-use.
> wifibox essentially spins up an Alpine Linux VM using FreeBSD's bhyve virtualization technology, and allows you to passthrough your machine's wireless card
That is my initial reaction, but ... a minimal linux VM in a minimal hypervisor, might not be that bad, for a network adapter. Perhaps -40MB- 128MB of memory? Double the context switching? Sounds kinda like a micro-kernel driver.
Have you ever tried to install a minimal driver for a printer in windows, and then watched in horror as it automatically started downloading 600MB of HP junk?
> Have you ever tried to install a minimal driver for a printer in windows, and then watched in horror as it automatically started downloading 600MB of HP junk?
Never have I changed my opinion on something (a VM for a fricking driver) so quickly. Good job.
Yeah, obviously it's not ideal but I don't really see any problem with passing the card to what is, indeed, effectively a userspace driver (that happens to internally contain a virtual machine and Linux). Some upfront setup effort and lower performance beats not having a way to use the card at all!
It's easier than writing a driver for FreeBSD yourself, I suppose, although I'd probably just get a USB Wi-Fi dongle instead of worry about walking into a meeting and my Wi-Fi driver VM crashing :)
(or, just run Linux and run FreeBSD in a VM, but that's no way to support a niche operating system...)
You don't need a dongle, just purchase a supported wifi card. I put a supported atheros card in my framework laptop and the wifi works flawlessly, natively. The framework laptop is designed to be opened and have the parts replaced, so its the perfect laptop for doing hardware changes like this.
Does this actually support operating on 5GHz, or is it still stuck in the 2.4GHz era? I'm not aware of any FreeBSD-compatible wifi cards that actually do this.
(I would love to be proven wrong, but I'm super tired of people saying "wifi cards work fine on FreeBSD" when the reality is that the speeds are sub-optimal without a way to improve it currently)
On the other hands 2.4GHz is perfectly fine for a lot of people. Actually I often select 2.4GHz on purpose at home because 5GHz works really bad with thick walls and I barely get any network in my kitchen and rooftop.
People will say it is easy, setup a mesh network or some powerline adapters but:
1. It is much more expensive
2. It is not practical in an old flat with very few power outlets, especially when you are not the owner.
And I don't really run into use case where running 2.4GHz limits me.
I think the problem is that there aren’t many modern wireless cards with official FreeBSD support, so you’re stuck using a specialized dongle or Ethernet if you want to use FreeBSD on a laptop.
I think it mostly depended on the vendor, like today, where Broadcom and Realtek suck a lot, Mediatek and Qualcomm a little and Intel/Atheros work just fine. I remember using Ubuntu 6.10 or so with an Intel card out of the box.
I’m sure it is but the status I see shows that there isn’t much support for anything newer than 802.11n cards period, so if you’re using anything from the last 5 or 6 years, you may have a problem.
That’s a it different from the various Broadcom or whatever issues the Linux kernel was dealing with in the early Ubuntu eras (where Ubuntu also I think accepted some blobs/drivers that weren’t in the kernel at the time).
The problem here seems to be no support for certain stuff, regardless of chipset maker, rather than having to pick a certain one, unless you’re able to go really far back (which may have issues on some networks at this point).
As always, the best option for less-mainstream operating systems is to use Ethernet when possible.
Spiritually it was the same concept though... if you can't get a driver for your Linux OS, use the driver from another OS. This just seems to take that to be extreme -- don't just use the driver from another OS, actually use the driver FROM the other OS!
I really, really like my Framework laptop. But I've found I can only really run Windows on it without having to shift my entire Linux workflow
Not because Linux doesn't work at a *hardware* level. All the drivers are long since mainlined and the documentation on places like Gentoo and Arch's wikis are superb
The only blocker for me now is fractional scaling in XFCE is just not there (yet). It's something the developers are slowly working on and hoping to get out in the next release, but it's just not available yet.
I could use GNOME or KDE and gain it (and probably even run Wayland since it's an Intel iGPU) but I've been wedded to XFCE since GNOME 2 went out the door and GNOME 3 showed up. I'd rather not make the uphill climb to relearn an entire desktop environment for just a laptop I use infrequently
My experience was pretty similar to that of the owner of Framework laptop, except some extra topics: headless NVIDIA GPU, Touchpad issues, bootloader hangs.