2025 年 6 月

六月已完成事项

移植 Linux 6.7 显卡驱动

将 Linux 6.7 显卡驱动的支持添加至 drm-kmod 的 PR 已合并进 drm-kmod 主分支。

使用 Meteor Lake 设备的用户通过此次 drm-kmod 更新获得了显卡支持。

GitHub issue: #47

移植 Linux 6.8 显卡驱动

将 Linux 6.8 显卡驱动的支持添加至 drm-kmod 的 PR 已合并进 drm-kmod 主分支。

通过此次 drm-kmod 更新,用户获得了对最新 Intel 和 AMD GPU 的支持,并提升了性能与稳定性。

GitHub issue: #49

减少调度器积压

笔记本用户可通过对异构 CPU 核心的支持从中受益,提升性能与能效。作为在 FreeBSD 上实现这一点的前提,需要完成一些调度器相关工作。其中一项关键内容是引入一个 256 队列的运行队列,它将调度整合为单一的运行队列,并简化 CPU 调度器中的线程选择逻辑。

一项重要的 CPU 调度器更改已被提交到 FreeBSD 主分支,并正由开发者进行更广泛的测试:提交链接

GitHub issue: #54

防止 AMD 笔记本在 S0ix 下偶发唤醒

S0ix 是现代 Intel 和 AMD 系统上的一组低功耗空闲状态,使 CPU 与平台在操作系统看来保持完全通电的同时进入近乎零功耗状态。这在空闲期间实现了即时唤醒与高效节能。作为在 FreeBSD 上实现完整 S0ix 支持的更广泛努力的一部分,已修复一个导致 AMD 笔记本从睡眠状态中偶发唤醒的问题。

原型调度器更改解决了该问题。调度器现在在挂起期间始终保持在空闲线程中,并且我们现在已在 CPU0 上处理常规的间歇性中断。

GitHub issue: #55

笔记本项目第二季度路线图

基金会已审查并更新了“笔记本支持与可用性改进项目”的路线图。要查看第二季度路线图文档,请访问: https://github.com/FreeBSDFoundation/proj-laptop/blob/main/monthly-updates/Q2-2025-roadmap.pdf

进展更新

电源管理

现代待机

现代待机要求多个组件同步工作。我们的开发和概念验证工作已发现系统固件中的一些问题,我们正在与上游协作以解决这些问题。例如,我们目前正等待 一个 ACPI 的 PR 被合并到上游。ACPICA(ACPI Component Architecture,ACPI 组件架构)团队已同意配合我们八月的代码冻结期限,以确保此项支持能包含在 FreeBSD 15.0 中。

我们还通过一个实验性的调度器更改集成了对 CPU 进入 C 状态(C-states)的过渡,目前看起来运行正常。

我们正在准备测试镜像,用于帮助识别与调试固件接口问题。该镜像可使用户在 FreeBSD 主树之外的开发过程中尝试现代待机功能。

GitHub issue: #32

USB 调试工具

使用 XHCI 调试标准的内核调试已作为概念验证运行成功。六月开始着手更新补丁集,以改进引导加载器与内核之间的接口。这些更改应能使 XHCI 调试更加健壮,并解决启动内核时偶发 panic 的问题。通过模拟串行链路传输的性能仍存在问题,使用 XHCI 调试作为系统控制台时仍可能发生崩溃。

GitHub issue: #38

FreeBSD 支持另一种使用 USB 串口设备进行内核调试的方法。目前正在进行更新,以便此功能能在 FreeBSD 中即开即用,并且我们正在记录如何在所有版本的 FreeBSD 上使用该方法。我们也投入了分析使用 USB 串口作为控制台时的锁问题,但尚不清楚能否足够解锁以在启用 witness 的情况下使用。

GitHub issue: #73

来自异构核心笔记本的高性能

我们正处于设计调度器更改以支持由性能核和能效核混合组成的异构系统的早期阶段。这项工作正与其他具有类似硬件经验的 FreeBSD 提交者协作进行中。

作为此工作的组成部分,我们创建了 wiki 页面,以概述相关技术、挑战和早期设计构想。

GitHub issue: #22

WiFi

Wi-Fi 6(802.11ax)支持进展

