Fuchsia F10 版本資訊

日期:2023 年 4 月 12 日

版本:F10

系統已導入下列變更:

元件架構

大多數元件現在都是以 v2 執行,但 Opal、Kronk、cast_runnerweb_instance 除外。

開發人員

Bazel

我們已針對 Bazel 工作流程做出以下改善:

  • 在 Fuchsia 平台以外定義的 FIDL 程式庫不得以 Fuchsia 做為開頭。
  • fuchsia_package.deps」應更新為 fuchsia_package.componentsfuchsia_package.tools
  • 執行及發布元件會列印每個步驟;使用者不需要對這項更新進行任何變更。

問題:需要新增初始發布規則。
影響:已新增 fuchsia_task_publish 規則,系統會自動為套件建立規則。呼叫 bazel run :pkg.publish 現在會發布套件。


問題:需要將平行擷取新增至 CIPD 下載作業。
影響:CIPD 下載加入了平行擷取功能,提高 Clang 和 SDK 的下載速度。


問題:需要淘汰 fuchsia_package 中的 deps。影響:fuchsia_package 中已淘汰的依附元件。您不需要進行任何變更,但在更新 fuchsia_package 以使用元件和素材資源前,仍會顯示警告訊息。


ffx

我們已在 ffx 和其他工具中進行以下更新:

  • 如果產品組合已經存在電腦上,則系統不會重新下載該產品組合。
  • 清除先前下載產品套裝組合的新功能。
  • 改善下載產品組合的使用者介面。
  • ffx 元件複製外掛程式支援在主機和目標中的元件之間複製檔案。
  • 以更穩定可靠的方式繼續下載不完整的下載內容。
  • 設定檔工具:
    • 新增透過值區回報記憶體用量的選項。
    • 修正間接 VMO 充電錯誤導致的會計錯誤。
    • 改善外觀設計,包括新增選項 (提供人類可讀的大小和確切大小)、對齊輸出內容和更清楚的說明。
  • 偵錯工具:
    • 支援增強相容性,可讓使用者看到版本不符的情況減少。
    • 已解決 Fuchsia VSCode 擴充功能的「偵錯工具未連線至裝置」問題。
  • 根據預設,所有元件測試都會受到密封解析器的影響;除非宣告套件,否則測試在測試元件套件以外的套件中啟動元件的測試將會失敗。請參閱「Hermetic 元件解析度」。
    • 已更新 ffx log --severity,使其以引數形式顯示警告和警告。
  • 從實驗階段畢業:
    • ffx package build:建構套件。
    • ffx repository publish:將一或多個套件發布至存放區。
    • ffx repository package list:列出存放區中的所有套件。
    • ffx repository package show:列出套件的內容。
  • 推出實驗功能:
    • ffx package far:適用於一般 far 指令。
    • ffx package archive:處理套件封存。
    • ffx driver list-devices – 支援模糊比對。
  • 新增了 ffx driver list-nodes-groups
  • 已新增《ffx inspect list-files》。
    • 已從 ffx inspect list-files 中移除中樞使用情況,並刪除 ffx inspect show-files
    • 用於根據檔案名稱查詢檢查的 API 現在會移至 ffx inspect show --file,並採用相對於元件命名空間的檔案名稱。
  • 更多 ffx component 外掛程式 (destroy, doctor, explore, start, stop, resolve, reload) 支援針對路徑名稱、網址和執行個體 ID 進行部分比對。
  • ffx trace 指定 --categories 時,可以使用萬用字元 * 表示啟用與指定前置字元相符的所有類別。舉例來說,kernel* 會比對 kernel:ipckernel:syscall 等。
  • 新增了在 C++ 中列印 set, map, unordered_setunordered_map 的功能。
  • 已新增 source-map 設定,以便更靈活地尋找來源檔案。
  • 改善連線錯誤的顯示方式。
  • 推出同步使用者介面;短於執行的指令會阻擋輸入內容。
  • --force-repo 選項新增至 ffx product-bundle get,,這會覆寫套件存放區,而非拒絕,因為已有先前的選項。
  • 增加記錄中的追蹤偵錯輸出內容。
  • 禁止下載部分檔案:在下載完成前,暫時使用暫存目錄,避免部分下載問題。

問題:即將移除對 OAuth2 OOB 的支援。
影響:更新至預設的新版 OAuth2 非 OOB 工作流程。


