[RESPONDED] FreeBSD 15-CURRENT on the Framework 16

For when my batch 1 order ships after the New Year holidays, so stay tuned. :smiley:

So far, it looks like the AMD 780m gpu needs the graphics/drm-61-kmod driver port, which is only supported in 15 CURRENT for the time being. Hopefully something gets back ported into 14, but until then, if you want a GUI you’ll need to run the latest development branch.

Any other batch 1 folks get theirs yet and have experience with FreeBSD on it?

1 Like

I don’t have any experience whatsoever with FreeBSD but I do want to share some comments that I think will be helpful for you related to other areas.

  1. Suspend to Idle on AMD platforms requires the code executed by the amd-pmc driver to run at suspend time to work properly. If no one has ported that code from Linux don’t expect suspend to work.
  2. Usb4 controllers don’t start in a low power state. If you don’t have a USB4 driver expect high runtime power consumption.
  3. The touchpad is driven by i2c. You’ll need a GPIO controller driver for supporting the touchpad attention interrupt and also an i2c hid driver to support movement.
  4. Without the AMD pmf driver the only thing that influences CPU coefficients in the EC will be power adapter sizes. You can’t change at runtime like you could with PPD in Linux.
3 Likes

Good to know, thanks!

I already am pretty sure that there are no USB4 drivers for FreeBSD. The ports can be turned off if power drain is an issue, but that completely disables the port at the same time. Putting them in a low power state sounds like an area to look in to, or at least raise to the mailing lists.

The framework 13 mostly works, including the touchpad. Is the touchpad on the 16 different?

AMD PMF might be an issue. There are ways of running (some) Linux drivers in FreeBSD, that’s actually how the graphics drivers work. They’re the Linux drivers. I wonder if PMF can operate similarly? Either way, it’s all an experiment and an avenue for learning, and I hope to document what I find, including solutions if I find them. :slight_smile:

I am only partially in the loop as this is largely a FreeBSD effort, however.

https://twitter.com/freebsdfndation/status/1754974070972575920

So it is happening, but it will be a process between our engineers and the FreeBSD folks who will be tackling this. I am read-only so to speak in this effort as I am not someone with much FreeBSD experience.

Also Mario’s insights are important here.

3 Likes

I understand that FreeBSD, or any BSD, is not officially supported, so I’m not looking to start a thread for any kind of official support. :slight_smile:

So if this thread needs to be moved, please feel free to move it to another area you think is more appropriate.

I merely want to try it out and see what works, what doesn’t, and report on it. I like tinkering, and am willing to beta and alpha test. I’m also installing Fedora, so I’m not going completely off on my own.

It’s good that something more is happening in the background wrt some actual real development and support on FreeBSD.

3 Likes

I got mine this morning and tried to load the current 14.0 RELEASE version. It makes it to the Install FREEBSD screen, I selected the Verbose Boot option, and it makes it to “ppc0 failed to probe at irq7 on isa0” and freezes. As a note, you have to turn off the Secure Boot in the BIOS or it will not even try to boot.

Edit: to be clear, this is not a request for help/support, it is just a comment on the current state.

Appreciate the clarification. I suspect the FreeBSD team will have their own support forums and whatnot happening as development continues.

So, using CURRENT and FFS, it’s mostly kinda worked… current issues:

  • X11 sometimes works perfectly, sometimes hard hangs the system.
  • After a forced power-off, the system powers back on, then shuts itself off again (fsck happens when I power it on again)

Happy news:

  • Touchpad works fine.
  • powerd appears to be working at least partially… dev.cpu.0.freq is varying, and different C-states are used.
  • webcam works with multimedia/webcamd

Changes I made so far:

  • When installing with 14.0-RELEASE, I had to disable UARTs at loader prompt and add hint.uart.0.disabled=1 and hint.uart.1.disabled=1 to /boot/device.hints.
  • To get audio output working, I had to tweak the nids in /boot/device.hints and add hint.hdaa.1.nid20.config="seq=2"
  • To allow C2 and C3, I set dev.cpu.X.cx_lowest=C3 in /etc/sysctl.conf for all CPUs (0 to 15).
  • To map the microphone to mic input instead of monitor input, I added hint.hdaa.1.nid18.config="conn=Jack" to /boot/device.hints

If I set nid23 to seq 2, audio was much quieter and tinny… I may try it as seq 1 at some point. I assume that nid23 is the bass and nid20 is the highs… but it seems snd_hda won’t allow you to put the same output to multiple nids.

For graphics, I get hard hangs sometimes with X11, but Wayland seems to work well, so now I’m setting up my first Wayland FreeBSD system.

For Bluetooth and WiFi, I picked up a cheap AX210 card from Amazon, which works with iwlwifi, and hacked together this patch that makes Bluetooth work with it.

2 Likes