我们始终致力于为 FreeBSD 的无线栈准备 Wi-Fi 6(802.11ax)支持。内部结构与定义已使用正确的数值更新,并从 LinuxKPI 移入 net80211,从而提高了可用性。这些更新中已有部分可在 ifconfig 中看到,有助于在初始 Wi-Fi 6 支持启用时进行调试。

与此同时,也开始着手改进 LinuxKPI 的 ACPI 支持,以便无线驱动可以在不经修改的前提下编译。这是启用 Wi-Fi 6 和未来特性的必要步骤。虽然初始补丁已被接受,但由于 drm-kmod 处理 ACPI 命名方式的问题,导致无法合并。这些代码审查已通过技术选项更新,以避免破坏现有构建。审查仍在进行中:D50863, D50864

GitHub issue: #34

Intel WiFi 后续任务

六月已提交 iwx 的挂起与恢复功能。尚计划在关联过程中进行改进,以更好地利用网络速率并自动选择正确的 regdomain。主分支中的当前驱动已支持硬件加密卸载。

GitHub issue: #72

基于 LinuxKPI 的 WiFi 挂起与恢复支持

用于支持基于 LinuxKPI 的 WiFi 驱动的 PCI 相关改动现已具备挂起与恢复功能。然而,恢复后的图形输出仍无法正常工作,相关问题仍在调试中。

GitHub issue: #58

兼容性与系统要求

KDE 桌面安装选项

针对 FreeBSD 15.0,我们的目标是扩展 FreeBSD 安装器,提供基于 KDE 的最小桌面作为安装选项。初步设想是通过一个低交互度的安装流程,在完成后直接进入 KDE 图形登录界面。

我们目前正在评估所需的 pkg 依赖项,以便自动选择合适的显卡驱动。

GitHub issue: #25

USBHID 外设支持

USBHID 支持将提升对现代外设的兼容性,特别是 USB 鼠标、键盘和游戏控制器,且可使用键盘上的特殊功能键。我们正在跟踪并推动社区在该领域的工作,以协助其通过审查流程,这将为笔记本用户带来明显益处。

GitHub issue: #75

支持非标准音频插孔与自动音频切换

我们正在持续改进音频设备的处理,尤其是那些音频插孔引脚布局不标准的情况。

我们已提交一个开放审查,旨在启用系统中多个音频设备间的音频路由功能。这应能支持在多个 PCM 设备之间自动切换音频输出。你可以通过测试该更改提供帮助:https://reviews.freebsd.org/D50070

GitHub issue: #17

特殊功能键

我们正在调查 KDE 下对特殊功能键的支持。在测试设备中,大多数功能键开箱即用。音量、亮度和多媒体按键能被桌面环境自动识别与配置,并可在设置菜单中重新配置。然而,在我们测试的系统中,像“飞行模式”这类按键尚未被 KDE 识别。我们正在研究如何处理这类按键,并将撰写文档帮助用户启用那些未被自动识别的键位。

GitHub issue: #19

HDMI 支持

我们已开始研究如何改善通过 HDMI 使用外接显示器的支持与选择。在 KDE 环境下,使用 Framework 笔记本和多种外接显示器进行了初步调查,结果令人鼓舞。

我们也开始研究如何通过 DDC(显示器的本地控制接口)来控制外部显示器的设置,包括颜色、亮度和音量等参数。

GitHub issue: #27

总结

我们已经进入项目的第七个月,越来越多重要的成果正在合并进 FreeBSD 主分支。FreeBSD 基金会向所有做出贡献的人表示感谢。

特别感谢以下人员:

  • 我们的开发者:

    • Alfonso Siciliano

    • Aymeric Wibo

    • Bjoern Zeeb

    • Christos Margiolis

    • Isaac Freund

    • Jean-Sebastien Pedron

    • 許立文

    • Mitchell Horne

    • Olivier Certner

    • Tom Jones

  • 项目团队:

    • Deb Goodkin

    • Ed Maste

    • Joe Mingrone

    • Alice Sowerby

  • 笔记本与桌面工作组:

    • Chris Moerz

    • 以及所有与会者

  • FreeBSD 项目本身

  • Quantum Leap Research

  • 奈飞(负责测试我们的调度器补丁)

  • 戴尔(捐赠了 UVC 内核驱动)

  • Future Crew(提供了 iwx Wi-Fi 驱动源代码)

更多关于 FreeBSD 基金会笔记本项目的信息,请参阅 README

最后更新于