Surface Go 2にGNU/Linuxシステムをインストールする方法を紹介します。

Microsoftが出しているSurfaceタブレットファミリーの中に、中低価格帯のモデルがあります。それがSurface Goシリーズです。搭載されているプロセッサはどれもエントリークラスです。Microsoftがどれだけ最適化しても、Windows 10を動かすと息切れする事実は変わりません。バッテリー持ちはいまいち、筐体は熱くなりやすい、CPUはすぐ100%、さらにWindowsのシステムファイルが大量のディスク容量を占有します。低スペック機のいつもの味です。
そこへLinuxシステムを入れ替えてインストールすれば、ユーザー体験をある程度改善できます。見てください。インストール直後のLinuxシステムが使うディスク容量は10GB未満で、起動直後のRAM使用量は約1GBです。
Surfaceシリーズのタブレットは、大半がx86アーキテクチャのIntelプロセッサを中心にしたデバイスです。標準的なUEFIを備えており、さらにIntelはLinux上流へ積極的に貢献しているため、Linuxディストリビューション側のサポートは全体的に良好です。
また、Surfaceタブレットで使われている特殊なドライバについては、linux-surfaceプロジェクトのチームが専用カーネルを提供しており、互換性を高められます。
Surfaceの機能の大部分はLinuxでも正常に使えます。タッチスクリーン、キーボード、MPPプロトコルのスタイラス、自動回転、自動輝度、スタンバイ、VA-APIによる動画デコードアクセラレーションなどです。
Linuxデスクトップは比較的リソースを食わないので、余ったリソースで軽めのSteamゲームを遊ぶことも可能です。
Waydroidコンテナを使えば、Androidアプリもシームレスに動かせます。
バッテリー持ちについては、使うアプリ次第です。一般的にChromiumブラウザでWebを見ながら文字入力する程度なら、Linuxを入れたSurface Go 2は約5時間持ちます。この結果はWindowsと一長一短です。そもそもSurfaceはWindows向けに設計されたハードウェアなので、LinuxカーネルのスケジューリングをWindowsと同列に比べるのは無理があります。
1. 前提条件#
ここではIvonがSurface Go 2 (Intel Pentium 4425Y、4G/64G) Wifi版を使って実演します。
Surfaceシリーズのハードウェアに対するLinuxのサポート状況については、Githubのこの表を参照してください:Supported Devices and Features
執筆時点でSurface Go 2最大の問題はカメラ品質の悪さです。Intel IPU3カメラはぎりぎり使えますが、Linuxでの撮影品質はWindows上の品質ほど良くありません。さらにカメラはlibcameraとPipeWireに依存しており、カメラへアクセスできるのはFirefoxだけです。他のアプリからカメラへアクセスするには、v4l2loopbackでデバイスをエミュレートする必要があります。今後の改善待ちです。
可能であれば、Windowsシステムを最新版へ更新しておきましょう。UEFIも含めます。UEFI更新プログラムはLinux上では使えない可能性があるためです。
2. Linux起動ディスクを作成する#
どのLinuxディストリビューションを使うべきか?x86アーキテクチャ対応のLinuxディストリビューションなら選択肢に入ります。Debian、Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo、postmarketOSなどです。あとは個人の好みと用途次第です。安定性が欲しいならDebian & Ubuntu、最新機能が欲しいならFedora & Arch Linuxを選びます。
ここではFedora Linuxを選びました。最新版のソフトウェアを使えますが、少し不安定です。デスクトップ環境はKDE Plasmaにします。完全なPC向けデスクトップがあり、仮想キーボードもあります。これでSurface GoをノートPCとしてもタブレットとしても使えます。物理キーボードを使わず、よりタブレット寄りの操作感にしたいなら、デフォルトのGNOMEデスクトップのほうが良いです。
Linuxをインストールする前に、Windows Updateでシステムとファームウェア(Firmware)を最新版へ更新しておくのがベストです。Linuxからはこれらのドライバをダウンロードできない可能性があります。
Fedora公式サイトからISOをダウンロードし、KDEデスクトップ版を選びます。
それからVentoyで起動ディスクを作成します。
Surface Go 2のポートはType-Cしかないため、USBメモリを挿すにはType-C拡張ハブが必要かもしれません。Surface Go 2はSDカードから起動できません。
3. Linuxのインストールを開始する#
Surface Go 2の電源を切ります。
電源ボタンと音量上ボタンを長押ししてUEFIに入ります。この画面はタッチ操作できるのでキーボードを接続しなくても構いません。ただし、その後のLinuxインストールでは物理キーボード操作が必要になる可能性があります。
FedoraはSecure Bootに対応していますが、それでもSecure Bootは無効化することをおすすめします。ドライバをインストールするときに手動署名が必要になるのを避けるためです。

