I've never had an up to date laptop once in life, so always speak for myself. My most recent laptop is dated 2011, and this results in all of my hardware being supported, Broadcom wireless excluded, whose ndis driver I learnt to deal with. If trying to get BSD on laptop, being open to try other BSD Unix OSs is a good idea. With my first laptop Celeron's integrated GPU had problems getting along with i915 and xf86-video-intel (had gone with scfb meanwhile, and stayed with it for years). I looked up on google, and found my graphics were reported and confirmed working on DragonflyBSD. I installed Dragonfly, and justhappily lived with it. On second laptop wifi, bluetooth, suspending (with sone struggle), printers, special function keys, webcam, power management, are all well working on STABLE. For Intel graphics later than Haswell, OpenBSD and Dragonfly are a very good choice. I tested both on Kabylake for fun and they perform flawlessly, graphics are detected immediately, wothout any need for further effort..
As for Haswell, I'm honestly sorry scottro had no luck with it. Based on my experience, I believed haswell support to be better: I can speak for the Haswell 2013 Macbook Air (which unfortunately doesn't belong to me), on which i915kms and
x11/xf86-video-intel seem to work perfectly, as well as touchpad (the latter only after 2 days of failed attempts though).
I have only a modern desktop I built recently, designed to work with Linux (I didn't think of first of putting any BSD on it at first). Anyway, I found myself discovering that a 2017 mobo with a Kaby Lake CPU, dedicated sound card (Desktop is music playing-oriented), M.2 SATA SSD, GTX 1060 6Gb were all well supported.
I had put an Asus PCIe Wireless Card inside of it, based on a Realtek chipset: FreeBSD 11 didn't recognize it, but I saw that chipset's support had been hadded on 12 CURRENT, so took the
new rtwn driver from github and successfully connected to wi-fi.
I saw several guys reporting recent AMD Radeons working well on CURRENT with Wayland, using drm-next-kmod.
To sum up, I think BSD support for common laptop's hardware is not even nearly as good as Linux, still it's not that bad, and it's definitely good on relatively old hardware (like the 2013 Macbook). See also
Trihexagonal posts, who seems in charge of opening a Thinkpads' stockhouse. He appears being very satisfied and enthusiastic of his experience with BSD on laptop. The lesson to learn here is that, unless you need very powerful hardware for working purposes, just get a 4-5 years old laptop and put BSD on it.
In order to have BSD on laptop (here excluding the rather advisable option of buying supported hardware):
- be open to "distro-hop" and try different BSDs
- be ready to go with CURRENT or TrueOS if presented with recent hardware
- be eager to use binary blobs (really, there other great ways of supporting FOSS. If our goal is BSD on laptop we cannot afford being choosy. What about wifi firmware there? Drop all wifi dobgles running with urtwn and closed-source firmware? No definitely to avoid being that purist if dealing with laptops, though you can try
LibertyBSD.
As a side note, NetBSD CURRENT has nouveau implemented in kernel, and enabled by default:
https://nouveau.freedesktop.org/wiki/NetBSD/, tested it to on laptop and works well. Bear in mind though that, as for Linux, starting with Pascal generation, nouveau won't work (and rather cause a kernel panic), AFAIK due to the hardcoded firmware. Unlike AMD nvidia has never encouraged or supported the developement of open-source drivers. Nouveau is completely reverse-engineered and the result of this are for me pretty evident: performance is disappointing,and I have an inkling the project is going to die out soon.
- be prone to use
SCFB framebuffer driver
- don't let ourselves been left down by a not recognized wifi NIC. See if it works on any other BSD first, see if it works on CURRENT. Only then, if it doesn't just buy a micro/nano wifi dongle. I mean they are less than 10$ worth, 3x10 mm large (external head), and work out of the box.
- BSD on ARM (even aarch64) is good, and in my opinion it's keeping up with Linux. Can't run BSD laptop? Wan't FOSS hardware/software? Buy a BeagleBone Black and put BSD on it.
Finally, we can't just put FreeBSD on laptop and expect it to work immediately as well as we whished, and without personal work: efforts to develop FreeBSD are not and will never be directed towards desktop usage, laptops in particular