日期:2023 年 6 月 22 日
版本:F11
已实施以下变更:
组件框架
问题:将组件迁移到 v2。
影响:除了通信应用、cast_runner
和 web_instance
之外,大多数组件在 F10 中以 v2 的形式运行。
连接性
我们对连接性进行了以下更新:
网络堆栈
- 添加了对 MLDv2 和 IGMPv3 的支持,以支持 Thread 1.3。不支持特定于来源的多播。
线程
- 日志记录 crate 更改:替换为
trace
。 - 新增了多播路由功能。
- 根据 Nest 团队提出的请求,OpenThread 修复 CP。
WLAN
问题:在 TDLS(隧道直接链路设置)拆解期间设备与无线接入点断开连接。
影响:Astro、Sherlock 和 Nelson 设备上的固件变更。
问题:网络接口和 WLAN 驱动程序中的工作负载不平衡。
影响:提升网络性能。
开发者
我们对开发者工作流程进行了以下更新:
诊断
- 改善了归档功能的内存用量:得益于字符串间隔、为日志动态分配的缓冲区、不再使用正则表达式来过滤 Inspect 等,用量减少了约 35-45%。
- 通过移除中间反序列化机制,对采样器的内存用量进行了改进,现在其占用的内存大约减少了 5MB。
- Rust Inspect 库会自动删除重复和实习生字符串,从而提高内存使用量。部分
InspectHeap
VMO 最多可缩减 48%。 - 针对快照截取和过滤检查层次结构的基准显示,由于算法的改进,该过程现在加快了 95%。
- 修复了在解析包含无效 UTF8 的日志时导致 Archivist 崩溃的 bug。无效的 UTF8 现已替换为 。
ffx log
:--no-symbols
已重命名为--raw
。引入了--moniker
,用于按名称过滤日志。- 动态日志注册得到改进并修复了一些 bug:Archivist 在正确启动组件时没有设置动态日志严重性。组件现在会等待初始关注点。
- 为了提高性能,请求驱动程序管理器数据的采样器配置已合并为一个配置。
- 使用 Builder for Inspector 改进了 Rust 检查初始化。
- Archivist 现在是
bootfs
中的软件包。 - 检测和保留移至
/core/diagnostics/*
下。
图形和媒体
- Magma 库现已成为 SDK 的一部分。
- 详细的视频编解码器说明,可在 Chromium 中启用更经过硬件加速的视频。
- 提升了内存紧张时相机的性能。
问题:如果在对连接中的缓冲区进行分页时与 Mali 驱动程序的连接被销毁,则可能会导致设备线程上发生死锁。
影响:解决 Mali 驱动程序中的死锁问题。
问题:Khada TS050 不支持触摸屏。
影响:添加了对 Khadas TS050 触摸屏的支持。
问题:Microtech MTF050HDI-03 不支持的面板。 影响:添加了对微科技 MTF050HDI-03 面板的支持。
问题:使用 VIM3 上的 LCD_RESET
函数来指示 HDMI 设备的可用性。不过,在 VIM3 上,LCD_RESET
不是 GPIO 引脚,这一点与 Astro 或 Sherlock 不同。
影响:修复了 VIM3 上的 HDMI 热插拔问题。
问题:HWASan 在各种 msd-vsi-vip
测试中检测了释放后使用。
影响:修复了 VSI 机器学习驱动程序的稳定性。
HCI(输入、A11y、国际化和观看系统)
界面堆栈已过渡到场景管理器并从根 Presenter 退出。
内核
问题:HWASan 在各种 msd-vsi-vip
测试中检测了释放后使用。
影响:针对内核发出进程记录。
问题:UEFI 环境中不支持 QEMU 和 AEMU 的启动测试。
影响:在模拟器上启用 UEFI 测试。
问题:并非所有对 zx
的引用都已更新为 zx
。
影响:将 zxc
引用迁移到 zx
。
问题:thread.h
中的内边距过多。
影响:减少 thread.h
中的内边距。
问题:在推断的上下文中,fxt::Argument
不支持非默认 val_type
参数。
影响:更新了 ktrace
中的序列化器模板和依赖项。
问题:未使用 C++17 的标准属性。
影响:在 C++ 中取消定义 __UNUSED
;使用 maybe_unused
。
问题:为确保互斥量获取和设置时间片扩展之间没有差距,停用抢占会产生额外的处理成本。
影响:改进了使用时间片扩展时的内核互斥性能。
平台驱动程序
问题:在 focaltouch
启动时命中断言。
影响:修复了 focaltouch
断言。每个 HidInstance
都管理自己的绑定。
软件交付
添加了一个修复程序,可让 Omaha 服务器在下载 OTA 更新后指示设备立即重新启动。
存储
将 fshost
从 C++ 移植到了 Rust。