Surface Pro 5にChrome OS Flex入れてみた

状態のよいMicrosoft Surface Pro 5を手に入れました。実はSurface Proは独特の実装でWindows以外のOSだとタッチパネルが動作せず……。そこを何とか動作するようになったので自分のメモとして書いておきます。

手に入れたSurface Pro5、元はWindows10 Proだったけれど、現代ではそのまま使えず。

CPUはi5-7300U。7世代ではWindows11にするのもちょっと厳しい。こちらを手に入れたのは、もともと使っていたLenovoのChrome OSタブレットの動作が重くて、その代わりにするつもりだったのでChrome OSにしたかったのです。

BIOSじゃなくてUEFIどうやって起動すんだ?

https://support.google.com/chromeosflex/answer/11552529?hl=ja

こちらの手順でインストールUSBを作成して標準の導入方法を進めてすぐ気が付く。USB起動ってどうやんだ?

こちらも独特で、タブレットサイドの音量+を押しながら電源ボタンで起動。ロゴが出たら電源ボタンだけから手を放すと起動。

タッチパネル反応しないじゃん

手元にZorin OSのインストーラーUSBがあったので、試しにこちらをUSB Live起動してみて気が付いた。タッチパネル反応しねえじゃん!

次に Chrome OS Flexで起動すると、やっぱりタッチパネル反応しない。

ついてきたのがSurface標準ではないBluetoothキーボードだったので、まずBluetooth認識する前の段階なので操作不可。

USBコネクタAタイプは1つしかないので、インストールUSB媒体とUSB接続のキーボードを一緒につなげない。

Amazonでこちらを注文。初日はここまで。めちゃくちゃ安いですね。

https://amzn.to/4cyBQID

secure bootはOFF

UEFI画面ではセキュリティブートをNoneにしておかないとインストールと実行ができませんでした。

Zorin OSをSurface Pro5にインストールする

Zorin OS自体はすんなりインストールできたものの、やはりタッチパネルは反応せず。

調べてみると、有志によるカーネルど導入することでタッチ動作可能とのこと。linux-surface プロジェクトというやつ。

https://github.com/linux-surface/linux-surface

公式リポジトリを追加

wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
 | sudo tee /etc/apt/trusted.gpg.d/linux-surface.asc

echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
 | sudo tee /etc/apt/sources.list.d/linux-surface.list

パッケージ一覧を更新

sudo apt update

Surface用カーネルをインストール

sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surface

再起動すると、たしかにタッチパネルが動作しました。

けれど、ブラウザの入力欄にポインターを置いてもスクリーンキーボードは起動せず。Zorinアイコンをクリックして検索に文字を入力しようとすると、キーボードが入力欄を隠してしまって使い物にならなかったり。

本命はChrome OSなので、こちらはお試しにとどめました。

その他の候補

そのほかにSurface Proに対応しているLinux ディストリビューションがないのか探したところ、Android(BlissOS)というのがありました。こちらもLive起動を試してみましたが、アンドロイドなんですね。標準でSurfaceに対応しているようであるものの、ちょっと独特すぎてギブアップ。

本命Chrome OS Flexをインストール

普通にインストールするとやはりタッチに反応ありませんでした。そこで調べていくと、Brunch というプロジェクトがありました。

https://github.com/sebanc/brunch

そして、こちらのインストールを解説してくれているQiita記事も見つけました。

https://qiita.com/exfinen/items/83b6b81aec07511c63a7

ちょっとわかりにくかったのでさらに解説すると、USBメモリを2本使います。最終的なインストール先はSurface Pro本体のSSDなので、ドライブは3つというのをまず理解。

USBメモリ①: Chrome OS/Brunch用。ここにはChrome OS公式イメージとBrunchのimgおよびスクリプトが格納されます。

USBメモリ②: Linux Mintをライブ起動。まずこれで起動してメモリ①を使って、SSDを書き換えるというイメージ。

上記が理解できていると、Qiita記事が理解できます。

インストールに

sudo bash chromeos-install.sh -src $(ls *.bin) -dst /dev/sda

