Fuchsia F10 版本資訊

日期:2023 年 4 月 12 日

版本:F10

我們已實施下列變更:

元件架構

除了 Opal、Kronk、cast_runnerweb_instance 之外,大多數元件現在都會以 v2 版本執行。

開發人員

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 中淘汰依附元件。影響:fuchsia_package 中的已淘汰的依附元件。不需要變更,但在 fuchsia_package 更新為使用元件和資產之前,系統會顯示警告訊息。


ffx

ffx 和其他工具已進行下列更新:

  • 如果產品套裝組合已存在於您的電腦上,產品套裝組合下載作業就不會重新下載產品套裝組合。
  • 新增清理先前下載的產品套裝組合功能。
  • 改善下載產品組合時的使用者介面。
  • ffx 元件複製外掛程式可在主機和目標上的元件之間複製檔案。
  • 可靠地恢復未完成的下載作業。
  • 設定檔工具:
    • 新增選項,可透過區塊回報記憶體用量。
    • 修正會對間接 VMOs 收取錯誤費用的會計錯誤。
    • 外觀改善,包括新增選項,可選擇人類可讀大小和確切大小、對齊輸出內容,以及提供更清楚的說明。
  • 偵錯工具:
    • 強化相容性支援功能,讓使用者看到的版本不相符情形減少。
    • 解決 Fuchsia VSCode 擴充功能的「偵錯工具未連線至裝置」問題。
  • 根據預設,所有元件測試都會受限於密封解析器;如果套件未宣告,則測試套件中啟動元件的測試會失敗。請參閱「密封元件解析」。
    • 更新 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,讓您更靈活地尋找來源檔案。
  • 改善連線錯誤的顯示方式。
  • 推出同步 UI;短時間執行的指令會阻斷輸入。
  • 已將 --force-repo 選項新增至 ffx product-bundle get,,這樣系統就會覆寫套件存放區,而不會因為先前有套件存放區而拒絕覆寫。
  • 在記錄中增加追蹤偵錯輸出內容。
  • 不允許部分下載:使用暫時性目錄,直到下載完成為止,避免部分下載問題。

問題:我們即將移除對 OAuth2 OOB 的支援。
影響:更新為預設的 OAuth2 非 OO B 工作流程。


問題:在列出或移除套裝組合時,product-bundle 工具不會傳回任何內容,也不會有效通知使用者。
影響:我們已完成更新,當工具找不到套件時,會更明確地顯示。


問題:使用者不清楚 remove --all 指令會刪除哪些套件。
影響:已更新清單,列出先前要移除的套件。


問題:ffx product-bundle list的排序順序導致最舊的圖片顯示在清單頂端。
影響:更新清單的反向排序順序,以便將最新的組合包列為首要項目。


問題:嘗試get重複的產品套件訊息 (PBM) 時,工具會顯示重複的 repo 訊息,而非重複的套件訊息。
影響:已修正重複的 PBM 訊息排序問題。


問題:預設移除指令會移除樹狀結構中的版本。
影響:已修正移除樹狀結構中的版本。


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

診斷

  • Archivist 不再提供生命週期事件做為資料來源,只提供檢查和記錄。我們也重構了 Archivist,讓這個工具能使用新的事件串流功能擷取資料。
  • 我們已實作 RFC-171,現在可確保所有元件都能取得 LogSink,進而改善開發人員體驗。
  • 改善分類剖析器,並改善 _-separated numbers, Any, All 等部分語言。
  • 重新整理 Sampler,避免產生空白直方圖儲存區,進而減少 Cobalt 的負載。
  • ffx inspect 新增了許多功能,例如:ffx inspect list-filesiquery show –file 和 globs,並已改善為不依賴 hub。
  • 我們修正了 Rust 記錄程式庫的幾個錯誤,並縮小了記錄程式庫的大小,以節省 BlobFS 的空間。

FIDL

我們已開始在二進位檔中推出對未知互動的支援功能。請參閱 RFC-0138

圖形和媒體

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

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


問題:使用 Driver Framework v2 時,驅動程式會發生死結。
影響:i915 顯示器驅動程式庫已移至 Driver Framework v2。

HCI (輸入、無障礙、i18n 和 View 系統)

問題:在場景控制器中發生測試失敗。
影響:更新內容可讓用戶端使用原始 ViewportCreationToken 呈現平面地圖檢視畫面。


問題:在 Flatland 中,醒目顯示的顏色不同。
影響:修正 Flatland 中的 a11y 醒目顯示顏色。


問題:需要具備螢幕截圖功能。
影響:更新內容,新增圖片壓縮骨架。


問題:當剪貼簿內容變更時,應通知使用者。
影響:更新內容為新增剪貼簿監控方法。


問題:需要新增圖片翻轉選項 API。
影響:更新內容為新增圖片翻轉選項 API。


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

核心

問題:需要更新,才能為 PID 0 發出名為「kernel」的程序記錄,以便恢復與原始 ktrace 匯入器的對應關係。
影響:為核心建立含有核心執行緒和個別 CPU 事件追蹤記錄的程序記錄。


問題:需要能夠在本機和自動化中,根據預設透過 UEFI 啟動模擬器。
影響:更新後,可在自動化環境中於模擬器上進行 UEFI 測試。


問題:需要使用 zx 遷移 zxc 程式庫。
影響:已更新,將 zxc 參照遷移至 zx


問題:需要減少執行緒中的邊框間距。
影響:更新內容可減少執行緒中的邊框。


問題:ktrace 序列化器範本需要更新,才能支援 val_type 參數,並讓 StringRef 接受字串大小參數。
影響:已更新 ktrace 中的序列化器範本和依附元件。


問題:需要變更 C++ 中的 Undef __UNUSED 參照。
影響:我們已更新 C++ 中的參照,將 Undef __UNUSED 變更為 maybe_unused


問題:建議採用樂觀時間片段延長功能。
影響:使用時間片段擴充功能時,可改善核心互斥鎖效能。

虛擬化

  • 改善啟動 VM 失敗時顯示的錯誤訊息。
  • vsh 工具從 C++ 移植至 Rust。
  • virtio-gpu 中實作游標指令支援功能。
  • 新增初始 vmm_launcher 元件。