Date: June 22, 2023
Version: F11
The following changes have been implemented:
Component Framework
Issue: Migrate components to v2.
Impact: Most components run as v2 in F10 except comms apps, cast_runner
,
and web_instance
.
Connectivity
The following updates have been made for connectivity:
Netstack
- Added support for MLDv2 and IGMPv3 to support Thread 1.3. Source-specific multicast is not supported.
Thread
- Logging crate change: replaced with
trace
. - Added a Multicast routing feature.
- OpenThread fix CP per request from the Nest team.
WLAN
Issue: Device disconnecting from wireless access point during TDLS
(Tunneled Direct Link Setup) teardown.
Impact: Firmware change on Astro, Sherlock, and Nelson devices.
Issue: Unbalanced workloads in the network interface and WLAN drivers.
Impact: Improve network performance.
Developer
The following updates have been made for developer workflows:
Diagnostics
- Archivist memory usage was improved: ~35-45% less usage thanks to string interning, dynamically allocated buffers for logs, no more usage of regular expressions for filtering Inspect, among other changes.
- Improved Sampler memory usage by removing of intermediate deserialization, it now uses ~5MB less.
- The Rust Inspect library automatically deduplicates and interns strings which
improves memory usage. Some
InspectHeap
VMOs are up to 48% smaller. - The benchmarks for snapshotting and filtering Inspect hierarchies show that the process is now 95% faster due to improvements in the algorithm.
- Fix bug which caused Archivist to crash when parsing logs containing invalid UTF8. Invalid UTF8 is now replaced with �.
ffx log
:--no-symbols
was renamed to--raw
.--moniker
was introduced to filter logs by moniker.- Dynamic log registration got improvements and bug fixes: Archivist wasn’t setting dynamic log severity when starting a component correctly. Components now wait for the initial interest.
- Sampler configurations requesting driver manager data were merged into one for performance.
- Rust Inspect initialization was improved with a Builder for Inspectors.
- Archivist is now a package in
bootfs
. - Detect and persistence moved under
/core/diagnostics/*
.
Graphics and Media
- Magma libraries are now part of the SDK.
- Detailed video codec descriptions to enable more hardware-accelerated video in Chromium.
- Improve camera performance when memory pressure is high.
Issue: If the connection to the Mali driver is being destroyed while a
buffer in that connection is being paged in, that can cause a deadlock on the
device thread.
Impact: Resolve a deadlock in the Mali driver.
Issue: Unsupported touch screen for Khada TS050.
Impact: Added support for Khadas' TS050 touch screen.
Issue: Unsupported panel for Microtech MTF050HDI-03. Impact: Added support for Microtech MTF050HDI-03 panel.
Issue: The LCD_RESET
function on VIM3 was being used to indicate the HDMI
device's availability. However, on VIM3 LCD_RESET
is not a GPIO pin, unlike
Astro or Sherlock.
Impact: Fix HDMI hotplug on VIM3.
Issue: HWASan was detecting use-after-frees in various msd-vsi-vip
tests.
Impact: Stability fixes for VSI ML driver.
HCI (Input, A11y, i18n, and View System)
UI stack transitioned to Scene Manager and off of Root Presenter.
Kernel
Issue: HWASan was detecting use-after-frees in various msd-vsi-vip
tests.
Impact: Emit process record for kernel.
Issue: Unsupported boot tests in UEFI environment for QEMU and AEMU.
Impact: Enable UEFI testing on emulators.
Issue: Not all references to zx
have been updated to zx
.
Impact: Migrate zxc
references to zx
.
Issue: Too much padding in thread.h
.
Impact: Reduce padding in thread.h
.
Issue: Unsupported non-default val_type
parameters to fxt::Argument
in
deduced contexts.
Impact: Update serializer templates and dependents in ktrace
.
Issue: Not using standard attributes for C++17.
Impact: Undef __UNUSED
in C++; use maybe_unused
.
Issue: Extra processing cost of disabling pre-emption to ensure there is no
gap between mutex acquisition and setting the timeslice extension.
Impact: Improved kernel mutex performance when using timeslice extension.
Platform drivers
Issue: Hitting assertions on focaltouch
startup.
Impact: Fix focaltouch
assertion. Each HidInstance
manages its own
bindings.
Software delivery
Landed a fix that allows an Omaha server to tell a device to reboot immediately after downloading an OTA update.
Storage
Ported fshost
from C++ to Rust.