proj-laptop

FreeBSD Foundation Laptop Update - July 2026

NOTE: For more details on any item, please visit the GitHub links provided, these contain more detail and links to relevant materials such as code commits.

Completed in July

Power

Power consumption management tooling

The work on porting Perfetto to FreeBSD is complete and it is now available in the Ports tree. Perfetto is helpful because it allows you to see what is using most power on your laptop. It currently has a small set of integrations to let it monitor some key systems, but more can be added over time by the community or future funded development.

Note: The work on Perfetto is only part of what is covered in this GH issue (we should have made it a sub-issue), so the parent issue will be kept open.

GitHub issue #6

Hardware

Make Airplane Button work

In collaboration with Framework, a driver has been added to provide support for HID wireless radio control buttons which are most often found as an airplane mode or RFKILL toggle on laptop keyboards.

GitHub issue #116

In Review

Power

S0i3 Modern Standby

Work continues on addressing critical bugs/blockers to functioning suspend and resume on the reference platform (AMD Framework Laptop). The main focus in July has been on getting more lines of enquiry for debugging ongoing problems with the system freezing due to NVMe not resuming from suspend.

Ongoing investigations include: comparing the FreeBSD implementation with the Linux implementation to identify differences that might give us clues as to why it’s not working;differential testing with other hardware stacks and; getting a system running with mdroot, so we can try suspend and resume without NVMe.

GitHub issue #32

Debugging tools for low power states

No change since last month - there are two reviews still open. The original developer left the project, and the reviews are in a backlog of things that we need to follow up. (I.e. these are important but not urgent, it’s not blocking current work.) The Foundation has no further planned development on this after this change lands.

GitHub issue #38

USB4 HCM for power management

This work allows for USB4/Thunderbolt port to be placed into a low power state. NOTE: This is a dependency for the S0ix state work.

GitHub issue #61

Graphics

Port of the Linux 6.13 Graphics Drivers

Development work on porting the Linux DRM 6.13 graphics driver is complete and has been submitted for review. The changes to the kernel (linuxkpi) are also in review. This is the first step towards reaching 6.18 which is the next long term support version above 6.12.

GitHub issue #101

In Progress

Hardware

GPIO interrupts for low-latency touchpad use

This issue captures some work done at the Halifax Hackathon which addresses the need to improve touchpad performance for some I2C laptop touchpads. A little cleanup on the solution has been done in July.

GitHub issue #119

Bring in camera code donation from Dell

A native uvideo(4) driver (developed independently, not sponsored by this project) has been merged into FreeBSD main. This is a good base for us to build on, so we have adjusted the approach: use main as the only baseline, and bring in the donated work as smaller, independently reviewable patches on top of it, instead of maintaining a parallel implementation. We evaluated this and believe it is a better way than the original plan. Work has started on this new approach.

GitHub issue #39

HDMI support

Testing and documentation continues.

GitHub issue #27

Power

8 hour working time

GitHub Parent issue #6 - for subissues read on:

High performance from laptops with heterogeneous cores

Development continued on a new interface for hardware feedback data and driver improvements for Intel’s thermal/HFI systems. Fundamental design questions about interfaces and structure are still being worked through.

GitHub sub-issue #22

AMD processors’ Collaborative Processor Performance Control (CPPC) support

Work progressed on power-management improvements for Intel and AMD CPUs, including more reliable handling of hardware register errors, better defaults on startup, and code cleanup to reduce duplication between drivers. A new shared helper for identifying CPUs was added and adopted across both platforms, alongside ongoing review of related patches from other contributors.

GitHub sub-issue #108

Hibernate (S4)

Current focus is on exploring options to save a consistent image of the machine state on hibernate. There are two main options being investigated: 1) Using the dumping mechanism already present for debugging by capturing state when kernel panics occur, or 2) Using a snapshot-based mechanism.

GitHub issue #29

Wi-Fi

Native net80211 updates as needed to support newer 802.11 standards

Work was started in February to discover which ports were using net80211 ioctl interface (a key component for native Wi-Fi support which, if updated to use newer Wi-Fi standards, could cause bugs/regressions in functionality for the ports that use it). These ports need to be updated to use lib80211 instead which should hopefully give us more flexibility to change things under the hood without breaking the user space applications all the time.

We are now in the process of working with Ports maintainers to move across to using lib80211.

GitHub issue #79

Support for MediaTek Wi-Fi cards

The work is now available for community testing. Two of the three cards are included in this (includes mt7920 and mt7922 - aka AMD RZ616; does NOT include mt7925).

Call for testing MediaTek Wi-Fi cards

GitHub issue #66

Support for Realtek Wi-Fi cards

Remains queued behind MediaTek work, there known issues/regressions that need to be fixed for Realtek.

GitHub issue #99

Graphics

Port of the Linux 6.14 Graphics Drivers

Development work on porting the Linux DRM 6.14 graphics driver is code complete and waiting behind 6.13 to go into review (see note on 6.13 above). The changes to the kernel (linuxkpi) are also in review. This is the next step towards reaching 6.18 which is the next long term support version above 6.12.

GitHub issue #102

Port of the Linux 6.15 Graphics Drivers

Development work on porting the Linux DRM 6.15 graphics driver is in progress. It has some soft dependencies on changes to handling Linux memory page structure which are being tackled as part of the Wi-Fi work. Once these are complete, it will make the necessary 6.15 changes to memory page management easier.

GitHub issue #103

Audio

A number of improvements to audio have been made in July.

These include better handling of USB audio devices, fixing a bug where idle audio streams could disrupt shared clock settings, a memory leak fix in the audio subsystem, and improved buffer scaling for smoother playback.

There has also been ongoing refactoring of the mixer and buffer code, along with cleanup of legacy code, to laying the groundwork for a more maintainable and robust audio system going forward. Active bug triaging and PR resolutions have also been a part of the work.

GitHub issue #118

System management

Fully functional installer for a usable Desktop config

The work to date on this is being discussed to ensure it provides a suitable interface between the base system and ports.

GitHub issue #25

Acknowledgements

The FreeBSD Foundation would like to extend its thanks to everyone who has contributed to this project, both this month and previously.

Thanks go out to:

Please refer to the README for more information about the FreeBSD Foundation’s Laptop Project.