日期:2023 年 6 月 22 日
版本:F11
已实现以下更改:
组件框架
问题:将组件迁移到 v2。
影响:除了通讯应用、cast_runner
和 web_instance
之外,大多数组件在 F10 中都以 v2 的形式运行。
连接
我们对连接性进行了以下更新:
Netstack
- 添加了对 MLDv2 和 IGMPv3 的支持,以支持 Thread 1.3。不支持特定于来源的多播。
线程
- 日志记录 crate 更改:已替换为
trace
。 - 添加了多播路由功能。
- 根据 Nest 团队的请求,修复了 OpenThread CP。
WLAN
问题:在 TDLS(通道直接链路设置)拆解期间,设备会断开与无线接入点的连接。
影响:Astro、Sherlock 和 Nelson 设备的固件发生了变化。
问题:网络接口和 WLAN 驱动程序中的工作负载不平衡。
影响:提升网络性能。
开发者
我们对开发者工作流进行了以下更新:
诊断
- 改进了归档程序的内存用量:由于字符串内嵌、为日志动态分配缓冲区、不再使用正则表达式过滤“检查”等变更,内存用量减少了约 35-45%。
- 通过移除中间反序列化,减少了采样器内存用量,现在减少了约 5MB 的内存用量。
- Rust Inspect 库会自动删除重复的字符串并将其纳入字符串池,从而减少内存用量。某些
InspectHeap
VMO 的大小最多可缩减 48%。 - 对快照和过滤“检查”层次结构的基准测试表明,由于算法得到了改进,该过程的速度现在提高了 95%。
- 修复了导致 Archivist 在解析包含无效 UTF8 的日志时崩溃的 bug。无效的 UTF8 现在会替换为 �。
ffx log
:--no-symbols
已重命名为--raw
。引入了--moniker
,以便按标识名过滤日志。- 改进了动态日志注册功能并修复了 bug:Archivist 在正确启动组件时未设置动态日志严重性。组件现在会等待初始兴趣。
- 为提升性能,请求驱动程序管理器数据的采样器配置已合并为一个。
- 通过添加了检查器的构建器,改进了 Rust Inspect 初始化。
- Archivist 现在是
bootfs
中的软件包。 - 将检测和持久性移到了
/core/diagnostics/*
下。
图形和媒体
- Magma 库现已成为 SDK 的一部分。
- 详细的视频编解码器说明,以便在 Chromium 中启用更多硬件加速视频。
- 提高了内存压力较高时的相机性能。
问题:如果在该连接中的缓冲区被分页入时销毁与 Mali 驱动程序的连接,则可能会导致设备线程上出现死锁。
影响:解决了 Mali 驱动程序中的死锁问题。
问题:Khada TS050 不支持触摸屏。
影响:添加了对 Khadas 的 TS050 触摸屏的支持。
问题:Microtech MTF050HDI-03 的面板不受支持。 影响:增加了对 Microtech MTF050HDI-03 面板的支持。
问题:VIM3 上的 LCD_RESET
函数用于指示 HDMI 设备的可用性。不过,与 Astro 或 Sherlock 不同,在 VIM3 上,LCD_RESET
不是 GPIO 引脚。
影响:修复了 VIM3 上的 HDMI 热插拔。
问题:HWASan 在各种 msd-vsi-vip
测试中检测到释放后使用问题。
影响:修复了 VSI ML 驱动程序的稳定性问题。
HCI(输入、无障碍功能、i18n 和 View 系统)
界面堆栈已转换为场景管理器,并从根 Presenter 中移除。
内核
问题:HWASan 在各种 msd-vsi-vip
测试中检测到释放后使用问题。
影响:为内核发出进程记录。
问题:QEMU 和 AEMU 在 UEFI 环境中不支持启动测试。
影响:在模拟器上启用 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。