Microsoft Surface Pro 3
このページでは Microsoft Surface Pro 3 タブレットで Arch Linux を動作させるのに必要な情報を集めています。
インストーラの起動
USB から起動するには、USB や SD カードから起動するようにタブレットを設定する必要があります。また、Secure Boot を無効にすると、起動するたびに "Surface" のスプラッシュロゴに合わない赤い背景が表示されるので、無効化しないほうが良いでしょう。
Surface Pro 3 には3種類のブートが存在します [1]:
- 通常モード
- 何も操作しないと通常モードで起動します。UEFI 設定の "Alternate Boot order" から起動順序を変更できます。
- UEFI 設定の起動
- デバイスの電源を切る (あるいは再起動する、ただし電源オフの方が安全です)
- Volume up を押す、そのまま押し続ける
- 電源ボタンを押す
- Surface ロゴが表示されるまで待つ
- Volume up を離す
- UEFI 設定メニューが表示されます
- USB/SD カードの起動
- デバイスの電源を切る
- Volume down を押す、そのまま押し続ける
- 電源ボタンを押す
- Surface ロゴが表示されるまで待つ
- Volume down を離す
Secure Boot の無効化
UEFI 設定を起動して、Secure Boot Control > Disable を選択してください。それからインストールに進んで下さい。詳しくは [2] を参照。
Secure Boot で起動
Unified Extensible Firmware Interface#Secure Boot を見て下さい。
インストール
systemd の bootctl を使う Systemd-boot (旧 Gummiboot) でインストールすることができます。インストールガイドの手順を全て完了したら、あと2つのことをやる必要があります。ローダーの中に vmlinuz が登録されていないため、新規インストールでは Secure Boot で起動することができません。
設定を行う一番簡単な方法は以下の通りです。再起動をする前に行なって下さい:
- chroot から退出する。ただし何もアンマウントしないで下さい。
/mnt/boot/EFI/boot/bootx64.efi
を/mnt/boot/EFI/boot/loader.efi
に移動/boot/EFI/boot/bootx64.efi
とHashTool.efi
を/mnt/boot/EFI/boot/
にコピー (/boot
に HashTool が存在しない場合は/usr/run
の中を見て下さい)
これで、Gummitboot ローダーを起動するための Preloader が有効になり、何か署名されていないものが検出されると、HashTool.efi
を起動して vmlinuz-image バイナリに署名を行います。署名がされていても、されていなくても、ハッシュの保存処理が繰り返されるので、Secure Boot が有効になっていても自由にカーネルを起動することが可能です。
設定
タッチパッドやスクリーンなどは最新のカーネルでサポートされていますが、ウェブカメラなどはサポートされていません。Arch Linux における Surface Pro 3 のサポート状況を追跡する github リポジトリが作られており、そこから現状を確認できます: [3]。
Surface のデバイスをサポートする、Surface Pro 3 専用の Linux カーネルパッケージも存在します。AUR の linux-surfacepro3AUR[リンク切れ: パッケージが存在しません] からインストールできます。あるいは上流からパッチを取得してください [4]。
パッチを適用してカーネルをコンパイル
カーネル/コンパイル/伝統的な方法#ビルド設定を参照してください。
Surface Pro 3 の Linux カーネルハードウェアパッチ
カーネル 4.3 以上では、マルチタッチとカメラのパッチだけが必要です。
タッチパッドの有効化
xf86-input-synaptics パッケージをインストールして、カーネルパッチを適用し、以下を /etc/X11/xorg.conf.d/10-multitouch.conf
に追加してください (参照: GitHub):
Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "ClickPad" "true" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection
ペンの設定
ペンを動作させるには設定が必要です。xf86-input-wacom パッケージをインストールして /usr/share/X11/xorg.conf.d/10-evdev.conf
の MatchIsTablet
セクションをコメントアウトしてください。さらに、/usr/share/X11/xorg.conf.d/50-wacom.conf
の N-Trig の MatchProduct
行に 1B96:1B05 Pen
を追加してください。また、紫の Bluetooth ボタンをトリガとして使うことができます (参照: Reddit)。
仮想キーボード
デスクトップ環境によって、様々な仮想キーボードを使うことができます。onboard が使いやすく安定しています。最適な設定方法は こちら にあります。GNOME を使用している場合、より良い統合を行うための拡張が2つ存在します (1, 2)。
Secure Boot が有効な状態で起動
Secure Boot が有効な UEFI で推奨されるブートローダーは systemd-boot です。
Secure Boot で起動するには、次のパッケージが必要になります: efibootmgr, efitools。
参照: Surface Pro 3 and Secure Boot post-install。
/boot/EFI/systemd/systemd-bootx64.efi
を /boot/EFI/systemd/loader.EFI
にコピーしてください。
/usr/lib/prebootloader/HashTool.efi
と /usr/lib/prebootloader/PreLoader.efi
を /boot/EFI/systemd/
にコピーしてから PreLoader.efi
の NVRAM エントリを作成してください:
efibootmgr -d /dev/sdX -p Y -c -L Preloader -l /EFI/systemd/PreLoader.efi
エントリが作成されたこと、ブート順で一番最初になっていることを確認:
efibootmgr
ブートローダーでカーネルを登録してください: Unified Extensible Firmware Interface#Secure Boot。HashTool.efi と vmlinuz-linux を登録してから、システムを再起動します。これで Secure Boot が有効でも起動できるはずです。
トラブルシューティング
Invalid signature detected check secure boot policy in setup
Secure Boot データベースを削除して Microsoft & CA で初期化すると発生します。以下の手順で修復できます:
- リセット後、電源を切って SD/USB から起動できるか試して下さい。起動できず何度もメッセージが表示される場合:
- TPM & SecureBoot を有効にして Alternate System Order を SSD Only にしてください
- もう一度データベースをリセットしてください
- Microsoft と CA をもう一度登録してください
- volume down で sd/usb を再起動します
- Secure Boot のインストールの手順に従って下さい
上記の設定をしても直らない場合、archiso イメージをもう一度書き込んで再度試して下さい。
キーボードカバーが機能しない
再起動すると問題が発生することがあります。シャットダウンか再起動すれば解決します。
Xournal におけるペンとタッチスクリーンの問題
xf86-input-wacom パッケージを使用している場合、最新リリースの xournalAUR (0.48.2) にはバグが存在し Surface ペンが間違ってタッチスクリーンデバイスとして認識されることがあります。開発版のソースコードで修正されているため xournal-gitAUR パッケージをインストールすることで問題は解決します。インストールしたらタッチスクリーンデバイスとして 'NTRG0001:01 1B96:1B05' を選択する必要があります (Options > Pen and Touch)。