2025 年 1 月
1 月已完成的工作
偿还 pkg 技术债务
pkg 软件包管理器在两个关键领域进行了重大改进。首先,已重写安装任务的调度器,采用了有向图模型来处理依赖关系,避免不必要的任务拆分,并修复了导致升级失败的关键错误。此改进已包含在 pkg 1.21.99.3 版本中。
其次,已重新设计共享库跟踪机制。软件包创建现在会在依赖列表中包含基础系统库,从而移除了选项 ALLOW_BASE_SHLIBS
,同时改进了 ports 和 PkgBase 软件包之间的集成。此外,还增加了对共享库 lib32 和 Linuxulator 的支持。这些共享库改进已包含在 pkg 2.0.5 版本中。
GitHub 问题链接: #46
本月审核中的工作
Linux 6.7 驱动程序
2024 年 12 月提交的为 drm-kmod 添加对 Linux 6.7 支持的 RP 仍在积极完善中,并与社区协作改进。
GitHub PR: #332
进展
电源管理
使用 S0ix 和 s2idle 低功耗状态的睡眠模式
已开发完成一款新的电源管理驱动程序(acpi_spmc
),它能够识别设备的电源需求,并通过 S0ix 挂钩帮助笔记本进入更深层次的睡眠状态。这将支持更节能的睡眠模式,如 s2idle。同时,最低功耗状态 D3cold 也已获得支持,并修复了设备在不同电源模式之间转换时的问题。
当前进展受阻于上游软件问题,该问题涉及如何区分不同的睡眠状态(D3cold/D3hot)。
在 AMD Framework 笔记本上的测试显示,系统频繁因硬件(SCI)中断而无故唤醒,而这些中断无法屏蔽,否则会影响合法的唤醒事件。一个可能的解决方案是使用 AMD 的电源管理控制器。
FreeBSD 的中断处理系统需要更新,以支持新的电源管理方法(GPE 屏蔽机制需从 _PSW
更新至 _DSW
对象)。
兼容性与系统要求
WiFi 4 & 5 实现进展
WiFi 4 (802.11n) 和 WiFi 5 (802.11ac) 的开发工作正在推进,目前已在 LinuxKPI 中实现了 HT(High Throughput,高吞吐量)和 VHT(Very High Throughput,非常高吞吐量)数据速率的支持。初步兼容代码已实现,使 FreeBSD 内核的 WiFi 4 接口 net80211 能与 LinuxKPI 驱动程序协同工作。
现代 iwlwifi(Intel WiFi)芯片组已具备基本的 HT/VHT 接收和发送功能。接下来需要进一步测试,以确保 rtw88 和 rtw89(Realtek)驱动程序仍然兼容。此外,还需为较老的 Intel 芯片组增加支持 VHT 的代码,并针对各种选项和标志组合进行详细测试,以完善兼容性代码。
利用异构核心优化性能
当前正在通过优化 256 队列运行队列的调度来改善 CPU 任务管理。这项更新将作为更高效任务分配的基础,使进程能够根据需求分配至高性能的 “Performance” 核心执行高负载任务,或分配至节能的 “Efficiency” 核心执行轻量任务。通过这些改进,预计整体性能将有所提升,同时平衡功耗,实现更流畅高效的计算体验。
改进对非标准音频插孔的支持
为改进对非标准音频插孔的支持,已提交了一份实验性补丁。
注意:自补丁提交以来,我们对整体方案进行了重新思考,新的方案将更加灵活,能够适应各种特殊情况。
Intel WiFi 设备驱动程序
本月的开发工作基于上月完成的 POC(概念验证)进行。当前正在添加对 HT(High Throughput)速率的支持,并在 2.4GHz 和 5GHz 频段上进行测试。
内核级 UVC 摄像头驱动程序
正在进行将 UVC(USB Video Class)内核驱动集成到 FreeBSD 的工作。目前代码正在清理中,完成后将提交至官方评审系统。
Dell ThinOS 团队正在推进下一代摄像头支持,包括支持 MIPI 摄像头和 Intel XPU。FreeBSD 基金会将在适当的时候推动其在 FreeBSD 上的集成。
结语
FreeBSD 基金会向所有为本月取得重大进展而付出努力的人员致以衷心感谢。
特别感谢:
我们的开发者:
Aymeric Wibo
Bjoern Zeeb
Christos Margiolis
Isaac Freund
Jean-Sebastien Pedron
Li-Wen Hsu
Mitchell Horne
Olivier Certner
Thinker Li
Tom Jones
项目团队:
Deb Goodkin
Ed Maste
Joe Mingrone
Alice Sowerby
笔记本与桌面工作组:
Chris Moerz
以及所有与会者
FreeBSD 项目
Netflix(测试了我们的调度程序补丁集)
戴尔(开发了 UVC 内核驱动)
更多关于 FreeBSD 基金会笔记本项目的信息,请参阅 README。
最后更新于