FreeBSD on the Framework Laptop

Hello everyone

Has any run into installing FreeBSD 14 or 15 on AMD version of framework? When I run the installer its hangs after the install selection is pick and during loading the kernel

Hey all,

It’s been a while since I’ve made an update on FreeBSD on the Framework Laptop. I updated the whole page with new status and information. The good news is that FreeBSD works pretty much “perfectly” on this machine. FreeBSD does have a limited 802.11 b/g stack which limits wifi performance, but the iwlwifi driver has significantly improved and so it doesn’t crash the system much anymore. Although resuming from sleep may still cause crashes or the network interface won’t work anymore (you can try restarting the netif/routing services). If not, a reboot should fix it. FreeBSD also still has a limited XHCI/Thunderbolt driver which means that all of the Type C ports will be limited in some way, this can affect I/O performance. Besides these things, everything else is working and can now be a solid daily driver for most things.

The bad news was that all these years I had a faulty mainboard which caused me many years of issues with the USB ports (and possibly other parts of the system). I ordered a new mainboard from the Framework Marketplace, relatively easily replaced my old board, and I was back up and running with all of my ports working again. All of the USB devices lit back up with life, and all was good. I thought it was that FreeBSD just didn’t support that piece of hardware, but it was actually a hardware issue. I’m currently in contact with Framework debugging the older board, although since it’s out of warranty, I may just donate the mainboard “in the name of framework science”. I believe the mission is still moving in the right direction and a successful one at that.

You can visit the blog for more info. I’ll paste here for easier access since this thread has gotten relatively long :).

FreeBSD on the Framework Laptop

1 Like

I run FreeBSD 15 on my AMD framework 13 laptop, though admittedly I didn’t go through the installer so I don’t know if that would freeze. I installed FreeBSD by manually creating a zpool and the relevant ZFS dataset(s), temporarily mounting it at /mnt then:

# cat base.txz | tar --unlink -xpf - -C /mnt
# cat kernel.txz | tar --unlink -xpf - -C /mnt

then manually wrote /etc/rc.conf, /etc/sysctl.conf, /boot/loader.conf, /etc/fstab, /etc/wpa_supplicant.conf (all of these under /mnt).

Thing Works? Notes
Sway (wayland) :white_check_mark:
Vulkan backend for sway :white_check_mark:
Video-out to my usb type-c dock :x:
touchpad :white_check_mark:
wifi (both ath9k and iwlwifi) :white_check_mark:
changing brightness with backlight :white_check_mark:
Sleep :x:
hwpstate :x: dev.cpu.0.freq is always 3300 despite the hwpstate support being detected
3 Likes

Thank you for the update!

  1. Do you by any chance use (or have tested) apps such as Zoom, Dropbox and Discord?
  2. I see you’ve posted screenshots of i3 on the blog, do you by any chance know if Wayland works well on FreeBSD. I know Hikari is FreeBSD first for example.
  3. I’ve become fairly used to BTRFS now. Is ZFS preferred over BTRFS in FreeBSD?
  4. The quirks link on your blog post took me over to ⚙ D44861 Initial cut at Intel AX210 bluetooth support, where people have success with Bluetooth headphones. Does it still not work for you?

Hey @5uie1,

  1. I don’t use any of those apps. I normally self host and I deleted my Discord account many years ago.

  2. Yup Wayland works well on FreeBSD but I’ve only used it with sway. You can see some of my older screenshots on FreeBSD which includes some sway screenshots: Index of /freebsd/images

  3. I’m a huge OpenZFS fan and have been using it since around 2012-2013, so I’m not the most unbiased person in this regard. I also use to be one of the OpenZFS maintainers on Gentoo Linux back when I used Linux, and the creator of the bliss-initramfs application which allowed people to boot their Linux rootfs from OpenZFS back in that 2012 period years before many other distros had proper support). I’ve left Linux a while ago for FreeBSD. Since FreeBSD isn’t Linux, we don’t have btrfs. However OpenZFS has about 20 years of development at this point and is rock solid so I would only recommend critical data to be stored on OpenZFS. I’m sure btrfs has gotten better over the years but yeah… In addition, OpenZFS is merged directly into the FreeBSD kernel and there is close collaboration between some FreeBSD developers and OpenZFS developers IIRC.

  4. I would need to give the Bluetooth stack in FreeBSD another try and see what happens. I’ll let you know whenever I get a chance for that.

Jonathan

1 Like

For those who are trying to boot FreeBSD on Framework 13 AMD, here are some things I’ve found:

Freeze during boot

It was noted that the CPU reports incorrect information about UART hardware on R7840U, including Framework 13 and some other laptops from HP. It causes the kernel to initialize nonexistent UART devices, hanging the boot process. Disabling UART by device hint should bypass this:

# Boot loader prompt
set hint.uart.0.disabled=1
set hint.uart.1.disabled=1

RZ616 driver is not available

