Surface Pro 3にlinuxを導入した

Posted on July 27, 2020 by flow_6852

僕はlinux環境に興味を持っています. 論文を読んだりノートを取ったりするために最初はiPadを購入しようと考えていましたが, 僕は持っているほとんどの端末がlinuxとなっているためiPadを購入するよりも 何かしらのタブレットを購入してそこにlinux環境を入れる方がメンテナンスがしやすく, iPadよりも使いこなせるのではと思ってSurfaceにlinuxを入れてiPadのように使うことを目的としました(そしてそれをiPadと呼ぶことにしています). この記事は今後同じようなことをするかもしれないので備忘録として残しておきます.

ハードウェアの購入

僕はSurface Pro 3(本体とタイプ入力カバー)のバルク品が安かったためそれを購入し, 充電器やペンがなかったためサードパーティ製のものを,フィルム合わせて一つずつ追加で購入しました. それぞれ順に.15290円,3580円,5990円,945円です.

linuxのインストール

ArchLinuxを導入しました.(archwiki install guide)

インストール自体はデスクトップ等と変わりなかったのでそこまで苦労しませんでした.

補足

僕の購入したSurface Pro 3は最初からbit lockerとSecure bootがオフになっていたのでそこで苦労はしませんでしたが もし新品を購入した場合はその2つをオフにしないとインストールに失敗する(起動ができないのほうが正しいかもしれない)ので bit lockerとSecure bootをオフにするようにしてください.

その他のアプリケーション(ディスプレイマネージャ等)

主に導入したものは以下の通りです.

(タブレットPCarchwiki Surface Pro 3を参考にしました)

モニタの自動回転について

Linuxで画面&タッチスクリーンを90度回転を参考に自作のbashスクリプトを作成しました.

#!/bin/bash

while read i ; do
	check=$(echo $i | grep A | awk -F ':' '{print $2}')
	case "$check" in 
		" normal" ) num=0; rot="1 0 0 0 1 0 0 0 1";;
		" right-up" ) num=3; rot="0 1 0 -1 0 1 0 0 1";;
		" left-up" ) num=1; rot="0 -1 1 1 0 0 0 0 1";;
		" bottom-up" ) num=2; rot="-1 0 1 0 -1 1 0 0 1";;
		* ) continue;;
	esac
	xrandr -o $num
	# xsetwacom set stylus Rotate $rot
	while read i; do
		id=${i#*id=}
		xinput set-prop ${id%%[*} 'Coordinate Transformation Matrix' $rot
	done < <(xinput list | grep pointer | grep NTRG)	
done

i3の設定ファイルにexec --no-startup-id monitor-sensor | ${PATH}/rotate.shを追加してあげれば, モニタを傾けた時に自動でディスプレイとタッチスクリーンを変更してくれます.

wi-fi接続に関して

ここまでの設定では特に苦しんだところはありませんでしたが, wi-fiに接続している時に突然繋がらなくなるという問題が発生していました. これはカーネルモジュール(mwifiex_pcie)が省電力モードをデフォルトで行っていることがわかりました. (https://wiki.archlinux.org/index.php/Talk:Microsoft_Surface_Pro_3) (もしかしたらまた突然切れるかもしれない)