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.
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
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
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
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
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
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
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
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
Testing and documentation continues.
GitHub issue #27
GitHub Parent issue #6 - for subissues read on:
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
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
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
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
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
Remains queued behind MediaTek work, there known issues/regressions that need to be fixed for Realtek.
GitHub issue #99
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
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
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
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
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.