"Short time"? Look, I appreciate that you mean the development time for the feature to be added, but S0+network was introduced over a decade ago. Early versions were in Windows 8. It shipped in Windows 8.1 in 2013. Your link is from 2025 where they're talking about S3 support no longer existing at the hardware level.
I'm really happy BSD is getting support, but they literally waited until hardware for the deprecated standard to cease to exist before implementing the new support.
Even on Windows, the S0 era of sleep has been horrible. Regular stories about laptops coming to life in the night: fully draining the battery and/or cooking themselves in a bag.
My least favorite thing about the current generation of laptops. Even fully powered off, they sometimes wake up and run their batteries down to 0. I do not understand why this behavior is allowed for a computer that’s not plugged in to mains.
It's insufficiently documented, two of the most powerful corporations on earth are unwilling to assist if not actively hostile to the efforts, and it touches every single subsystem in the kernel. Ten years is fantastic.
If this is what Microsoft called "connected standby" it's worth noting that the early implementation of this even on Surface hardware with Windows 8 was hot garbage. It liked to wake itself up in your bag and completely drain the battery while cooking the computer from lack of ventilation. I made a point of always turning the Surface the whole way off any time I packed it up because it was so unreliable. Best case the battery drained like 5% per hour.
Hopefully the initial BSD implementation is better than Windows did.
Oh, no doubt it was hot garbage in 8. It was slightly improved in 8.1, and there were real improvements in the system in Win10 that really made it work better. Win10 was the first good version.
But Win10 is still over 10 years old. Win10 is end of life in about 2 months.
My experience would’ve been 8.1 already, just double checked and that’s what the Surface Pro 3 shipped with. And I don’t think they had connected standby on the prior Surfaces (at least officially).
Good? Come on. Even few years ago I remember reading people here and on Reddit complaining how their laptops cooked themselves to death in backpacks and OEMs shrugging "you should've turned it off".
"Modern" standby was and is still a hot garbage, and it'll always be, because it's defective by design.
Does it actually work in a meaningful way on any hardware? In my testing, it still discharges the battery at about the same rate as leaving the OS up and turning the screen off, where Linux is about on par with Windows. But I might have a laptop the devs don't have access to, so I'm just left unsure where (if anywhere) it works as intended.
I keep waiting for the mythical day I can walk into a random computer store, and pick a laptop on display with either FreeBSD, or most common Linux distros, already pre-installed and 100% supported hardware.
Last time I was able to do that was with netbooks, and even those were mostly OEM specific distros without updates, if we wanted to actually have 100% supported hardware.
If you just want a browser and notepad - then ANY system would do - even Android on X86 PC.
If you want a powerful development/work environment - and you do like what and how Linux provides here - use Linux - but as I was not satisfied with what/how Linux provided I looked somewhere else and I landed in FreeBSD.
Here are some of the reasons and conclusions I came to after using FreeBSD (and also Linux/AIX/HP-UX/Solaris in various jobs) for about 20 years.
I have tried multiple Linux system and besides faster WiFi I never find what I look for on the Linux land - but thank You for suggestion.
Also - even if I would be forced to use Linux - I would probably setup it with ZFSBootMenu and Root on ZFS - I believe Fedora does not allow any of these?
None. If you have a particular fondness for FreeBSD and its particular set of behaviors: great. Then use it. If you really like jails, and for some reason need them on a laptop, and really don't like Linux containers, then, great.
It's not so much about advantages as it is about making the FreeBSD laptop experience better. A lot of people like FreeBSD on the desktop but use Linux on laptops because Linux has better support for those.
If you're not the type of person who wants to run FreeBSD as a workstation, none of this will matter to you.
Unfortunately, we now have a few people complaining about predictable, consistent behaviour with packaging that is coherent. The base system, FreeBSD, packaged.
The complaints are about the effect of wilful force.
Maybe I'm old-fashioned.
When I force something with my eyes shut (ignoring warnings), I do expect the unexpected as a result of my ignorance ;-)
The browser and desktop and terminal you'll inevitably want to use aren't any more part of that "complete" OS than they are on Linux (and in many ways FreeBSD Ports is more immature / less well-integrated than Linux packages).
While You can spend some hours installing Linux with ZFSBootMenu and LUKS encrypted Root on ZFS - there are ZERO Linux distributions that allow ZFS Boot Environments out of the box.
That is the reason 'why' Linux is not the first class ZFS citizen.
When You make research how to make it for the first time - it can - if you want to check at least several different guides ... but that covers only the encryption part.
There is also the ZFSBootMenu part ...
If you have done this at least once - noted the commands, etc. - it will take shorter - but never shorter then FreeBSD 'Auto (ZFS)' option in the bsdinstall(8) installer where you just select the disk on which it needs to happen and hit [ENTER] key.
That's not my experience at all. Macs are great on battery, but BSDs are not, they are by far the worst. Linux usually does ok, often better than windows, at least once properly set up. I only run BSD on my "never leave home/stay tethered" laptops because they only get 3-4 hours where Linux will get 8-12.
It seems like the 6.16 and 6.17 kernels should allow for some pretty good improvements on battery and sleep mgt across more hardware from what I understand.
Thanks. Its basically ThinkPad T480 with just ThinkPad T25 Palm Rest and Keyboard ... the problem is that Lenovo only made 5000 of these ThinkPad T25 ... and now all the ANSI US keyboards are GONE.
I also have the original ThinkPad T25 ... but its I just passed 2 years time of searching for ANSI US keyboard for it ... they are just like ghosts.
> [...] a Microsoft specification for Windows 8 (and later) hardware and software that aims to bring smartphone-type power management capabilities to the PC platform [...] allows the operating system to continue performing background tasks, such as updating content from apps, when a device is not being used [...]
We've all needed this like a big fucking kick in the groin. "Modern standby" my ass.
Microsoft has great firmware engineers, but the functionality they design, and then mandate, so that Windows can have its rotten tentacles into the guts of the firmware, is absolutely disgusting. Technically well implemented, but the goal is usually terrible.
Yep. The 's0ix' is bullshit. S3 suspend/resume worked just fine.
... but in the end of the day what more can You do?
I would say 'vote with your wallet' ... but that also does not work anymore.
Take a look at laptop keyboard layouts [1] ... does not matter if MNT, Framework, KDE, ThinkPad, ... whatever - does not matter - NO ONE make 7-row keyboards in laptops anymore ... we are fucked :[
The GPU drivers for Snapdragon are GPL 2.0 only, makes it hard to use in FreeBSD. The drivers for GPUs used in X86 systems are dual licenced so can be used outside Linux.
I'm currently running FreeBSD on a gen3 Intel T14. It's been excellent so far, however one minor annoyance has been S3 suspend/resume. Well, suspend works fine, but resuming triggers a restart. I'm hoping the recent S0ix work might fix that.
Sorry I wasn't clearer before, the laptop is a Lenovo Thinkpad T14 gen3 with an Intel CPU. I poked around in logs a bit but I haven't found anything indicating an error yet.
EDIT: just started reading Ch. 10 on Kernel Debugging[1], will try some things and see if I can extract any useful information. The handbook is so great.
I have a vague sense that kernel panics with iwlwifi should have been resolved before 14.3-RELEASE. Bugzilla should be fairly close to definitive, expect info to be copious but well-organised.
I spent around a year trying to pinpoint the cause(s) of apparently random failures with different (older) hardware. After switching to Kubuntu on the same hardware, I suspect that the issue with FreeBSD was ACPI-related.
If you have crash files from kernel panics: it should be possible to identify, but not necessarily solve, a problem.
Traditionally, most FreeBSD developers would actually run OS X on their laptops, whereas most OpenBSD developers would still use OpenBSD even on laptops.
This was especially notable at BSD-wide events like BSDCan, AsiaBSDCon, EuroBSDCon etc.
OpenBSD supports suspend to disk, whereas FreeBSD does not. (Is this being changed as part of this laptop project?)
OpenBSD has always supported graphics, sound and other desktop things in the default kernel, without having to tinker with kernel config or loadable kernel modules. FreeBSD? http://cr.yp.to/unix/feedme.html
Also, on OpenBSD, the basic X is part of the base system, in the xenocara repository, and it basically just works, straight from the default installer:
OpenBSD actually does NOT support loadable kernel modules at all, and you're strongly discouraged from running a customer kernel, too. This has a side effect that both graphics and sound works out of the box, since deviation from defaults is discouraged, and if it didn't work by default, it'd not be recommended in the first place.
On FreeBSD, even the most basic X stuff is part of the Ports tree, which basically implies that most installations wouldn't have it, and it's often far less integrated, and requires way more tinkering, than xenocara on OpenBSD. For example, when you know most of your installations wouldn't have X, would you have graphics and sound support in the default kernel, or would that require further tinkering of the kernel config and/or LKM?
(On both systems, you still install KDE and GNOME from ports/packages, if needed, it's only the lightweight basic X and WM stuff that's part of OpenBSD base xenocara.)
So, even though FreeBSD is faster and more popular in many ways, to most people's surprise, OpenBSD actually has better laptop support.
For example, I installed FreeBSD on an old laptop and had to fiddle with building Xorg to get a GUI. Same laptop on OpenBSD just worked after running the installer.
Yup, that's because X is part of OpenBSD base system, called xenocara, whereas in FreeBSD, you have to use the Ports tree to install Xorg.
Ports tree in general is a great way to install third-party software, but not necessarily for Xorg.
You still install KDE or GNOME through ports/packages on both systems, but X being more tightly integrated with the base system has benefits in reducing complexity for the rest of the components.
FreeBSD cares about POSIX and traditional BSD compatibility more than OpenBSD does, so it'll run more software than OpenBSD can. That can be an upside or a downside depending on your point of view - when OpenBSD breaks POSIX they do it for a reason.
Man pages are just as good, and the Manual is a bit more comprehensive.
Can you name specific instances where OpenBSD broke POSIX?
Whichever man page I read, they always cite specific standards. They also tend to follow the de facto standards, judging by the breadth of software in their ports tree (which more often than not, is actually full of Linuxisms).
It's not horribly common. If POSIX mandates something insecure, OpenBSD will often break POSIX in favor of security.
The simplest example is gets(3) doesn't exist in libc. rand(3) and family aren't deterministic (srand_deterministic(3) gives you that, but it's OpenBSD-specific). There are others, but it's not something I think about a lot so I can't think of them off the top of my head.
If you're genuinely interested I'd recommend asking over at DaemonForums. I'm sure someone has compiled a list somewhere.
You're correct. However those sound like perfectly reasonable changes to me. gets(3) is a horrible API.
As defined by POSIX.1-2001:
> If a read error occurs, the error indicator for the stream shall be set, gets() shall return a null pointer, and set errno to indicate the error.
IMHO the least-unreasonable thing to do is to behave exactly as if a read error occurred, but programs that do use gets(3) are unlikely to check for errno anyway.
> The rand() function shall return the next pseudo-random number in the sequence.
The spec does not say what the sequence should look like, other than it's pseudorandom, so the exact sequence is implementation-dependent. You can't use it to e.g. seed a test run, a terrain generator, etc - and expect repeatable results across platforms, releases. (And I honestly can't think of another reasonable use case for deterministic output.) IMHO at that point you should define your own PRNG, it's about 8 lines of C.
But you're obviously correct, these are deviations.
The rand(3) thing isn't about repeatability across implementations. Normally if you call srand(3) with the same seed, you get the same sequence of numbers from rand(3). It's useful for testing and debugging. OpenBSD ignores srand(3) altogether. The reasoning is that there are enough cases of people improperly seeding the PRNG that it's worth breaking POSIX to mitigate possible vulnerabilities.
I personally don't have an issue with their choices - they're completely in line with OpenBSD's mission of producing a secure OS. I'd be less pleased to see that sort of thing in other systems like NetBSD, though.
Man pages are close enough to OpenBSD. Httpd is there, but renamed to obhttpd.
There are some differences between PF and relayd for example, but not too difficult to switch.
Seeing modern standby is pretty insane in such a short time; it was one of the most attended talks in the BSD talks at FOSDEM:
https://fosdem.org/2025/schedule/event/fosdem-2025-6390-wake...
Also pretty impressive because Aymeric started as a GSoC contributor and is now sponsored to work on BSD by the foundation.
"Short time"? Look, I appreciate that you mean the development time for the feature to be added, but S0+network was introduced over a decade ago. Early versions were in Windows 8. It shipped in Windows 8.1 in 2013. Your link is from 2025 where they're talking about S3 support no longer existing at the hardware level.
I'm really happy BSD is getting support, but they literally waited until hardware for the deprecated standard to cease to exist before implementing the new support.
That's not a short amount of time.
Even on Windows, the S0 era of sleep has been horrible. Regular stories about laptops coming to life in the night: fully draining the battery and/or cooking themselves in a bag.
My least favorite thing about the current generation of laptops. Even fully powered off, they sometimes wake up and run their batteries down to 0. I do not understand why this behavior is allowed for a computer that’s not plugged in to mains.
Some loser's sense of self-worth is tied to the number of windows machines updating on their mandated schedule no matter what
That's a tad dramatic, Daphne.
s/loser/sociopathic asshole/
I took it to mean, a relatively short period of time after funding became available. Bear in mind, it's a report from the Foundation.
It's insufficiently documented, two of the most powerful corporations on earth are unwilling to assist if not actively hostile to the efforts, and it touches every single subsystem in the kernel. Ten years is fantastic.
If this is what Microsoft called "connected standby" it's worth noting that the early implementation of this even on Surface hardware with Windows 8 was hot garbage. It liked to wake itself up in your bag and completely drain the battery while cooking the computer from lack of ventilation. I made a point of always turning the Surface the whole way off any time I packed it up because it was so unreliable. Best case the battery drained like 5% per hour.
Hopefully the initial BSD implementation is better than Windows did.
Oh, no doubt it was hot garbage in 8. It was slightly improved in 8.1, and there were real improvements in the system in Win10 that really made it work better. Win10 was the first good version.
But Win10 is still over 10 years old. Win10 is end of life in about 2 months.
My experience would’ve been 8.1 already, just double checked and that’s what the Surface Pro 3 shipped with. And I don’t think they had connected standby on the prior Surfaces (at least officially).
Good? Come on. Even few years ago I remember reading people here and on Reddit complaining how their laptops cooked themselves to death in backpacks and OEMs shrugging "you should've turned it off".
"Modern" standby was and is still a hot garbage, and it'll always be, because it's defective by design.
OpenBSD's had suspend-to-idle (S0i) aka "modern standby" since 7.6 (2024), at least on Intel. 7.8 will have better AMD support.
Does it actually work in a meaningful way on any hardware? In my testing, it still discharges the battery at about the same rate as leaving the OS up and turning the screen off, where Linux is about on par with Windows. But I might have a laptop the devs don't have access to, so I'm just left unsure where (if anywhere) it works as intended.
FreeBSD is the first thing I try to install on a new laptop. Once I play around for an hour I install Linux for the hardware support and move on.
I can't wait until the experience is good enough that I can stay on it.
I keep waiting for the mythical day I can walk into a random computer store, and pick a laptop on display with either FreeBSD, or most common Linux distros, already pre-installed and 100% supported hardware.
Last time I was able to do that was with netbooks, and even those were mostly OEM specific distros without updates, if we wanted to actually have 100% supported hardware.
Not exactly a new laptop, but a few days ago I spent a similar period (around an hour) toying with FreeBSD on an HP EliteBook 660 16" (G11).
Very rough notes – things were rushed (squeezing as much as possible into the end of a Friday afternoon):
https://www.reddit.com/r/freebsd/comments/1mey64f/hp_elitebo...
What advantages does FreeBSD bring on a laptop versus Linux?
If you just want a browser and notepad - then ANY system would do - even Android on X86 PC.
If you want a powerful development/work environment - and you do like what and how Linux provides here - use Linux - but as I was not satisfied with what/how Linux provided I looked somewhere else and I landed in FreeBSD.
Here are some of the reasons and conclusions I came to after using FreeBSD (and also Linux/AIX/HP-UX/Solaris in various jobs) for about 20 years.
Here:
- https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
Have you ever tried Fedora Silverblue? It seems like it would match FreeBSD's advantages, as listed in the first section of your blog.
I have tried multiple Linux system and besides faster WiFi I never find what I look for on the Linux land - but thank You for suggestion.
Also - even if I would be forced to use Linux - I would probably setup it with ZFSBootMenu and Root on ZFS - I believe Fedora does not allow any of these?
That was a good read, thank you.
Thanks.
None. If you have a particular fondness for FreeBSD and its particular set of behaviors: great. Then use it. If you really like jails, and for some reason need them on a laptop, and really don't like Linux containers, then, great.
It's not so much about advantages as it is about making the FreeBSD laptop experience better. A lot of people like FreeBSD on the desktop but use Linux on laptops because Linux has better support for those.
If you're not the type of person who wants to run FreeBSD as a workstation, none of this will matter to you.
Not OP, but off the top of my head, it's a complete OS, kernel and user land are released as a whole.
I last ran it about two decades ago, so it's been a while.
Yep, the coherence is a strong point.
Unfortunately, we now have a few people complaining about predictable, consistent behaviour with packaging that is coherent. The base system, FreeBSD, packaged.
The complaints are about the effect of wilful force.
Maybe I'm old-fashioned.
When I force something with my eyes shut (ignoring warnings), I do expect the unexpected as a result of my ignorance ;-)
The browser and desktop and terminal you'll inevitably want to use aren't any more part of that "complete" OS than they are on Linux (and in many ways FreeBSD Ports is more immature / less well-integrated than Linux packages).
LSU context: the completeness is out of scope.
Current aims include enhancement of the installer for FreeBSD; KDE Plasma and applications as an option.
First-class ZFS support is pretty compelling for any usecase.
Kubuntu 25.04 here, root on OpenZFS thanks to the installer for Ubuntu.
How is OpenZFS second class on Linux?
<https://github.com/openzfs/zfs/> is not perceptibly FreeBSD-first.
Cool, one of the best features of ZFS on FreeBSD is to boot into a snapshot. ZFS boot environments are really cool.
You can get that with ZFS Boot Menu on Linux too. It was inspired by the FreeBSD boot loader.
Root on ZFS is not a problem.
While You can spend some hours installing Linux with ZFSBootMenu and LUKS encrypted Root on ZFS - there are ZERO Linux distributions that allow ZFS Boot Environments out of the box.
That is the reason 'why' Linux is not the first class ZFS citizen.
LUKS-encrypted root on ZFS does not take hours. I chose encryption when I installed the OS.
When You make research how to make it for the first time - it can - if you want to check at least several different guides ... but that covers only the encryption part.
There is also the ZFSBootMenu part ...
If you have done this at least once - noted the commands, etc. - it will take shorter - but never shorter then FreeBSD 'Auto (ZFS)' option in the bsdinstall(8) installer where you just select the disk on which it needs to happen and hit [ENTER] key.
> … if you want to check at least several different guides ... but that covers only the encryption part. …
Reminder: I neither want, nor need, to check several different guides that cover only the encryption part.
I was talking about the ZFSBootMenu part - the encryption part is easy.
OK, that's clearer.
In any case, I'll take additional advice; it's impossible to trust apparently authoritative statements from you.
Funny because the only person they do not work for is you ... you seem to be very special.
I have not yet needed a ZFS boot environment.
I'm considering alternatives. Not ZFSBootMenu in isolation. I'm in no rush.
Anecdotally speaking, in terms of battery life, BSDs (+macOS) > Windows > Linux.
Linux does not play nice with batteries.
That's not my experience at all. Macs are great on battery, but BSDs are not, they are by far the worst. Linux usually does ok, often better than windows, at least once properly set up. I only run BSD on my "never leave home/stay tethered" laptops because they only get 3-4 hours where Linux will get 8-12.
I suspect it has improved. I'm getting 8 hours out of my 5 year old T480s and I recall getting 4 hours or so when I bought it.
With which battery? Cause on my T480 with FreeBSD I can ramp it to about 14 hours.
Recently installed this one
https://www.ifixit.com/products/lenovo-thinkpad-t480s-batter...
Does the T480 have that much better battery? Maybe I'm doing something wrong haha.
That is the internal battery. Yeah, the T480 has two. An internal and a swappable. In total 96Wh.
Why could that be? Maybe the Linux distro you choose was too bloated and caused battery drain?
Because of no proper battery management, which was only recently merged.
It seems like the 6.16 and 6.17 kernels should allow for some pretty good improvements on battery and sleep mgt across more hardware from what I understand.
"CURRENT" is scheduled become 15.0 by the end of the year:
* https://www.freebsd.org/releases/15.0R/schedule/
* https://www.freebsd.org/releases/15.0R/
Technically it's already 15.0, but 15.0-CURRENT is scheduled to branch off 15.0-STABLE, which then branches off 15.0-RELEASE.
Earlier I used FreeBSD on ThinkPad W520 (because keyboard):
- https://vermaden.wordpress.com/2022/04/14/freebsd-13-1-on-th...
.. and recently moved to FrankenPad T25 that is based on T480 (because keyboard):
- https://vermaden.wordpress.com/2025/06/26/freebsd-14-3-on-fr...
I do everything on FreeBSD including work.
Some of the topics I covered:
- Unlock Laptop with Phone
- Conferencing and Meetings
- Netflix Signal Telegram
- Network Management with network.sh
- FreeBSD Power Management
- FreeBSD Suspend/Resume
- Oldschool Gaming on FreeBSD
- Minecraft Server in FreeBSD Jails Container
- Secure Containerized Browser
- Print on FreeBSD
- Scan on FreeBSD
- Sensible Firefox Setup
- Operate Android Device on FreeBSD
- FreeBSD Alongside Windows
To just name a few ... because I am slowly closing to 200 of these FreeBSD related articles.
Regards, vermaden> FrankenPad T25
TIL. It looks really nice!
Thanks. Its basically ThinkPad T480 with just ThinkPad T25 Palm Rest and Keyboard ... the problem is that Lenovo only made 5000 of these ThinkPad T25 ... and now all the ANSI US keyboards are GONE.
I also have the original ThinkPad T25 ... but its I just passed 2 years time of searching for ANSI US keyboard for it ... they are just like ghosts.
> Operate Android Device on FreeBSD
Can you clarify by what this means? Does that mean running Android in an emulator or something else? Thanks
All the details are here:
- https://vermaden.wordpress.com/2024/10/29/operate-android-de...
Awesome thanks!
Your blog was super helpful getting my machine set up, thanks!
Thanks.
https://freebsdfoundation.org/blog/software-bill-of-material...
s0ix is another great example that the world, or a bit more precisely, "general purpose hardware", has been going to absolute fucking shit.
Who the hell needs this crap? S3 used to be just perfect.
https://en.wikipedia.org/wiki/InstantGo
> [...] a Microsoft specification for Windows 8 (and later) hardware and software that aims to bring smartphone-type power management capabilities to the PC platform [...] allows the operating system to continue performing background tasks, such as updating content from apps, when a device is not being used [...]
We've all needed this like a big fucking kick in the groin. "Modern standby" my ass.
Microsoft has great firmware engineers, but the functionality they design, and then mandate, so that Windows can have its rotten tentacles into the guts of the firmware, is absolutely disgusting. Technically well implemented, but the goal is usually terrible.
They're of course trying to match Apple, except Apple has 100% vertical integration, from CPU cores to apps.
This is the real challenge with "general purpose hardware". A good product is distinguished by attention to detail.
Yep. The 's0ix' is bullshit. S3 suspend/resume worked just fine.
... but in the end of the day what more can You do?
I would say 'vote with your wallet' ... but that also does not work anymore.
Take a look at laptop keyboard layouts [1] ... does not matter if MNT, Framework, KDE, ThinkPad, ... whatever - does not matter - NO ONE make 7-row keyboards in laptops anymore ... we are fucked :[
[1] https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops...
> 's0ix' is bullshit.
False. S0iX is not bullshit.
> S3 suspend/resume worked just fine.
Not for me.
Does anyone know if there's been any efforts towards running freeBSD on arm64 laptops?
On Linux there's been some effort:
https://www.linaro.org/blog/linux-on-snapdragon-x-elite/
Ed: hn discussion: https://news.ycombinator.com/item?id=44699393
The GPU drivers for Snapdragon are GPL 2.0 only, makes it hard to use in FreeBSD. The drivers for GPUs used in X86 systems are dual licenced so can be used outside Linux.
Side note: I wasn't aware that the title here was truncated. Sorry. It should have been:
Laptop Support and Usability (LSU): July 2025 report from the FreeBSD Foundation
I have been how very surprised how well supported FreeBSD has been on my MSI Modern laptop.
zfs and boot encryption make it perfect.
I'm currently running FreeBSD on a gen3 Intel T14. It's been excellent so far, however one minor annoyance has been S3 suspend/resume. Well, suspend works fine, but resuming triggers a restart. I'm hoping the recent S0ix work might fix that.
Which version of FreeBSD, exactly?
freebsd-version -kru ; uname -aKU
pkg repos -el | sort -f
pkg repos -e | grep url
I'm not familiar with the meaning of T14, sorry.
Does the Wi-Fi hardware use iwlwifi(4)?
A kernel panic when waking from sleep might relate to the graphics driver.
> I'm not familiar with the meaning of T14, sorry.
They probably are telling you the model of laptop; ThinkPad T14
EDIT: just started reading Ch. 10 on Kernel Debugging[1], will try some things and see if I can extract any useful information. The handbook is so great.
[1] https://docs.freebsd.org/en/books/developers-handbook/kernel...
Thanks.
I have a vague sense that kernel panics with iwlwifi should have been resolved before 14.3-RELEASE. Bugzilla should be fairly close to definitive, expect info to be copious but well-organised.
Alder Lake-P GT2 [Iris Xe Graphics], it's harder to find information.
I spent around a year trying to pinpoint the cause(s) of apparently random failures with different (older) hardware. After switching to Kubuntu on the same hardware, I suspect that the issue with FreeBSD was ACPI-related.
If you have crash files from kernel panics: it should be possible to identify, but not necessarily solve, a problem.
Yeah to your point earlier a graphics driver issue seems a likely suspect, still haven't found any evidence yet though. Will keep looking.
I could do FreeBSD on my laptop I think. I don't play games, and I've been wanting to play around with kqueue.
Is it sort of like OpenBSD? I liked their manpages and their built in server thing (httpd). or is it completely different...
Traditionally, most FreeBSD developers would actually run OS X on their laptops, whereas most OpenBSD developers would still use OpenBSD even on laptops.
This was especially notable at BSD-wide events like BSDCan, AsiaBSDCon, EuroBSDCon etc.
OpenBSD supports suspend to disk, whereas FreeBSD does not. (Is this being changed as part of this laptop project?)
OpenBSD has always supported graphics, sound and other desktop things in the default kernel, without having to tinker with kernel config or loadable kernel modules. FreeBSD? http://cr.yp.to/unix/feedme.html
Also, on OpenBSD, the basic X is part of the base system, in the xenocara repository, and it basically just works, straight from the default installer:
https://xenocara.org/
https://en.wikipedia.org/wiki/Xenocara
OpenBSD actually does NOT support loadable kernel modules at all, and you're strongly discouraged from running a customer kernel, too. This has a side effect that both graphics and sound works out of the box, since deviation from defaults is discouraged, and if it didn't work by default, it'd not be recommended in the first place.
On FreeBSD, even the most basic X stuff is part of the Ports tree, which basically implies that most installations wouldn't have it, and it's often far less integrated, and requires way more tinkering, than xenocara on OpenBSD. For example, when you know most of your installations wouldn't have X, would you have graphics and sound support in the default kernel, or would that require further tinkering of the kernel config and/or LKM?
(On both systems, you still install KDE and GNOME from ports/packages, if needed, it's only the lightweight basic X and WM stuff that's part of OpenBSD base xenocara.)
So, even though FreeBSD is faster and more popular in many ways, to most people's surprise, OpenBSD actually has better laptop support.
Traditionally, most FreeBSD developers would actually run OS X on their laptops
That was definitely true five years ago. At this year's FreeBSD developer summit in Ottawa I saw more Framework laptops than Apple laptops.
Thanks for helping people to lose their preconceptions. New truths are good …
This is very helpful information, thank you!
One big difference is OpenBSD is easier.
For example, I installed FreeBSD on an old laptop and had to fiddle with building Xorg to get a GUI. Same laptop on OpenBSD just worked after running the installer.
Yup, that's because X is part of OpenBSD base system, called xenocara, whereas in FreeBSD, you have to use the Ports tree to install Xorg.
Ports tree in general is a great way to install third-party software, but not necessarily for Xorg.
You still install KDE or GNOME through ports/packages on both systems, but X being more tightly integrated with the base system has benefits in reducing complexity for the rest of the components.
is FreeBSD any worse than a minimalist linux distro like Arch in this regard?
https://wiki.archlinux.org/title/Arch_compared_to_other_dist... exists, but probably does not answer your question.
For Arch users of KDE Plasma and applications, are essential packages ever missing? <https://wiki.archlinux.org/title/KDE#Installation>
From https://gist.github.com/grahamperrin/307b8cdef5d4dcd30f5fdc4... for FreeBSD:
> It's not unusual for a Tier 1 platform to have no package for a wanted desktop environment. Two platforms are at this tier: …
For example, kde for FreeBSD 15.0-CURRENT was recently missing for a few days for AMD64; is still missing for aarch64 (64-bit ARMv8).
This is not to criticise the maintainers of packages or repos. I do understand the constraints.
The absence of an essential meta package is, inescapably, an impedance when aiming to test installers and upgrades, especially with pkgbase.
FreeBSD cares about POSIX and traditional BSD compatibility more than OpenBSD does, so it'll run more software than OpenBSD can. That can be an upside or a downside depending on your point of view - when OpenBSD breaks POSIX they do it for a reason.
Man pages are just as good, and the Manual is a bit more comprehensive.
Can you name specific instances where OpenBSD broke POSIX?
Whichever man page I read, they always cite specific standards. They also tend to follow the de facto standards, judging by the breadth of software in their ports tree (which more often than not, is actually full of Linuxisms).
It's not horribly common. If POSIX mandates something insecure, OpenBSD will often break POSIX in favor of security.
The simplest example is gets(3) doesn't exist in libc. rand(3) and family aren't deterministic (srand_deterministic(3) gives you that, but it's OpenBSD-specific). There are others, but it's not something I think about a lot so I can't think of them off the top of my head.
If you're genuinely interested I'd recommend asking over at DaemonForums. I'm sure someone has compiled a list somewhere.
You're correct. However those sound like perfectly reasonable changes to me. gets(3) is a horrible API.
As defined by POSIX.1-2001:
> If a read error occurs, the error indicator for the stream shall be set, gets() shall return a null pointer, and set errno to indicate the error.
IMHO the least-unreasonable thing to do is to behave exactly as if a read error occurred, but programs that do use gets(3) are unlikely to check for errno anyway.
> The rand() function shall return the next pseudo-random number in the sequence.
<https://pubs.opengroup.org/onlinepubs/007904875/download/> susv3/functions/rand.html
The spec does not say what the sequence should look like, other than it's pseudorandom, so the exact sequence is implementation-dependent. You can't use it to e.g. seed a test run, a terrain generator, etc - and expect repeatable results across platforms, releases. (And I honestly can't think of another reasonable use case for deterministic output.) IMHO at that point you should define your own PRNG, it's about 8 lines of C.
But you're obviously correct, these are deviations.
The rand(3) thing isn't about repeatability across implementations. Normally if you call srand(3) with the same seed, you get the same sequence of numbers from rand(3). It's useful for testing and debugging. OpenBSD ignores srand(3) altogether. The reasoning is that there are enough cases of people improperly seeding the PRNG that it's worth breaking POSIX to mitigate possible vulnerabilities.
I personally don't have an issue with their choices - they're completely in line with OpenBSD's mission of producing a secure OS. I'd be less pleased to see that sort of thing in other systems like NetBSD, though.
Man pages are close enough to OpenBSD. Httpd is there, but renamed to obhttpd. There are some differences between PF and relayd for example, but not too difficult to switch.