日期:2025 年 7 月 15 日
版本:F27
我們已進行下列變更:
無障礙設定
我們對無障礙功能進行了以下更新:
- 改善 A11yManager 的模組化:根據
AttachA11yView
旗標,有條件地建立ColorConverter
通訊協定連線。- 變更:fxr/1207064
音訊
音訊的更新內容如下:
- 改良音訊裝置登錄 (ADR),可妥善處理複合裝置移除作業,避免發生當機問題。此外,我們也推出了新的平台設定標記,可控制 ADR 服務的搶先啟動作業。
- 強化音訊驅動程式,提升穩定性和辨識度。
AML-G12 驅動程式現在會公開
manufacturer
和product
屬性,使用 SDKplatform-device
程式庫,且不會再於Start
之前呼叫Stop
時異常終止。intel-hda
驅動程式庫現在會正確處理第二個環形緩衝區的建立作業。- 變更: fxr/1258030、 fxr/1239285、 fxr/1238289、 fxr/1239505、 fxr/1239045
- 錯誤:fxb/366517646、
- 更新虛擬音訊驅動程式,直接提供
Composite
FIDL 通訊協定,並淘汰CompositeConnector
。開發版本現在包含新式非舊版虛擬音訊驅動程式庫,並通過測試驗證,且部分支援位置通知。 - 大幅強化
audio_driver_tests
套件,提供全面的負面測試、修正競爭條件,並將執行時間縮短 25%。現在套件已分成basic
、admin
和realtime
套件,方便您進行更精準的測試。 - 擴充音訊功能的服務轉送,協助從 devfs 遷移。
StreamConfigConnectorService
已分割為不同的Input
和Output
服務。- 變更: fxr/1221166、 fxr/1221224
藍牙
藍牙的更新內容如下:
- 允許使用相同本機地址的多個 LE 廣告
- 導入 SCO 索引設定方式,適用於卸載音訊,並更新測試架構以提供這項能力。
- 變更: fxr/1261384、 fxr/1257764
- 導入並實作
fuchsia.bluetooth.sys.Access.SetConnectionPolicy
FIDL API,讓應用程式控管藍牙堆疊的 BR/EDR 連線能力。- 變更: fxr/1232025, fxr/1231720
- 重構免持聽筒設定檔 (HFP) 設定結構定義,明確啟用音訊閘道 (AG) 和免持聽筒 (HF) 角色,並提供特定功能,完成從已淘汰的
bluetooth.hfp.enabled
欄位遷移作業。 - 採用新式 MAC 位址處理方式:
bt-hci
驅動程式庫現在會使用新式驅動程式庫中繼資料程式庫擷取 MAC 位址,並透過bt-transport-uart
使用fdf_metadata::MetadataServer
轉送,取代舊版方法。- 變更: fxr/1245604、 fxr/1238464
- 從
fuchsia.hardware.bluetooth
移除舊版 HLCPP 支援,並移除未使用的fuchsia.hardware.bt.hci
和fuchsia.hardware.bt.vendor
Banjo 程式庫,完成遷移至新版 FIDL 和 C++ 繫結的作業。- 變更: fxr/1233153、 fxr/1238356、 fxr/1238626
- 錯誤:fxb/327637386
- 在
bt-init
的元件資訊清單 (CML) 及其整合測試架構中,新增SuspendEnabled
和SystemActivityGovernor
功能。- 變更:fxr/1260724
- 藍牙元件現在可以選擇性啟動
config
功能,讓系統設定更具彈性。- 變更:fxr/1260204
- 新增 FIDL 介面,支援管理連線等時群組 (CIG)。
- 變更:fxr/1254284
- 將
bt-gap
尋找bt-host
元件的逾時時間從 5 秒增加到 100 秒,以提升穩定性。- 變更:fxr/1252604
- 推出
ConnectionReceiver2
FIDL,支援喚醒租約握手和新藍牙連線的流量控管。- 變更:fxr/1248027
- 以現代化服務路徑取代藍牙
devfs
能力轉送,簡化用戶端升級作業。- 變更:fxr/1222688
鈷豔藍
Cobalt 的更新內容如下:
- 提升資料上傳效率:將系統設定檔移至封包層級,藉此減少觀察批次中重複的系統設定檔,大幅減少上傳的位元組。
- 變更: fxr/1249825、 fxr/1221014
- 修正建構問題:新增遺漏的 include,以符合 include-what-you-use 指南。
- 變更:fxr/1254359
- 允許來源產生器中的非駝峰式大小寫 Rust 列舉,確保含有特殊字元的事件代碼可正常使用,不會導致建構失敗。
- 變更:fxr/1253535
- 已從已淘汰的
step_multiplier
遷移至step_multiplier_float
,以取得整數直方圖報表,包括移除舊欄位定義和驗證。
元件架構
元件架構的更新內容如下:
- 在
fuchsia.component.Realm
FIDL 通訊協定中新增GetResolvedInfo
方法,可查詢已解析的元件資訊。- 變更:fxr/1235109
- 錯誤:fxb/363315648
- 將元件模型遷移至
fuchsia.io2
程式庫,取代已淘汰的fuchsia.io
功能。- 變更: fxr/1229305、 fxr/1233484、 fxr/1232086
- 錯誤:fxb/324111518
- 為 Realm Builder 納入持續性儲存空間分片,可在重新啟動時保留元件資料,這對需要狀態持續性的測試特別有用。
- 變更:fxr/1233390
- 強化元件資訊清單和工具。包括支援 CML 中的弱字典、字典中的服務 (位於
cmc
),以及改善指令列工具中的錯誤訊息和引數標準化。 - 擴充設定功能支援。內建執行器已新增支援,且元件管理服務現在會在路由期間,對設定功能執行型別檢查。
- 變更: fxr/1256827、 fxr/1235158
- 提升效能和穩定性。元件管理服務現在已啟用完整的連結時間最佳化 (LTO),可縮減二進位檔大小,且
service-broker
現在會更迅速關閉。- 變更: fxr/1181952、 fxr/1228248
建構
我們對 Build 進行了下列更新:
- 提升效能並改善開發人員體驗。包括快取 Bazel 查詢結果、最佳化「平衡」編譯模式以使用 ThinLTO,以及強化 DTC 和
fx build
目標名稱的錯誤回報功能。- 變更: fxr/1240809、 fxr/1255703、 fxr/1213986、 fxr/1233124
- 錯誤:fxb/42084668
- 重構 Bazel 整合工作流程。樹狀結構內 IDK 存放區現在會在
fx gen
時間產生,且已移除--config=no_sdk
旗標,改用主機建構的明確--config=host
旗標,修正增量建構問題。- 變更: fxr/1252735、 fxr/1253252、 fxr/1253187
- 錯誤:fxb/338009514
診斷
診斷功能已進行下列更新:
- 採用 FXT 格式擷取及串流記錄,取代意見回饋服務和
ArchiveAccessor
中的 JSON。以 Rust FFI 層建構的全新 C++ 記錄解碼器,可進一步提升記錄剖析效能和記憶體效率。 - 提升診斷效能和穩定性,包括收集快照的效能指標、清除系統記錄記錄器中的記憶體,以及修正
get_koid
在記錄期間失敗時發生的當機問題。 - 已將
select_all_for_moniker
替換為select_all_for_component
,修正 Inspect 專屬錯誤,也就是系統會錯誤地省略根選取器。- 變更:fxr/1237284
- 強化核心和系統層級的診斷功能,在
k pmm dump
指令中新增計數,並確保dmesg_restrict
正確處理未授權的系統記錄存取權。- 變更: fxr/1233568、 fxr/1232625
- 強化 Power Broker 可觀測性,提供更有效率且全面的檢查事件,包括將套件組合依附元件資訊納入
add_element
事件,以及將多個update_level
事件合併為單一事件。 - 新增檢查指標和資料來源,包括
ota_health_verification
的指標和世界標準時間調整,以及顯示結構化設定,方便進行偵錯。
螢幕
擴大支援的像素格式。Magma 和 virtio-gpu 現在支援
R8G8B8A8
格式,可與更多硬體和應用程式相容。- 變更:fxr/1234067
提升圖像算繪和穩定性。修正 Intel 顯示卡驅動程式庫在關機時異常終止的問題。
- 變更:fxr/1252457
驅動程式架構
我們對 Driver Framework 進行了以下更新:
- 完成 Rust 驅動程式代管程序轉換:已移除 C++
driver_host
,完成轉換至 Rust 實作項目。核心產品和驅動程式庫測試領域現在預設會啟用 Rust 驅動程式代管程序,簡化驅動程式庫執行環境。 - 提升驅動程式代管程序穩定性和偵錯功能:修正關機順序和鎖定爭用問題,並採用新的驅動程式庫當機內省通訊協定,提升可靠性。Perfetto 中的新「driver_dispatcher」追蹤類別有助於進行偵錯。
- 新增驅動程式庫:已為使用者空間快速啟動新增
usb-fastboot-function
驅動程式庫。- 變更:fxr/1258844
- 強化版驅動程式庫開發 API:
OnBind
方法現在提供node_token
,可參照子節點。Rust 驅動程式新增pipe_if
和pipe_opt
方法,可處理條件邏輯,而新的BindRules2
和ParentSpec2
型別則可簡化字串鍵屬性的使用方式。 - 加強模擬和測試支援:改善
mock-mmio
的診斷功能,提供詳細的ZX_ASSERT
訊息。mock-mmio
程式庫現在位於合作夥伴 SDK 中,且 API 已更新,以確保一致性。- 變更: fxr/711448、 fxr/1171413、 fxr/1248867、 fxr/1248336
- 錯誤:fxb/382792202
- 強化安全性和政策執行:驅動程式庫執行階段現在會強制執行,驅動程式只能使用元件資訊清單中明確允許的排程器角色,進而提升系統安全性。
FIDL
FIDL 已進行下列更新:
- 透過將產生的函式主體移出標頭,並將連線和自然繫結分離,減少多餘的編譯工作,大幅縮短 C++ 建構時間。
- 變更: fxr/1260904、 fxr/1255849、 fxr/1221350
- 錯誤:fxb/361634289
- 提升 Rust 繫結的人體工學和效能。強化功能包括支援依值/參照編碼、預先解碼的訊息緩衝區,以及非封鎖傳送的逸出機制。最佳化填補歸零作業可提升效能,且管道關閉錯誤現在會明確包含墓誌銘。
- 新增對 Rust FIDL 繫結的
zx::Counter
支援。- 變更:fxr/1220866
- 新增靜態 Python FIDL 後端 (
fidlgen_python
),並預設為所有 FIDL 程式庫產生繫結。這個初始版本支援通訊協定方法、強大的外部型別匯入功能、必要結構體欄位,以及改良的 IDE 探索功能。
GPU 和圖形
GPU 和 Graphics 的更新如下:
- 大幅改善 Magma 的核心。信號燈現在使用
zx::counter
(而非zx::vmo
),可提升效能並減少記憶體用量。此外,內容建立作業現在支援優先順序,緩衝區發布作業在連線關閉時更安全,且提供新的 C++ 至 C 繫結程式庫。 - 已將圖形驅動程式從
devfs
遷移至 FIDL 服務。這項全系統的努力可讓圖像元件現代化,包括 Mali 驅動程式庫和 Magma 整合,進而提升安全性及公開功能的清晰度。舊版 DFv1 程式庫也已移除。 - 擴大支援的像素格式。Magma 和 virtio-gpu 現在支援
A2B10G10R10
和P010
,可與更多硬體和應用程式相容。- 變更: fxr/1260347、 fxr/1233329、 fxr/1233364
- 錯誤:fxb/42073721
- 提升圖像算繪和穩定性。Vulkan 交換鏈現在可正確處理
alphaComposite
模式,確保不透明表面能正確算繪。- 變更:fxr/1233007
- 改善圖形服務的 FIDL API 和 ABI。現在會標示
fuchsia.vulkan.loader/Loader
通訊協定以進行 ABI 檢查。Magma 服務 FIDL 現在更清楚地公開CombinedDevice
通訊協定,簡化用戶端 API。- 變更: fxr/1261447、 fxr/1221144
物聯網、Matter 和 Thread
我們對 IOT、Matter 和 Thread 進行了以下更新:
- 更新
third_party/openthread
依附元件。本次更新包含新功能和修正項目,例如改善邊界代理程式和路由管理員功能、支援 ePSKc,以及將 LoWPAN 元件與最新 OpenThread 版本對齊。Fuchsia 的平台程式碼、測試和繫結也已更新,以確保相容性。 - 新增支援 Ping 裝置的 RLOC 位址,這項功能現在直接在 OpenThread 網路堆疊中處理。
- 變更:fxr/1259525
核心
以下是 Kernel 的更新內容:
- 為
zx_vmar_map
實作ZX_VM_FAULT_BEYOND_STREAM_SIZE
標記。這項功能可讓記憶體存取超過 VMO 內容大小的資料,進而改善與 POSIXmmap
語意的相容性。 新增 ktrace 串流支援。
zx_ktrace_read
現在會耗用讀取的資料,讓使用者空間透過在迴圈中叫用這個系統呼叫,串流處理核心追蹤資料。在這次清理作業中,我們移除了未使用的zx_ktrace_write
系統呼叫。新增對可對應核心時脈的支援。在大多數情況下,這些時鐘支援有效率的讀取存取權,不必進入核心。如要瞭解設計詳情,請參閱 RFC 0266。
網路堆疊
Nestack 的更新內容如下:
- 我們預計在 F27 推出至 100% 之後,以及 F28 開始推出之前,啟用 Netstack3 (透過功能標記)。
- 全面支援 TCP 選擇性確認 (SACK),包括以 SACK 為基礎的遺失封包復原和壅塞控制更新,大幅提升在封包遺失網路上的 TCP 效能。
- 變更:fxr/1242089
- 錯誤:fxb/42078221
- 改善 TCP ACK 行為:預設啟用延遲 ACK、導入快速 ACK 週期,並確保更準確地計算視窗更新,以提升效能。
- 提升 TCP 的可靠性和正確性:修正多項重大錯誤,包括 CUBIC 中的算術溢位、無序 SACK 上的恐慌、不正確的 RTT/RTO 計算,以及不當的重傳計時器重新啟動。
- 改善 TCP 對網路狀況的回應:根據路徑 MTU 更新動態調整最大區段大小 (MSS),並將 ICMP 錯誤傳播與 Linux 行為對齊。
- 變更: fxr/1233389、 fxr/1216279
- 錯誤:fxb/404628798、 fxb/42052672
- 修正 IP 片段重組,修正處理順序錯誤和重複片段的方式,並將 IPv4 重組逾時時間縮短為 15 秒,以符合 RFC-791。
- 為 IPv4 重複位址偵測 (DAD) 做好準備:將 DAD 機制重構為與 IP 無關,並新增必要的設定選項。
- 變更: fxr/1254245、 fxr/1253164
- 使用 LRU 政策限制路徑 MTU 快取大小,以減輕重複 PacketTooBig 訊息造成的潛在阻斷服務漏洞。
- 變更:fxr/1237566
- 錯誤:fxb/404634511
- 網路堆疊現在會針對傳送至未繫結 UDP 連接埠的資料電報,傳送 ICMP 連接埠無法連線訊息,並受到現有 ICMP 速率限制的保護。
- 變更:fxr/1239544
- 透過新的FIDL 通訊協定,導入以 eBPF 為基礎的插座輸出篩選器支援功能,提供進階封包篩選功能。
fuchsia.net.filter.SocketControl
- 變更: fxr/1255225、 fxr/1255356
- 錯誤:fxb/407809292
- 透過封包標記功能強化網路篩選,允許
fuchsia.net.filter
規則標記封包,並在轉送決策中使用這些標記。 - 改善連線追蹤功能,可剖析內部 ICMP 錯誤封包,並將這些封包與原始連線建立關聯,以便為 ICMP 錯誤啟用 NAT 等功能。
- 變更:fxr/1255147
- 錯誤:fxb/328057704
- 為符合新版 API 標準,
fuchsia.netpol
FIDL 程式庫已重新命名為fuchsia.net.policy
。- 變更:fxr/1238424
- 強化 NDP 和 MLD 訊息驗證,確保躍點限制符合 RFC 規定,並確保介面停用時,系統會重設所學的 IPv6 參數。
- 變更: fxr/1240784、 fxr/1219885、 fxr/1246645
- 錯誤:fxb/42179534
- 更精細的計數器可提供更完善的網路觀測功能,包括每個裝置的 IP 計數器、每個通訊端的 UDP 計數器,以及 MLD 檢查計數器。
- 變更: fxr/1238625、 fxr/1235064、 fxr/1219884
- 錯誤:fxb/42081990
平台驅動程式
平台驅動程式的更新內容如下:
- 將各種裝置類別從舊版 devfs 檔案型系統遷移至元件服務。這項更新會將序列、攝影機、音訊、圖像和網路等類別更新為使用現代服務型通訊協定,藉此改善系統架構和用戶端通訊。
- 新增
usb-vsock
驅動程式庫來取代overnet-usb
,以啟用以 VSOCK 為基礎的 FFX 通訊。包括新的兩階段同步通訊協定、vsock 框架,以及支援其他複合裝置設定 (例如 adb+vsock)。 usb-peripheral
驅動程式已更新,可使用新式中繼資料程式庫擷取 MAC 位址和序號。此外,也修正了重設後介面計數不正確的錯誤。- 已將
platform-bus
驅動程式庫遷移至 DFv2,現在使用 FIDL API 中的ParentSpec2
,並支援NodeController/OnBind
事件。這項功能可簡化整合程序,並讓主機板驅動程式直接設定喚醒來源。 - 新增 HVDC-P Opti 驅動程式庫:這個新驅動程式庫支援
power_supply
和 IIO 裝置,以及 Starnix 的/dev/qbg
和/dev/qbg_battery
節點。現在也允許正常失敗,不會造成系統不穩定。
電源管理
電源管理功能已進行下列更新:
- 新增
ThermalLoadDriver
,可限制 CPU 熱能用戶端,提供ThermalPolicy
的替代方案,並包含用於測試的新追蹤計數器。- 變更:fxr/1257685
- 新增功能:當超過關機門檻時,電源管理員可以記錄溫度,提升熱力事件的診斷能力。
- 變更:fxr/1243011
- 大幅改善 Power Broker 的檢查資料,提升可觀測性和效率。這些變更包括強化事件詳細資料、最佳化資料儲存空間,以及簡化事件記錄。
軟體推送
軟體發布功能已進行下列更新:
- 在
system-update-committer
中新增健康狀態檢查通訊協定,如果提交作業超過五分鐘,就會失敗,藉此提升整體更新可靠性。- 變更: fxr/1233611、 fxr/1214029
- 改善
system-update-checker
的診斷記錄功能,偵測與 UpdateManager 的連線中斷時間。- 變更:fxr/1233534
- 遷移復原元件,改用
ArchiveReader
和新的Open
方法,取代已淘汰的LogProcessor
。- 變更: fxr/1236647、 fxr/1222509
- 錯誤:fxb/324111518
Starnix
Starnix 已進行下列更新:
- 為通訊端作業導入一系列安全掛鉤,提升建立、繫結、連線、接聽及關閉各種通訊端類型的安全性。
- 為 BPF 作業新增全方位的安全性掛鉤,涵蓋
bpf
、bpf_map
、bpf_prog
和 BPF 資源的分配,以及必要的能力檢查。 - 為各種核心作業導入新的安全掛鉤,包括:檢查記憶體對應權限的
mmap
、接收檔案描述元的file_receive
,以及設定資源限制的task_setrlimit
。 - 現代化的 SELinux 例外狀況和政策管理:以彈性設定能力取代檔案型設定、移除過時的例外狀況,並新增寬容的主體網域支援。
- 更新 SEStarnix,使用新的 API、效能快取和擴充測試涵蓋範圍,對
ioctl
呼叫執行擴充權限 (xperm) 檢查,以強制執行精細控制項。 - 導入「私有」匿名檔案系統節點的支援功能,可略過內部檔案類型 (例如
signalfd
、eventfd
和sync_file
) 的 SELinux 檢查,提升相容性和效能。 - 改善通訊端標籤和分類,確保通訊端 (TCP、UDP、原始 IP) 在建立時會指派正確的安全類別和環境。
- 更新
fuchsia.starnix.binder
FIDL API,加入WriteBytes
方法,避免建立 VMO,以更有效率的方式執行小型記憶體寫入作業。 - Starnix 新增支援 Fxfs 的檔案型加密 (FBE)。包括支援符號連結,以及正確處理加密路徑。加密金鑰現在會安全地儲存在
/data
中,可改善磁碟區管理作業,並啟用可靠的冷開機模擬作業。
儲存空間
儲存空間服務已進行下列更新:
- 修正 fxfs 的錯誤並提升效能。這些變更可防止重複建立墓碑、最佳化稀疏映像檔建立作業、強化執行緒管理以提升平行處理能力,並確保檔案系統在 Crypt 服務沒有回應時仍可運作,進而提升檔案系統的穩定性。
- 提升 Blobfs 可靠性。包括防止因空指標取消參照而導致當機、新增對以原子方式覆寫現有 Blob 的支援,以及主動檢查現有寫入器,防止競爭情況。
- 新增 Fxfs 支援功能,可保留檔案存取時間 (
atime
)。這項功能可確保存取檔案或目錄時,atime
屬性會正確更新及儲存。
測試
測試功能已進行下列更新:
- 改善主機端架構和執行作業。Honeydew 架構、testrunner 和主機目標測試工作流程都大幅強化。包括將 Honeydew 遷移至新式
fidlgen_python
繫結、新增restart
工作階段容許度、重構ffx
用法以確保一致性、在失敗後執行裝置健康檢查,以及提升序列測試的可靠性。 - 強化系統和驅動程式庫測試。音訊、圖像和其他系統驅動程式的測試已變得更全面且穩定。音訊驅動程式庫測試現在包含新的負面測試案例和更嚴格的檢查,Vulkan 測試已重組為密封套件,開機測試現在支援 DTBO,TEE 測試已重新啟用。
計時
我們對「時間記錄」進行了以下更新:
- 為 Timekeeper 導入電源管理整合功能,包括功能標記和邏輯,可防止時鐘在啟動前過早更新。
- 變更: fxr/1262924、 fxr/1262704
- 提升 RTC 可靠性:禁止負值開機時間軸參考調整,這表示重設導致的無效狀態。
- 變更:fxr/1259245
- 透過「檢查」功能,加強時間記錄的觀測和偵錯能力:新增 UTC 調整成功/失敗的指標、記錄上次調整的詳細資料,以及公開結構化設定資料。
- 提升 Starnix 世界標準時間的準確度和可設定性:修正啟動的參考時間軸、實作外部調整的 Proxy,以及完成可設定世界標準時間的路由。
- 推出全面的外部 UTC 時間調整機制,包括核心決策邏輯、整合至 UTC 控制迴路、非同步指令處理,以及可設定的安全導向時間範圍限制。
- 為 Timekeeper 啟用永久儲存空間:新增元件執行個體 ID,並實驗性地提供儲存空間 AIB。
- 變更: fxr/1227104、 fxr/1226786
- 改善鬧鐘處理方式和 RTC 模擬:根據裝置屬性修正計時器索引選取項目,並改善長時運作計數器的使用方式。
工具
工具的更新內容如下:
fx
外匯的更新內容如下:
- 改良
fx set
指令,提升建構目錄管理效率。現在預設為--auto-dir
,可建立產品專屬的建構目錄,而out/default
則成為方便的符號連結。我們修正了多項錯誤,包括--dir
和--fint-params-path
標記的問題,且建構目錄不再儲存在fx.config
中,避免發生過時問題。 - 標準化並改善目標選取標記。為配合
ffx
,fx -d
旗標已淘汰,請改用fx -t
或fx --target
。- 變更: fxr/1252244, fxr/1214024
- 在
fx build
指令中新增警告,提醒開發人員不要使用 Ninja 目標名稱,而要使用 GN 標籤。這項異動可鼓勵正確使用建構引數,並為日後的 Bazel 整合做好準備。- 變更:fxr/1233124
- 錯誤:fxb/42084668
- 從
fx
取得更完善的建構分析資料,以便回報更多背景資訊,例如建構作業是由fx test
或fx multi
觸發,以及納入args.json
的更多建構引數。
ffx
ffx 已進行下列更新:
- 已從
ffx
中移除以精靈為基礎的套件伺服器。所有相關聯的指令 (ffx repository add
、list
、remove
、status
等) 也會一併移除。使用者現在應使用獨立的ffx repository server
指令。 - 改善網路和連線效能。
ffx
現在可正確處理含有範圍 ID 的 IPv6 位址,針對連線失敗提供更實用的錯誤訊息,並更穩健地探索及管理目標,特別是透過 USB/VSOCK。此外,也新增了透過 VSOCK 支援 Overnet 的功能。 - 新增可選擇加入的終端機使用者介面 (TUI),適用於
ffx
和fx
指令,可提供強化格式。您可以透過ffx.ui.mode
設定啟用這項功能。fx use
指令是第一個採用這項功能的指令。- 變更:fxr/1255350
- 更新
ffx product
和ffx package
為獨立可執行檔,不再與主要ffx
二進位檔捆綁。這項變更可縮短建構時間。- 變更: fxr/1219912、 fxr/1225904
- 更新
ffx test run
指令,使其更適合自動化作業,支援嚴格的輸出規定和機器可讀取的 JSON。 - 將
ffx inspect
指令的--component
旗標替換為--data
,讓查詢作業更直覺。- 變更:fxr/1148106
- 改善
ffx driver
指令,新增--unbound
旗標,只列出未繫結的節點,並更準確地回報無法繫結的節點。- 變更: fxr/1236072、 fxr/1236071
- 提升閃爍速度和可靠性。由於傳輸緩衝區大小增加,現在使用
ffx flash
指令處理大型圖片時,速度大幅提升。現在也會自動重新分塊,正確處理大型稀疏圖片。修正了導致fx flash
中發生「Unknown Ninja path」錯誤的錯誤。 - 更新
ffx trace
指令,以便更清楚地呈現 FIDL IPC 追蹤記錄。這項功能採用雙通道方法,可正確將非同步雙向 FIDL 呼叫,以單一連續流程的形式在 Perfetto 中算繪,並將事件名稱設為 FIDL 方法名稱,方便進行偵錯。
zxdb
zxdb 已進行下列更新:
- 在 zxdb 中預設啟用主機端解除堆疊功能,運用完整的偵錯資訊提供更高品質的回溯。我們新增了
--force-remote-unwind
選項,可還原先前的目標端行為。- 變更: fxr/1172993、 fxr/1195609
- 錯誤:fxb/292107156
UI
UI 方面有以下更新:
- 在 Flatland 中啟用直接顯示。這項異動可直接顯示用戶端圖片,不必再進行組合,因此能更有效率地算繪,並修正緩衝區集合匯入程序的重要問題。
- 改善輸入系統和核心 UI 的穩定性。這些異動修正了 Scenic 的 VSync 間隔計算問題,可防止當機,並新增滑鼠裝置支援功能。
- 變更: fxr/1249219、 fxr/1236342
- 提升 UI 服務的效能和可設定性。現在可以透過執行緒和記憶體設定檔設定 Scenic 和 Scene Manager,讓整合人員微調資源分配。此外,Scenic 的影格預測邊界現在可參數化。
WLAN 和連線
WLAN 和連線功能有以下更新:
- 推出新的
GetMacAddress
FIDL 方法,用於wlanix
擷取裝置的 MAC 位址。- 變更: fxr/1259485
wlantool
指令列公用程式現在除了 SSID 之外,還可以使用 BSSID 連線至網路。- 變更:fxr/1226545
- 改善漫遊演算法,提升回應速度和效率。包括將掃描退避時間設為指數型、更智慧地重設退避時間,以及移除訊號雜訊比 (SNR) 做為觸發條件,簡化靜態漫遊設定檔。
- 簡化核心 WLAN FIDL API:移除未使用的函式和遷移旗標、將 SoftMAC 專屬型別移出通用程式庫,以及重新命名與統計資料相關的 API,以提升清楚程度。
- 驅動程式庫遙測:公開 WLAN 先占、SDIO 匯流排指標和韌體 RX/TX 錯誤的新計數器,以利改善監控。
- 解決穩定性問題:調整 TX glom 影格數量上限,避免批次大小超出通訊協定限制。
- 變更:fxr/1228148