起動順序をUSBメモリに設定します

起動し、画面の指示に従ってインストールします。ディスク全体を消去してFedoraをインストールする選択肢を選びます。

中国語入力については、Fcitx5をインストールします:
sudo dnf install fcitx5 fcitx5-chinese-addons fcitx5-chewing fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool- 小技:FedoraはデフォルトでzRAMを有効化しています。Surface GoのRAMが少なすぎる場合は、
/etc/systemd/zram-generator.confを編集してSWAP値を増やし、利用可能なRAMを増やします。単位はMBです。
[zram0]
zram-size = 81924. linux-surfaceカーネルを追加インストールする#
linux-surfaceカーネルには、Surfaceハードウェア向けに設計されたドライバパッケージとパッチが含まれています。一部はすでに上流へマージされており、現在のLinux 6.12以上のカーネルにはSurface Go 2向けドライバの大半が含まれています。特別な需要がなければ、これをわざわざ入れなくても構いません。
DebianやUbuntuのような安定リリース系ディストリビューションのユーザーにとって、サードパーティが保守するlinux-surfaceカーネルを入れることは、システムの不安定化につながります。ハードウェア機能が正常に動いているなら、Linuxディストリビューションが提供するカーネルを使えば十分です。
- Githubの指示に従ってインストールします。Fedoraの場合は、linux-surfaceチームが運営するリポジトリをシステムへ追加します:
sudo dnf config-manager \
addrepo --from-repofile=https://pkg.surfacelinux.com/fedora/linux-surface.repo- 次にlinux-surfaceカーネルをインストールし、再起動します
sudo dnf install --allowerasing kernel-surface iptsd libwacom-surface- 現在のカーネルが切り替わったか確認します。
linux-surfaceが表示されるはずです
uname -a- Fedoraはシステムカーネルの更新頻度が高く、新しいカーネルがlinux-surfaceカーネルを上書きする可能性があります。そのため、linux-surfaceパッケージのインストール後は
linux-surface-default-watchdog.pathサービスが自動的に有効化され、起動時にlinux-surfaceカーネルが使われるよう保証します。
5. KDEデスクトップでの仮想キーボードの使い方#
物理キーボードを接続していないとき、KDE Plasmaは自動的にタブレットモードへ入ります。
KDE Plasma 6内蔵の仮想キーボードはMaliit Keyboardです。英語と中国語入力に対応していますが、バグは多く、どうにか使えるレベルです。ここで忍耐力も一緒に鍛えられます。
システム設定 → キーボード → 仮想キーボードで有効化します。注意点として、このキーボードはFcitx5と同時に使えません。
その後、画面上の入力欄をタップすると、キーボードが表示されるはずです。
KDEのシステム設定ではタッチジェスチャーをカスタマイズできます。たとえば私は、画面左側からスワイプするとすべてのウィンドウ概要を開くように設定しました
ただし、KDE Plasmaのデスクトップモードは、多くの場合まだキーボードとマウスでの操作が必要です。
純粋なタッチ操作にしたい場合は、plasma-mobileまたはPhoshのデスクトップ環境を追加インストールすることをおすすめします
sudo dnf install plasma-mobile「Plasma Mobile」のデスクトップ環境は、起動後のログイン画面で切り替えられます
Plasma MobileではAndroidタブレットに近い体験が得られます。設定ファイルの一部はKDE Plasmaと共有されています。

plasma-mobileのシステム設定では、拼音と注音入力方式を有効化できます。

