Fuchsia F12 版本说明

日期:2023 年 8 月 24 日

版本:F12

已实施以下变更:

应用运行时(Flutter、Starnix 和 Web)

斯达尼克

对 Starnix 进行了以下更新:

  • src/proc 重命名为了 src/starnix
  • 修复了各种 gVisor 和 LTP 测试,以确保它们通过。
  • arm64 启用了 gVisor 支持。
  • 实现了 RLIMIT
  • 实现了 sysinfo()
  • 添加了 arm64 受限模式支持。
  • 修复了 binder 和远程 binder 支持。
  • 改进了 arm64 的可调试性。
  • 为 Starnix 内核使用子软件包。
  • 已启用线程内异常处理。
  • 初步支持 SECCOMPNETLINK
  • Starnix 对 Fxfs 的初步支持。

组件框架

对组件框架进行了以下更新:

  • 从平台中移除了对 appmgr (CFv1) 的支持。

连接(蓝牙、IoT、WLAN、Netstack)

已对连接性进行了以下更新:

蓝牙

  • 修复了使用蓝牙音箱时偶尔媒体播放时间不准确的问题。
  • 修复了蓝牙音频在视频通话进行期间连接后继续恢复的问题。
  • 对 HFP 的初始带内音频支持。
  • 缩短了将 A2DP 流式传输到扬声器时的延迟时间。

Matter

  • 修复了在多个设备的情况下识别响应的问题,以防止响应泛洪。
  • 已启用 Matter 的检查功能。
  • 修复了订阅超时期间 localhome 崩溃的问题。
  • 修复了 usonia 领导人选举中出现崩溃的问题。
  • 修复了转换超出范围的颜色时发生崩溃的问题。这会影响某些颜色不准确的用户体验。
  • 在 Fuchsia mDNS 堆栈中实现了缓存刷新处理。

线程

  • 在 Nest 线程控制器中启用了 Thread 遥测。
  • 已启用动态日志记录功能。

WLAN

  • brcmfmac 驱动程序中启用了 VIM3 支持。
  • 防抖 brcmfmac WLAN 驱动程序恢复。
  • 更改了 brcmfmac 以及 netstack 中的线程配置文件。

开发者

我们对开发者工作流程进行了以下更新:

  • 利用带有 Bazel 集成的 Fuchsia SDK 支持驱动程序开发。这取决于特定驱动程序所需的接口。
  • 支持 ffx 通过 USB 连接到目标设备。
  • 改进了使用用户模式网络时的模拟器实例管理。
  • ffx 和其他工具中的更新:
    • 已升级实验性功能:
    • ffx package archive cat:输出软件包归档中文件的内容。
    • ffx package archive create:创建软件包归档。
    • ffx package archive extract:将软件包归档解压缩到目录中。
    • ffx package archive list:列出软件包归档的内容。
    • ffx package far cat:输出远程归档文件中文件的内容。
    • ffx package far create:创建远距离归档文件。
    • ffx package far extract:将远程归档解压缩到目录中。
    • ffx package far list:列出远程归档的内容。
    • ffx package file-hash:计算一个或多个文件的 blob 哈希值。

诊断

对“诊断”功能进行了以下更新:

  • 改进了多个 Rust 检查流程的编写性能,使基准测试平均速度加快了 70-80%。
  • 改进了 Rust 日志记录编码的性能,从而将基准测试速度提高了 30-60%。
  • 实现了可让 ffx logfix inspect 直接与 Archivist 通信的新协议,从而显著提升这些工具的性能。在修复此问题之前,这些工具使用诊断桥组件进行通信。
  • 改进了组件管理器 CPU 统计信息格式,这使得 Inspect 中的测量字节数减少了约 70%,快照中的字节减少了大约 55%。
  • 添加了对为 Fuchsia Logging 跟踪 crate span 的支持。
  • 改进了分类错误消息和输出。
  • ffx log 的输出添加了丢弃和发布的日志计数。
  • 新增了对日志和检查的 CBOR 格式的支持。
  • 对齐了 ffx logffx test 的日志格式。
  • Archivist 现在会将已配置组件的日志直接转发为串行,而无需先将其发送到控制台组件。
  • Fuchsia 上的所有 Rust 代码现在都使用跟踪库进行结构化日志记录。

FIDL

已对 FIDL 进行以下更新:

  • 针对 SDK 中包含的 FIDL 添加了 FIDL 注解 @available 的要求。
  • 添加了对未知互动关键字的要求。

固件

对固件进行了以下更新:

  • 提高了遇到硬件初始化错误时的启动可靠性。
  • 开机期间的显示屏亮度降低了 50%。

舰队服务(代管式操作系统和取证)

对舰队服务进行了以下更新:

  • 已删除“LogStats”。

图形和媒体

对图形和媒体进行了以下更新:

音频

  • 添加了虚拟音频驱动程序,以扩大测试覆盖范围。废弃了 audio-driver-ctl 开发者工具,取而代之的是 ffx audio

显示

  • 针对模拟显示堆栈的各种扩展和修复,添加了更多与硬件无关的测试功能。

GPU

  • 移除了系统驱动程序 C API,改为使用 C++。Starnix 环境中的图形硬件加速。

视频

  • 添加了性能调整,以改进出厂设备上的播放效果。

HCI(输入、A11y、国际化和观看系统)

已对 HCI 进行以下更新:

  • 已为智能显示屏启用 Flatland。可提高性能并降低维护费用。
  • 进行了各种修复,以提高无障碍功能评分。

内核

已对内核进行以下更新:

  • 添加了对 riscv64 的支持。

Rust

已对 Rust 进行以下更新:

  • 开始为 Rust 编译器滚动 RISC-V 目标。

软件组装

已对软件组装进行以下更新:

  • 缩减了旧版软件包中的内容。
  • 添加了在汇编时检查软件包的 ABI 修订版本以确定与平台兼容性的功能。

计时功能

已对计时功能进行了以下更新:

问题:对时间源使用推送通信时,需要高内存和 CPU 资源。
影响:迁移了时间源以拉取通信,从而减少了时钟维护所需的内存和 CPU。

工具链

  • Fuchsia 支持 HWASan