Basically, MediaTek wireless cards are not supported. The Ethernet expansion card seems to work, and you can also use USB tethering feature of you phone to access the internet, though. You can wait for the MediaTek support, or you can check out wifibox. Either way, you will have to sacrifice bluetooth.

Note that wifibox did not work very well for me, as bhyve couldn’t passthrough the wireless card somehow. I’m thinking of buying a brand new AX210 card and try again.

I have a couple questions for @fearedbliss, though.

  1. How does power consumption look on your Intel Framework laptop right now?
  2. Has the Wi-Fi driver improved in speed since the last time you posted?

My last attempt failed miserably as I needed a working laptop ASAP, and ended up reverting back to Void Linux. I will definitely try this again, though.

1 Like

Hey @rangho,

  1. My laptop is usually plugged in and used more as a portable workstation. So electricity isn’t usually a concern. However, the battery will probably last 4-5 hours depending what I’m doing. I was able to use it for coding for basically an entire 4-6 hour flight.

If you leave the computer unplugged on idle, it will probably die in like 4-5 hours as well. Putting the computer to sleep helps but if you leave it sleeping for a full 24 hours, the battery should be dead (or almost dead). This is a problem on Linux as well even if you switch it to deep sleep state. There are also issues that can occur when resuming from sleep. Resume from sleep has improved in FreeBSD over the past two years but there is still room for improvement.

  1. Wireless has also improved as well and I don’t really experience any crashes when resuming from sleep with the AX210. However performance is still an issue, and resuming from sleep with this driver enabled may yield a non working network connection. I would need to reboot to get the card working. Usually I’m plugged into Ethernet using the ethernet expansion card, and I keep the if_iwlwifi module blacklisted. I’ll manually load the driver and change my /etc/rc.conf information to use the wireless card instead (if I need to use the machine in a wireless state).

Remember this is Gen 1, Batch 6. So it’s 11th gen Intel and basically the oldest framework laptop. This is one of the main reasons I also haven’t bought a new framework laptop, since I don’t want to regress in FreeBSD hardware support. For the first few years I was experiencing a lot of hardware issues and I thought it was lack of FreeBSD support, in reality I had a faulty mainboard. Unfortunately framework didn’t give me a refund or covered any cost for my replacement mainboard so I had to pay out of pocket. After I replaced the mainboard, most of my hardware started working again and FreeBSD had been pretty smooth. I have heard that the FreeBSD foundation and Framework are in communication. So hopefully if we get a FreeBSD framework laptop with more official hardware support, I would be open to upgrading to a newer generation. But until then Im staying on this model. I do want to say that the laptop has been really nice though despite the issues so that’s another reason why I haven’t moved off. The modularity and repairability characteristics are still there, and that says something.

Thanks for your detailed post. My laptop is also usually plugged in, but it is still part of my everyday carry…

I guess I’ll give FreeBSD a good year or so before starting fiddling with it again, considering my hardware is just so new (R7840U).

Definitely agreed. Now that I think about it, I’m super grateful that I can consider swapping wireless card to circumvent the issue in the first place. For other laptops, I’d be out of option from the start!

3 Likes

I don’t know of anyone porting the important drivers to freebsd such as the USB 4 connection manager or amd-pmf or amd-pmc drivers.

These are both gpl drivers. You’ll need both of those for good power management.

I see.

I wonder if they can be ported as a separate package just like some LinuxKPI drivers. By separating them into a separate package, I reckon you can contain the effect of GPL to that single package?

No idea. Just wanted to give you the hint those are the big ones needed.

1 Like

I posted my recent laptop upgrades on my blog and also documented me encountering the infamous Intel 400 Mhz Slowness bug. I also left a comment here.

Some really good news from the FreeBSD Foundation !

8 Likes

Niiiiiceeee! Let’s goo! I’m very excited about this news. Thanks for sharing.

1 Like

…oh the day when I’ll be rich enough, or know enough, to help them out…

Hello all,

I’ve upgraded from the 11th Gen Intel Core i7-1185G7 to the AMD Ryzen 7 7840U. Many core components on this Mainboard are not supported by FreeBSD, so I’ve decided to switch the OS on this particular machine. This concludes my updates for my FreeBSD on the Framework Laptop page.

The following Framework’s repository about “FreeBSD on Framework” was mentioned at this Reddit thread. I am not sure what the “roles” and the YAML files man in the repository. I updated the first comment on this thread.

1 Like

“Roles” are a concept in ansible (software). You can “apply” them to your machine to avoid manual configuration.

1 Like

Thank you! I learned from you. It’s interesting to see that Framework is creating software-based installation scripts for FreeBSD.

1 Like

Thanks for the update @junaruga. I’m very happy to see all of this development for FreeBSD + Framework Laptop, and also to see this:

Framework 13 AMD 7040 Series Working with DRM 6.2 (FreeBSD 14.2)

I may need to try and get FreeBSD 14.2 running on this laptop and see what happens, I would be happy to switch back to running FreeBSD as my primary OS on this laptop.

1 Like