問題:列出或移除套裝組合時,product-bundle 工具不會傳回任何內容,也無法有效通知使用者。
影響:已進行更新,在找不到套裝組合時,讓工具更加明確。


問題:使用者不清楚 remove --all 指令要刪除哪些套裝組合。
影響:更新已預先列出要移除的套裝組合。


問題:ffx product-bundle list 的排序順序會導致最舊的圖片顯示在清單頂端。
影響:更新後,清單會反向排序,將最新的套件排在最前面。


問題:嘗試get重複的產品組合訊息 (PBM) 時,工具會顯示重複的存放區訊息,而非重複的套裝組合訊息。
影響:修正問題,將重複的 PBM 訊息重新排序。


問題:預設移除指令會移除樹狀結構中的建構作業。
影響:修正已實作,不會納入移除的樹狀結構內結構建構項目。


問題:使用者無法在記錄器中設定嚴重性限制。
影響:驅動程式現在支援透過 ffx log --severity 動態設定嚴重性。

診斷資料

  • Archivist 不再提供生命週期事件做為資料來源,只支援檢查和記錄。Archivist 也進行重構,以便透過新的事件串流功能擷取資料。
  • 我們導入 RFC-171,現在可確保所有元件都能取得 LogSink,改善開發人員體驗。
  • 改善分類剖析器並改善一些語言,例如 _-separated numbers, Any, All
  • 為降低 Cobalt 的負載,取樣器經過重構,不會發出空白直方圖值區。
  • ffx inspect 增加了 ffx inspect list-filesiquery show –file 和 glob 等新功能,且經過改良,並非依賴 Hub。
  • 修正了 Rust 記錄程式庫的幾個錯誤,其規模變小,節省 BlobFS 的空間。

FIDL

開始在二進位檔中支援不明互動。請參閱 RFC-0138

圖像與媒體

  • 改善 Tigerlake 裝置上的 i915 穩定性驅動程式預設為啟用。

問題:啟用「顯示設定」測試案例後,裝置卡在黑色畫面。
影響:修正 AMLogic 顯示裝置以修正部分固定面板。


問題:使用驅動程式架構第 2 版時,驅動程式會進入死結狀態。
影響:i915 顯示驅動程式庫已移至驅動程式架構 v2。

HCI (輸入值、無障礙設計 (A11y)、i18n 和 View 系統)

問題:測試場景控制器期間發生錯誤。
影響:更新後,用戶端可使用原始 ViewportCreationToken 呈現平面檢視畫面。


問題:平底色標示的顏色不同。
影響:修正了在 Flatland 中採用 11y 高亮度的醒目顯示顏色。


問題:需提供螢幕截圖功能。
影響:進行更新,新增圖片壓縮架構。


問題:系統會在剪貼簿內容變更時通知使用者。
影響:更新已新增剪貼簿手錶方法。


問題:必須新增圖片翻轉選項 API。
影響:更新已新增圖片翻轉選項 API。


問題:pixel_scale 欄位已淘汰,應移除。
影響:更新已將 pixel_scale 的狀態從「已淘汰」變更為「已移除」。

核心

問題:需要更新才能發出名為「kernel」的程序記錄供 PID 0 還原,以還原與原始 ktrace 匯入工具的一致性。
影響:系統會為含有核心執行緒和個別 CPU 事件軌的核心建立程序記錄。


問題:根據預設,必須在本機或自動化環境中透過 UEFI 啟動模擬器。
影響:我們做出了更新,以便在自動化的模擬器中啟用 UEFI 測試。


問題:必須使用 zx 遷移 zxc 程式庫。
影響:已完成更新,將 zxc 參照遷移至 zx


問題:必須減少執行緒中的邊框間距。
影響:進行更新以減少執行緒中的邊框間距。


問題:更新 ktrace 序列化程式範本所需的更新,以便支援 val_type 參數,StringRef 則接受字串大小參數。
影響:已更新 ktrace 中的序列化程式範本和相依項目。


問題:需要在 C++ 中變更 Undef __UNUSED 的參照。
影響:更新在 C++ 中將參照從 Undef __UNUSED 變更為 maybe_unused


問題:建議採行樂觀的時間範圍延長期限。
影響:改善使用 Timeslice 擴充功能時,核心互斥鎖的效能。

虛擬化技術

  • 改善啟動 VM 失敗時的錯誤訊息。
  • vsh 工具從 C++ 移植到 Rust。
  • 已在 virtio-gpu 中實作遊標指令支援。
  • 新增了初始 vmm_launcher 元件。