FreeBSD 13.2
freebsd.org
freebsd.org
On the surface, FreeBSD sounds cool. I liked that I could boot directly to a console and then run the GUI only if I wanted to. Everything felt more modular. It reminded me of the days before Windows 95 when I could just use DOS to save precious memory and CPU bandwidth.
Only I'm not sure I'd be able to use it as a daily driver. I felt like I'd be spending my time administering the machine and nothing else. Maybe it was just because it was running in a VM. Maybe it was because it's ARM. Not sure. I'd love to hear others experiences with FreeBSD on ARM.
ah, the memories
this + dwn https://dwm.suckless.org/
then I said to myself "why am I wasting so much time tinkering with stuff that gains me nothing" and moved on in my life
I think it also helps that I've never really tinkered with it. I took someone's build that had a few things I wanted, and I think that's it. In contrast, I spend more time on a regular desktop environment setting up shortcuts.
For simple console stuff on the terminal, it's ok. But when the GUI is involved, or anything with a lot of computation, having to translate all of the instructions from native ARM64 back to x86/64 and back takes a ton of resources and time.
You can do that in Linux...
> Only I'm not sure I'd be able to use it as a daily driver. I felt like I'd be spending my time administering the machine and nothing else.
Not really? I think the BSDs are simpler, change less and are better documented.
Source: I ran OpenBSD on desktops in early 2000s.
> Source: I ran OpenBSD on desktops in early 2000s.
From my experience witb BSDs on a SUN pizza box (also around 2000) : FreeBSD had the docs on the internet, not very helpful when you want to configure the network. OpenBSD was ok. Linux (my first choice) was slow as hell.
RTFM will go a very, very long way on this OS.
I think I _may_ have done that before. What I thought was interesting is FreeBSD just did that without any extra steps. When I "apt-get install" a desktop environment in Ubuntu or Debian and reboot, the desktop environment loads by default. In FreeBSD, I guess there's some startup scripts I would need to edit to start X and the desktop manager...
Well, it depends on what you install. If you install just xorg and a window manager, it usually won't boot into it.
If you install GNOME or KDE that ship with a display manager, it will be configured to boot into it. That is what you would usually want though.
I use this VPN for internal traffic between my machines only. Not as a tunnel for Internet destined web client traffic.
I have set up my FreeBSD servers and my Linux machines to have sshd listen on the WireGuard address.
On my iPhone I connect to the WireGuard server that I run. Then I can ssh to all of my machines.
The machine that runs the WireGuard server to which all of the other machines connect, runs FreeBSD :)
- The hard separation between the base OS and user-installed packages that go in /usr/local - you can wipe the /usr/local and get back to the pristine state. Things don't get mixed.
- Better documentation, better man pages.
Whenever I log in to a Linux distro it feels like things are all in the wrong places. Hardware support is bad though, I wish hardware vendors would open source their drivers.
Switched to void and it is the same freebsd feeling, but with much better hardware support. And with my beloved ZFS!
My hardware is usually a little older anyway, so the latest stable release is good enough.
Flatpaks are finally to a point where if I need up to date apps I can just install it from Flathub.
I will die on this hill, and whoever disagrees has never tried what honestly feels like the future. My Linux PC is as stable and reproducible as my iPhone.
One day I will finish my Fedora Silverblue master guide that has been a draft for months...
(No, sorry, NixOS ain't better.)
But I agree with you that for the average user Silverblue surely is the the better platform, NixOS is for people how like to hack around and customize their environment.
I had never even heard these before! This sounds exactly like what I want!
One day I will finish my Fedora Silverblue master guide that has been a draft for months...
I would love to read it!
Right now I'm running Fedora on my old laptop and I was positively surprised in how many details it got better in terms of user-friendliness and predictable behaviour in general, I hope it'll break the curse of "stable" distros constantly falling apart on my PCs.
Fedora has been a decent in-between in my experience. Packages are reasonably up to date and updates are frequent, but I've never had a few weeks of accumulated updates break things which is nice.
I only use windows to play games. But frankly, my personal laptop is used mostly for that, if at all. I have a work laptop provided to me for work stuff.
I still tend to use Ubuntu for the occasional freelance, research or teaching work I do though.
I’m not an evangelist on OS. I’ve used centos, fedora, Debian, mint, elementaryos and even for a time was swapping out DEs for window manager things like awesomeWM.
But at this stage in the game I’m too lazy to tinker with making the OS work. And Ubuntu tends to do well with mixed hardware such as having iris xe and nvidia chips on a single board. So I went with that.
Really? from what I read BSD complaints they hate RedHat related stuff like systemd and GNOME code was Linux only for w hile, not sure if this was fixed in GJPME or downstream.
Canonical/Red Hat.
The changes have largely been the two of them warring for control of key projects, such that other distros are forced to fall in line and become second-class to theirs (why risk the knock-off when you can go straight to the source?). Red Hat's won every one of these battles so far.
I've recently posted[1] my thoughts on commercial vs. FOSS-driven workstations.
One huge downside to FreeBSD on a workstation is the lack of modern WiFi support. Impatiently waiting for WiFi drivers emulated via LinuxKPI[2].
[1] https://wojteksychut.com/posts/work-tech-i-use-privately/
Linux feels clunky like a bunch of third party cogs all mashed together. Some with teeth missing some with too many. If it's not SystemMd taking over the whole startup of system services and needing its own DHCP server, it's then down to package manager's. Apt being replaced with snap, snap replaced by flat images.
Its divided and with no formality. Someone will create some new thing, I'll get popular, get introduced in to some distro, command others to use it and then end up being abandoned.
Linux is now in bed with corporate. The original idea was having a free alternative of unix and/or sort of fight against Microsoft. That's gone.
These are not all bad things, but turns the experience of Linux in to a mess.
For FreeBSD:
It just works, its solid, it bounces back. It has ZFS. Its Unix.
The kernel is as whole, its solid. Rock battle tested solid. Packages feel meshed correctly. Documentation is a single source.
Its just lovely to use and when you replace Linux for FreeBSD you'll feel a weight off your shoulders as your system will shutdown rather than systemmd displaying "Waiting 5minutes for X to shutdown". Have a great community which isn't divided by distributions.
Just a reminder that a range of Linux distributions available. There is choice.
If I had to choose one it would be Slackware.
(Must get round to upgrading to 15.0 sometime)
By the way, FreeBSD also enjoys a bit of corporated love, with the difference that love only goes into one direction.
Which doesn't really matter to people who already used Linux or BSD.
What I love is the excellent documentation, stable OS + rolling packages, ZFS on root (snapshots!), the ports collection so you can recompile packages easily with your own settings if needed.
Also no attempts to include their own IP like canonical does with snap. The low level of commercial interest is great. There's nothing being replaced just for the sake of it.
The biggest problem seems to be wifi drivers with their closed source blob skullduggery making things difficult, but I have no need for wifi on my desktop anyway.
Though I admit that FreeBSD desktop is less user and especially novice user friendly than Linux. Another big reason to prefer Linux is closed source software. Sometimes closed source apps have Linux versions but practically never FreeBSD ones. Linux emulation works for simple apps but setting up something like Skype or Zoom (which requires camera/mic access) is too much of a work even for an experienced FreeBSD user (if possible at all).
It's also very convenient to use if you need up to date software since it is a rolling release, but there are some things in FreeBSD which is better like reproducible builds.
Kind of like Arch Linux but without the chaos, and the community appears to be growing!
- https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
Its simple and logical with lots of useful features that most people do not even know exist.
Also in may aspects it makes my life easier - like with ZFS Boot Environments or Rescue subsystem - Ports and Source infrastructure for custom system/packages building.
I also like the Community.
Here is mine 'desktop' documentation if needed:
- https://vermaden.wordpress.com/freebsd-desktop/
Regards.
I really enjoyed using it. The reasons for that are what others already mentioned: simplicity, well-thought-out organization of the system vs. userland vs. 3rd party packages (man hier), excellent documentation always available locally, ports, jails, pf, etc. It was all nice, but the killer feature, for me, was stability. The system simply refused to die, no matter what I threw at it or how I misconfigured it. At the time, Linux was a lot less stable than it is today - it could hang forever, corrupt the filesystem, or restart in the middle of doing something. Especially with proprietary, binary blobs and apps, rare as they were, Linux had a hard time accumulating uptime. On the other hand, FreeBSD worked, always. Well, it had no other choice, given that ACPI wasn't fully implemented and it couldn't suspend/sleep - it was a desktop but also a server for some private stuff, so that was ok.
Linux got much better over the years, both in kernel and userland. I have been using Fedora for close to 15 years now, and it works. I won't be going back to FreeBSD on the desktop, unfortunately. However, I'm tempted to try it again on an older laptop that plays the role of a NAS: no GUI, always connected to the router with a cable, always connected to power. I have Fedora running there, but I already use ZFS - it's great - so the switch shouldn't be hard.
* Have to use 14-CURRENT to support my RDNA2 graphics card at all. This was not simple.
* Systemd sucks, but on Linux when I start a sway session it co-ordinates all the xdg-desktop-portal-wlr / pipewire / pipewire-media-session (I think). There doesn't seem to be a freebsd equivalent for user level services. Although dbus / consolekit seems to be doing something, I don't understand why or how.
* Sound is just broken. My usb headset gives constant loud feedback, by bluetooth dongle spams the dmesg until it eventually gives up and my hda card seems to work in all the mixers but no sound is forthcoming.
* Firefox with wayland on just loses the compositor connection almost instantly. Alacratty seems fine though, as is xwayland.
* My webcam doesn't work, in firefox it's blank, in chrome the video is corrupted.
* I have no idea how to configure XDG_RUNTIME_DIR to get created a login with the right permissions etc on tmpfs. I could leave it on zfs of course but apparently that's problematic.
That was on a ThinkPad x220, which supposedly is supported well by the BSD systems, and it did run well with PC-BSD. But I figured I was getting too old for fiddling around all weekend to get it to work, and Debian just worked(tm).
Before that, I used FreeBSD on my desktop roughly from 2003 to 2005, mostly because I liked its simplicity and it did feel snappier than GNU/Linux at the time.
Want to see how the “grep” command works? Just go to /usr/src/usr.bin/grep and read the source. Modify and reinstall it if you like. On Ubuntu this would be a huge chore of figuring out what package the command comes from, wrestling with apt-get source and dpkg-buildpackage, tweaking your apt settings to not immediately replace your custom-built one with the upstream version, etc.
ZFS as a first class citizen, without wondering if Oracle will show up and take the ball away.
Jails, although that's not super relevant to the desktop experience. I won't mention systemd, although I truly dislike it (though I have no particular attachment to init scripts, I was quite fond of Solaris' SMF for example).
The absence of snap and whatever horrors Canonical keeps pushing is another plus, but I'm in not in a good position to judge its impact as I'm blissfully ignorant of how bad they are, I just stumble in the occasional horror story.
Biggest thing I'm missing and wish I had: Docker. Jails may be technically better, but the world went another way and they have no functional ecosystem.
Requiring a docker container to have a user space which matches the kernel kind of defeats the purpose.
Is this still true now that FreeBSD is using the ZoL/OpenZFS tree?
Using the ZoL tree with FreeBSD doesn't have the same licensing conflict; BSD and CDDL software can mix.
"The CDDL applies to all files under the CDDL, while the GPLv2 applies to derivative works. The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system."
Amen, brother.. Ubuntu 22 was my breaking point.
Even Certbot for Let's Encrypt instructs you to install certbot from a _snap_.
Yes, let me load this additional package manager/software channel on a server install, that will go super well/s.
- I always end up running out of disk space, because of Docker’s love of immutable layers for everything — my jails just live in a normal directory in the filesystem, no need to overthink it;
- I have no idea how to restrict /dev in Docker containers — I’m sure you can, but it’s a mystery to me;
- copying/moving files between host and container requires setting up volumes/ssh/whatever special ceremony; copying/moving files to/from jails is trivial, it’s the same as copying/moving files between any other directories;
- updating jails is easy; I use pkg and freebsd-update, just like with a normal system update, no need to update the host system one way, and the jails another way, like with Docker;
- jails don’t mess with my firewall rules, unlike Docker.
Overall, jails give me a much more cohesive experience.
You won't find a premade pihole jail, a downloadable HomeAssistant jail, etc. That's what I mean with ecosystem. Being the better solution is surprisingly unimportant when nobody knows you exist.
Several things that Ubuntu misses:
- lack of ZFS Boot Environments - https://is.gd/BECTL - https://is.gd/BEADM
- no bootloader integration
- still requires ancient EXT4 or XFS /boot to start system
... and while the version of ZFS is newer on FreeBSD you can always install these packages and have LATEST OpenZFS available:
- sysutils/openzfs
- sysutils/openzfs-kmod
Hope that helps.
This is a bit of a bummer, though.
I did just try to use etcupdate for the 13.2-RELEASE upgrade and it hung forever trying to grep for something in /etc/default/devfs.rules, so I had to fall back on mergemaster again...
Oh well, maybe a clean install when 14 is out and it'll behave better.
Congrats on the release!
* https://www.freebsd.org/releases/14.0R/schedule/
One can continue using 13.x until 2026:
Would you be willing to submit a bug for the etcupdate issue? Or, just reply here with as much detail as you can recall about how you ran it?
Will file a bug if I can reproduce it.
I didn’t get much confidence to trust it with my data if something as basic as the system load counter is broken for 10 years and engineers think it’s not worth fixing.
(Note that the bug is closed as fixed, but it’s not fixed and the problem is still there)
Edit: who downvotes this for just linking to a bug in FreeBSD?! :-/
Fortunately they seem to be very edge case issues, like the latest I have found that Postgis on Postgresql is broken.
There's already a `vendor/openssl-3.0` branch in their git repo, but those changes look like way too big to release in just a security patch for 13.2.
FreeBSD 14.0 is scheduled for July (2 months before OpenSSL 1.1.1 EOL), so maybe we'll get OpenSSL 3.0 in that release, and then a backport with the OpenSSL upgrade.
But the timelines seem too tight, so I'm not too optimistic.
The same way as Ubuntu 20.04 LTS, which is supported by the vendor for five years (2025):
* https://packages.ubuntu.com/focal/openssl
Or Debian 11 (bullseye), which has LTS support until 2026:
> That doesn't get us full CUDA support, but we can run OpenCL apps at least (with x11/nvidia-driver, x11/linux-nvidia-libs and the nv-sglrun script from emulators/libc6-shim). And NVENC if you bother to compile it.
Why would you want to limit yourself to the operating system that cannot train, say, a pytorch model on your nvidia GPU?
We had some success running inference on CPU, which works for as long as the model isn't that large. But that doesn't scale for larger models, where you also want to batch requests and run them all at once on GPU.