快轉到主要內容

Surface Go 2安裝ChromeOS Flex + 設定Linux虛擬機

· 民國115年丙午年
·
切換繁體/簡體
分類 Linux系統 Linux系統安裝教學
標籤 ChromeOS Microsoft Surface Linux
目錄

Microsoft Surface Go 2是二合一的x86平板筆電,我想給Surface Go 2找一個適合在觸控與鍵盤之間快速轉換的系統。目前Android-x86基本已死,Bliss OS停更。要有一個簡單易用的觸控界面與鍵盤操作的電腦系統,當下選擇ChromeOS Flex了。

之前嘗試過給Surface Go 2安裝GNU/Linux,但Linux的桌面環境普遍不適合觸控螢幕使用,沒有鍵盤就活不下去。

如果99%時間的工作都能在瀏覽器完成,偶爾需要用到一點桌面程式的話,ChromeOS Flex是值得考慮的選擇。

1. ChromeOS Flex簡介
#

ChromeOS現在可以在Chromebook以外的裝置安裝,但不保證穩定性。這就是ChromeOS Flex,基於Google先前收購的CloudReady所釋出的通用映像檔,可以在一般的x86電腦安裝。

ChromeOS Flex是由Chrome瀏覽器作為主畫面的系統,跟一般的GNU/Linux發行版不太一樣。ChromeOS Flex核心使用Linux kernel,透過專門的Wayland合成器Exosphere顯示圖形界面。雖然上游ChromiumOS是開源專案,但ChromeOS Flex含有Google服務的閉源組件,屬於閉源系統。

ChromeOS Flex硬體需求極低,可以滿足基本上網需求,只要登入Google帳號就能使用,這個帳號可以是個人帳號,也可以是由企業組織統一管理。ChromeOS Flex主打雲原生,所謂的應用程式基本都是PWA構成。要安裝GNU/Linux的軟體得透過Crostini虛擬機執行。

反過來說,沒有網路ChromeOS就無用武之處。ChromeOS是專為Google生態系設計的系統,因此安裝ChromeOS你將會獲得Google 24小時的全方面監控。

為什麼選ChromeOS Flex:起碼這是Google官方維護的專案。

比較同類專案,ChromeOS Brunch要求的CPU架構太新。Project Croissant已經停止維護。FydeOS是專為中國用戶打造的系統,而且系統更新需要收費。

看來看去還是ChromeOS Flex就好了。聽說未來ChromeOS要跟Android合併,不過並不是現在的事情。要立即可用的系統,就是ChromeOS Flex。

雖然ChromeOS Flex跟Chromebook的ChromeOS比起來,拿掉了相容Android APK的能力(ArcVM虛擬機),但是它依然保留Crostini的Linux虛擬機,可以在裡面安裝Linux圖形程式。

ChromeOS是使用Linux核心的系統,透過linux-surface團隊upstream的努力,只要核心夠新,Surface Go 2的硬體驅動應該大部分都能用才對。

2. 安裝ChromeOS Flex
#

  1. 準備一個16GB以上的隨身碟

  2. 參考官網ChromeOS Flex 安裝指南,使用Chromium系列的瀏覽器製作開機碟。

  3. 或者手動下載.bin檔案,再用dd指令將.bin檔案寫入隨身碟。可以用Ventoy開機嗎?不行,我嘗試下載映像檔,將副檔名改為.img雖然可以開機,但會變成LiveUSB,無法啟動安裝程式。

  4. 安裝之前,確保Surface Go 2只有內部磁碟機。不要插入SD卡,我發現ChromeOS不能選分區,會導致它抓錯安裝位置。

  5. 將隨身碟插上Surface Go 2。開機時按著電源鍵 + 音量上鍵,進入UEFI

  6. 關閉Secure Boot。雖然ChromeOS Flex支援,但我懶得開。

  7. 設定為USB優先開機。

  8. 開機後按照指示安裝ChromeOS Flex系統。其實也沒什麼可選的,它會自動偵測硬碟位置並清除資料,重開機就可以用了。

3. 使用體驗
#

目前ChromeOS Flex版本145,使用Linux 6.6核心,Surface Go 2硬體功能幾乎正常!

ChromeOS很輕量,即使是在eMMC,開機速度不到30秒。不用的話完全可以直接關機。

Surface Go 2的觸控螢幕、自動旋轉、自動亮度、Wifi、藍牙都可以使用。

Surface手寫筆可以使用,在網頁執行的AFFiNE筆記程式可以確認到筆壓。

Inel IPU相機勉強能用,而且品質比GNU/Linux的好!?但還是比Windows的差。

