日期:2023 年 8 月 24 日
版本:F12
已实现以下更改:
应用运行时(Flutter、Starnix 和 Web)
Starnix
Starnix 进行了以下更新:
- 将
src/proc
重命名为了src/starnix
。 - 修复了各种
gVisor
和 LTP 测试,以确保它们通过测试。 - 为
arm64
启用了 gVisor 支持。 - 实现了
RLIMIT
。 - 实现了
sysinfo()
。 - 添加了对
arm64
受限模式的支持。 - 修复了 binder 和远程 binder 支持。
- 改进了
arm64
的可调试性。 - 为 Starnix 内核使用子软件包。
- 启用了线程内异常处理。
- 对
SECCOMP
和NETLINK
的初始支持。 - 在 Starnix 中初步支持 Fxfs。
组件框架
我们对组件框架进行了以下更新:
- 从平台中移除了对
appmgr
(CFv1) 的支持。
连接(蓝牙、IoT、WLAN、Netstack)
Connectivity 进行了以下更新:
蓝牙
- 修复了使用蓝牙音箱时媒体播放时间偶尔不准确的问题。
- 修复了在视频通话进行期间连接后蓝牙音频会恢复的问题。
- 初步支持 HFP 带内音频。
- 缩短了将 A2DP 流式传输到音箱时的延迟时间。
Matter
- 修复了多设备情况下的身份响应问题,以防止响应泛滥。
- 为相关事项启用了“检查”功能。
- 修复了订阅超时期间 localhome 中的崩溃问题。
- 修复了
usonia
中主节点选举发生崩溃的问题。 - 修复了在转换超出范围的颜色时发生崩溃的问题。这会影响用户体验,导致某些颜色不准确。
- 在 Fuchsia mDNS 堆栈中实现了缓存刷新处理。
线程
- 在 Nest 线程控制器中启用了线程遥测功能。
- 启用了动态日志记录功能。
WLAN
- 在
brcmfmac
驱动程序中启用了 VIM3 支持。 - 稳定了
brcmfmac
WLAN 驱动程序恢复。 - 更改了
brcmfmac
中的线程配置文件以及网络堆栈。
开发者
我们对开发者工作流进行了以下更新:
- 支持使用集成了 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
:创建 FAR 归档文件。ffx package far extract
:将远程归档文件解压缩到目录中。ffx package far list
:列出远程归档文件的内容。ffx package file-hash
:计算一个或多个文件的 blob 哈希。
诊断
我们对“诊断”进行了以下更新:
- 改进了针对多个 Rust Inspect 进程的写入性能,使基准测试的速度平均提高了 70-80%。
- 提升了 Rust 日志编码的性能,使基准测试速度提高了 30-60%。
- 实现了一种新协议,允许
ffx log
和fix inspect
直接与归档工具通信,从而显著提升了这些工具的性能。在此修复之前,这些工具使用诊断桥接组件进行通信。 - 改进了组件管理器 CPU 统计信息格式,使 Inspect 中的测量数据减少了约 70%,快照中的测量数据减少了约 55%。
- 添加了对 Fuchsia 日志记录的 crate span 跟踪的支持。
- 改进了分类错误消息和输出。
- 向
ffx log
的输出添加了已丢弃和已推出日志的计数。 - 添加了对日志和检查的 CBOR 格式支持。
- 使
ffx log
和ffx test
的日志格式保持一致。 - 现在,Archivist 会直接将已配置组件的日志转发到串行,而不会先将其发送到控制台组件。
- Fuchsia 上的所有 Rust 代码现在都使用跟踪库进行结构化日志记录。
FIDL
我们对 FIDL 进行了以下更新:
- 针对 SDK 中包含的 FIDL 添加了对 FIDL 注解
@available
的要求。 - 添加了针对未知互动关键字的要求。
固件
固件进行了以下更新:
- 提高了在遇到硬件初始化错误时启动的可靠性。
- 将开机时的显示屏亮度降低了 50%。
车队服务(托管式操作系统和取证)
我们对车队服务进行了以下更新:
- 已删除
LogStats
。
图形和媒体
图形和媒体进行了以下更新:
音频
- 添加了虚拟音频驱动程序,以提高测试覆盖率。
audio-driver-ctl
开发者工具已废弃,取而代之的是ffx audio
。
显示
- 针对虚拟显示屏堆栈的各种扩展和修复,添加了更多与硬件无关的测试功能。
GPU
- 移除了系统驱动程序 C API,改用 C++。Starnix 环境中的图形硬件加速。
视频
- 添加了性能调整,以便在已出厂的设备上改进播放效果。
HCI(输入、无障碍功能、i18n 和 View 系统)
我们对 HCI 进行了以下更新:
- 为智能显示屏启用了 Flatland。提高性能并降低维护费用。
- 进行了各种修复,以提高无障碍功能评分。
内核
内核进行了以下更新:
- 添加了对
riscv64
的支持。
Rust
Rust 进行了以下更新:
- 开始为 Rust 编译器推出 RISC-V 目标平台。
软件汇编
我们对软件汇编进行了以下更新:
- 减少了旧版软件包中的内容。
- 添加了在汇编时检查软件包的 ABI 修订版本以确定与平台的兼容性的功能。
计时
我们对时间记录功能进行了以下更新:
问题:使用推送通信时,需要大量内存和 CPU 资源。
影响:将时间源迁移到了拉取通信,从而减少了维护时钟所需的内存和 CPU。
工具链
- Fuchsia 支持
HWASan
。