FreeBSD on the Framework Laptop

@5uie1 There is no Bluetooth support implemented for this laptop. I also retested it again to see what modules load and it still loads the incorrect one (ng_ubt). If I block it from loading and boot and try to load (ng_ubt_intel) directly, it still loads ng_ubt (and ng_hci, ng_bluetooth):

/etc/rc.conf contains: devmatch_blocklist="ng_ubt"

root@leslie:~ # kldstat | grep ng
root@leslie:~ # kldload ng_ubt_intel
root@leslie:~ # kldstat | grep ng
32    1 0xffffffff83ba5000     4d00 ng_ubt.ko
34    2 0xffffffff83bb5000     a238 ng_hci.ko
35    2 0xffffffff83bc0000     25a8 ng_bluetooth.ko

Nothing new is revealed when doing dmesg and I donā€™t see a ubt0 device (or any other) listed in /var/log/messages. Iā€™m on stable/13-n252953-af3ccd7b6d4.

1 Like

@fearedbliss Thank you! I guess I will have to wait it out then.


Hello everyone !
Has anyone tried to install FreeBSD on the AMD framework laptop 13 ?
The Installation media stuck at boot (see picture) and I was wondering what I can do as workaround in order to get FreeBSD installed on the machine.

Edit: Iā€™m on the latest bios 3.03

3 Likes

Hey @RemiG I did some poking around & got it to work (at least boot) on mine. I am having a graphics issue with drivers I think (X wonā€™t connect) but it did go through the base install

Post in thread ā€˜Frame.work laptopā€™ Frame.work laptop | Page 2 | The FreeBSD Forums

For the graphics info:
It is the integrated graphics for the new AMD 7840U.

AMD Radeonā„¢ 780M
https://www.amd.com/en/product/13186

1 Like

Thanks for the reply !
I will read the posts and try it again tomorrow. Canā€™t wait to get it working :smiley:

1 Like

Good news for FreeBSD users!

4 Likes

I saw that!

Iā€™m looking forward to putting FreeBSD on my 16 when I get it. I have a 1 TB nvme drive and a 1 TB expansion module.

I havenā€™t decided yet on whether Iā€™ll install FreeBSD on the internal drive or the expansion module, with Fedora being on the other. Or partition the nvme for both and use the expansion to share data between them using zfs.

It depends on how well FreeBSD runs out of the box. I plan on documenting any issues and helping resolve them if I can, but if there are more than I care for on a new $2500 machine, I might spend more time in Fedora while those get worked out in FreeBSD. I already know the WiFi might be problematic, but thatā€™s easy enough to work around with a USB adapter, or the new Wifibox setup. But most of the rest looks like it might work. Weā€™ll see about the amdgpu video drivers as well on this new hardware.

1 Like

Might be better to get the a M.2 2230 SSD no? Less Idle power drain most likely!
Best of luck setting it all up!

2 Likes

Thanks!

Yeah, a 2230 is probably ideal. When I ordered the expansion card my thought process was actually to put Tails or Qubes on it and have a removable security oriented OS, like a live USB but faster. But for the cost, Iā€™m not ready to drop money on a 2230 yet, so Iā€™ll use the expansion card for more regular dual booting at first.

Edit to add: As for the wireless card, I ordered an Atheros PCIe from thinkpenguin: Wireless N Dual Band M.2 NGFF Combo Card (TPE-M2NCRD) | ThinkPenguin.com

Itā€™ll be nice when the iwlwifi supports full wifi6. For now Iā€™m going to put that 802.11n chip in.

1 Like

Amazing !

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?