という部分があるけれど、-src $(ls *.bin) の部分は、USBドライブ内の.binの実際の名前に書き換えて動かしました。

-dst の後ろはインストール先だけれど、Surface Pro5の場合は /dev/nvme0n1 になります。

インストール完了、再起動したが・・・

無事にChrome OSがインストールできたようなので再起動してみたものの、まだタッチパネル反応せず。

実は最後にセッティングする必要がありました。起動すると以下の選択肢があらわれるので、 ChromeOS(settings)のほうを選びます。

たぶん一番新しいのを選べばいい。

いっぱい選択肢が出てきます。選択はスペースキーだけど、何もえらばずエンターキーを押して次のページへ

ipts_touchscreen をスペースキーで選択して何回かエンター。Yesを入力して保存。

ちなみに一つ下にあるithc_touchscreen は、11世代以降のSurface Proの場合の選択肢のようです。

これにて無事にChrome OS Flex化に成功しました!

usb-c 変換はあると便利そう

https://amzn.to/4eIPMkw これ買っておく。

その他の設定項目

Copilotの回答をそのままですが、ご参考に。

enable_updates

  • Chrome OS の自動アップデートを有効化
  • ✅ 基本的に ON推奨
  • ❌ OFFにするとセキュリティ更新停止

👉 通常は 有効にする


enable_crosh_sudo

  • Chrome OS の crosh(Ctrl+Alt+T)で sudo を使えるようにする
  • 開発・調査用途向け
  • ✅ Brunchでは実質 ON推奨

👉 トラブル調査をするなら必須


pwa

  • Progressive Web Apps を強制有効化
  • 現在の Chrome OS では ほぼ常時ONがデフォルト
  • ✅ 意識しなくてOK

パフォーマンス・挙動調整

increase_swapiness

  • メモリが少ない環境向けに スワップを積極利用
  • ✅ RAM 4GB以下なら効果あり
  • ❌ 8GB以上なら不要

android_init_fix

  • Android起動失敗・再起動ループ対策
  • ✅ Androidコンテナが動かない時だけ試す

ストレージ関連(注意)

mount_internal_drives

  • Chrome OS から 内部ドライブをマウント可能にする
  • ✅ データ救出・検証用途
  • ⚠ 誤操作リスクあり

disable_sdcard_storage

  • SDカード 完全無効化
  • 認識不安定な機種用

disable_usb_storage

  • USBストレージ無効化
  • ✅ セキュリティ用途以外では 通常不要

オーディオ・カメラ

chromebook_audio

  • Chromebook標準音声構成を強制
  • ✅ 音が出ない場合に試す価値あり

native_chromebook_image

  • Chromebook実機前提の動作に寄せる
  • ⚠ 一般PCでは副作用が出ることあり
  • 通常 OFF

invert_camera_order

  • 内外カメラの順序を入れ替える
  • Surface系では ほぼ意味なし

no_camera_config

  • カメラ設定を完全無効化
  • 認識不具合回避用

無線・Wi-Fi系

broadcom_wl

  • Broadcom製Wi-Fiチップ用
  • ✅ Broadcom搭載機のみON
  • ❌ Intel Wi-Fi なら不要

Linux(Crostini)関連

fulllfs_disablellax

  • Linuxコンテナの制限を緩和
  • 開発用途向け
  • ✅ Linuxを使い倒すならON

Realtek系(下段の rt18xxxx)

rtl8188eu
rtl8192eu
rtl8723bu
rtl8812au
rtl8814au
rtl8821ce
rtl8821cu
rtl88x2bu
rtl8851be
rtl8852ae
rtl8852be
rtl8853ce

これらは何?

  • Realtek製USB / PCIe Wi-Fiドライバ
  • 外付けUSB Wi-Fiアダプタ向け

使い方

  • 自分のWi-Fiチップ型番と一致するものだけON
  • ❌ 複数ONはNG(競合)

👉 Surface Pro 5(Intel Wi-Fi)では 全て不要

調べ事の軌跡

Qiitaでこんな記事も書いてます!