ChromeOS內建注音中文輸入法,不論是用觸控還是打字輸入都很直覺,尤其是觸控輸入法,就跟用Android的Gboard沒兩樣。系統會自動偵測有無接上鍵盤並在適當的時候顯示。

任意網頁都可以安裝為PWA,新增到桌面。

系統界面操作跟Android平板很像,從底部滑出多工視窗。同時可以用觸控和滑鼠互動。Material You風格的界面會跟著桌布變色。

Chrome瀏覽器的分頁會顯示在螢幕頂部,顯示縮圖。

這裡Chrome功能跟Linux電腦版的Chrome並無二致。可以安裝uBlock Origin Lite擋廣告。又大部分ChromeOS程式都是PWA,所以這個擋廣告是全域有效的!

不過可能是Surface Go 2的CPU太弱的緣故,只要多工同時開著5個以上網頁,ChromeOS Flex系統動畫就會開始卡了。這個跟硬體的因素比較大。

預設情況下要放著大概10分鐘ChromeOS才會關閉螢幕。或者手動按電源鍵鎖定螢幕,等個1分鐘就會休眠。待機期間幾乎不耗電。

續航力部份,ChromeOS回報的預估是5小時左右,這個成績跟GNU/Linux一直開著Chrome差不多。畢竟耗電大戶Chrome瀏覽器就一直開在那,不耗電也難。

值得注意的是ChromeOS Flex預設解析度是1080x720?可是Surface Go 2有1080p螢幕呀!調整解析度後卻不能縮放。它好像沒辦法處理Chrome在1920x1080解析度縮放的問題。

4. 啟用Crostini Linux虛擬機
#

Crostini是專為ChromeOS研發的輕量虛擬機,有時會被稱為容器。它沒有使用QEMU/KVM,而是自己另外弄了一套更安全的模型出來。

需要指出的是,Linux虛擬機的程式可能會比ChromeOS本身還吃資源,因此硬體資源本身就不充裕的電腦請謹慎評估使用。

  1. 到系統設定啟用Linux開發環境

  2. 設定Linux使用者名稱,分配至少20GB硬碟空間。Linux圖形程式的依賴是比你想的還佔空間的。

  3. 這樣會得到一個Debian虛擬機。裡面就可以安裝一般GNU/Linux的程式了。透過「終端機」程式登入Linux Bash shell。

  4. 例如要裝Firefox,就直接從Debian套件庫安裝(Debian套件庫只有收Firefox ESR,如果要最新版Firefox得手動新增Mozilla的套件庫)

sudo apt install firefox-esr
  1. Linux 圖形程式(具體來說,是有XDG Desktop Entry的程式)會顯示在ChromeOS Flex的程式列表

  2. 也可以在終端機透過指令啟動:

firefox-esr
  1. 在Linux虛擬機開啟的X或Wayland程式視窗會透過Sommelier,轉發到ChromeOS的Exosphere合成器顯示。

  2. Linux圖形程式不能使用ChromeOS Flex的輸入法,需要在Linux虛擬機內安裝Fcitx5才能輸入中文。至於要在Linux圖形程式使用螢幕小鍵盤的話…目前辦不到。雖然有onbaord,但必須有完整Linux桌面才能使用。

  3. ChromeOS Flex會將宿主機目錄掛載到Linux虛擬機內部的/mnt/chromeos,包括ChromeOS內部空間與SD卡。從ChromeOS Flex的檔案管理器可以看到Linux內部家目錄的檔案。

  4. 若要更方便管理檔案,我的做法是在Linux虛擬機安裝KDE的dolphin檔案管理器,這樣就能方便調用Linux的程式編輯檔案,而不會被ChromeOS受限。例如,我可以在Dolphin使用GIMP開啟圖片編輯。(不過如果你在ChromeOS的檔案瀏覽器點選檔案,它也會提示你用Linux的程式去開)

預設的Linux程式GPU加速被停用了,需要手動開啟VirGL,打開Chrome,輸入chrome://flags#crostini-gpu-support,設定為Enabled,然後重開機。

但是開啟反而無法開啟圖形程式了…這個功能看來是壞掉的狀態。

因此我們只能執行簡單的文書程式,需要GPU加速的遊戲是玩不了的。

5. 安裝Android APP
#

這個功能由ArcVM虛擬機提供,但ChromeOS Flex刻意拔掉了這個功能。也許是難以維護的緣故。

不過我們可以透過Crostini安裝Waydroid呀!參考這個教學換個核心再安裝,裡面就有Play商店了,還有x86對ARM轉譯器libndk。

不過問題在於,Linux虛擬機沒有GPU加速,Waydroid只能靠軟體渲染,性能極差。

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。