(追記)Ubuntu MATE の公式ダウンロードページ に GPD Pocket 2 版の Ubuntu MATE イメージが公開されているようなので、今後はこの記事の方法ではなくそちらを使った方が良いかもしれない(既にこの記事の方法でインストールしてしまったので検証はしていない)
(追記)内蔵の MicroSD カードリーダーが作動しないとのコメントを頂いている(コメント欄参照)。所有しているデバイスがハードウェア的に左側の USB ポートが故障しているようで、そのデバイスで MicroSD カードリーダーが作動しないのも同様にハードウェア的な故障だと思っていたので気に留めていなかったが、ソフトウェア的な問題である可能性がある。
(追記)末尾にも追記がある。
Ubuntu MATE 20.04 を GPD Pocket 2 にインストールした。
まず、 Ubuntu MATE のダウンロードページには GPD 用のイメージは 20.04 はなかったので、標準イメージの 20.04 をダウンロードした。これを Rufus で USB メモリに焼いてインストール。WiFi は最初から見えているので、とりあえずインストールは通常通りの手順で行える。画面は 100% スケーリングかつ X 起動後は向きもおかしいが、とりあえず首を90度傾けてどうにかする。
インストール後、実際に使えるようにいくつか追加していく。Ubuntu MATE 18.04 の UMPC ポートのページを見るに画面、タッチパネル関係が主のようだ。WiFi はこのページで言及されているが、 Ubuntu MATE 20.04 と GPD Pocket 2 の組み合わせではそのまま認識した。ファンコントロールはリンク先の GitHub のコードを見る限り OS 組み込みのように見える。GRUB などの、 X 起動前は、なにもしなくとも正しい向きで表示されるようだ。
なので、さきほどのページからリンクされている https://github.com/wimpysworld/umpc-ubuntu のリポジトリから必要な項目だけを持っていくことにした。
まずは X 起動後に画面が 90 度傾いていることを解決する。画面が傾いているだけなら GUI から画面設定をいじればよいが、それだと今度はタッチパネルが 90 度傾いた状態で作動し、よくわからない状態になる。加えて GUI から画面設定を修正した場合はログイン前の画面などが直らないため、今度はログイン前にタッチの場所がずれることになる。なので、両方設定ファイルを修正するのがよさそう。先ほどのリンクから 40-gpd-pocket2-monitor.conf を /usr/share/X11/xorg.conf.d/ に、 99-gpd-pocket2-touch.rules を /etc/udev/rules.d/ にコピーし、再起動すると画面の向きは正常になった。
DPI を上げる設定はいくつか方法があるようだ。ただし、 Ubuntu 20.04 から正式導入された fractional scaling の機能は、検索した限りだと MATE に来ている様子はなかった(少なくとも見つけられなかった)。100% だと小さすぎるが 200% だと大きすぎる場合、ほかの方法は、そもそも実際より小さな解像度に見せかけるか、 xrandr で実際より大きな解像度でレンダリングして HiDPI 扱いで 200% にする Mac の Retina ディスプレイみたいなやり方か、 テキストの DPI 設定だけ大きくする(GUI で設定可能)か、といったあたりのようだ。HiDPI – ArchWiki にだいたい載っていた。とりあえず、いくつかの UI 部品が小さく表示されるものの、それ以上に厄介な問題を生じにくそうなテキストだけ DPI を GUI の設定画面で大きく設定することにした。
Firefox でタッチパネルを使うとスクロールすらできない問題が起こった。これは MOZ_USE_XINPUT2=1 という環境変数を入れることで、 Firefox 側の設定を変更し、正しく動作させることができたので、 ~/.xsessions に設定した。
(2022/12/17追記: Ubuntu 22.10 + MATE 環境では .xsessions では動いてくれなかった。Firefox 設定 – ArchWikiにあるように、 /etc/security/pam_env.conf に MOZ_USE_XINPUT2 DEFAULT=1 を追加すればうまくいった。)
純粋な CUI の文字サイズが小さい点は実用上どこまで問題になるか不明だが、一応先ほどのリポジトリを参考に、 /etc/default/console-setup の FONTSIZE を 8×16 から 16×32 に変更した。
ほぼタッチパネル液晶周りしかいじっていないが、ハードウェア依存な部分は一旦これで使い始められそうだ。解像度回りを考えると素の Ubuntu の方が楽かもしれないが、致命的ではないので、ひとまずは好みを優先して Ubuntu MATE でしばらく使ってみることにする。
(追記)99-gpd-pocket2-touch.rules は MATE じゃない素の ubuntu-desktop で使う場合は不要というかあると回転が狂うようだ。この 9 つの数字は3次元の回転行列のようなので、単位行列、すなわち 1 0 0 0 1 0 0 0 1 を入れたときに素の Ubuntu では正しく、今度は Ubuntu MATE では正しく回転が認識できない状態になる。
色々試した結果、 99-gpd-pocket2-touch.rules は有功のまま、さらに次のコマンドを打つとどちらからでも正しくタッチパネルが使用できる状態になった。これを GUI から Startup Application に登録したところ、ログイン前の MATE の画面、ログイン後の MATE の画面、ログイン後の ubuntu-desktop の画面がすべて正しくタッチできるようになった。
xinput set-prop 'pointer:Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
(追記)音が鳴るようなタイミング(通知音が鳴るようなタイミングや、ブラウザで動画の再生が始まった時)で、たとえスピーカーをミュートにしていてもスピーカーから「カッ」という音がする現象があった。確認できていないが個の挙動としてはそもそも使わない間はスピーカーの電源を切っているのだろうか。Popping sound on speakers when starting 19.3 (Solved) – Linux Mint Forums の記事を見ると省電力設定を解除しているようだ。lsmod を見るとこの端末もこの記事の設定ファイルと同じ snd_hda_intel を呼び出しているようだったので、/etc/modprobe.d/alsa-snd-hda-intel.conf を次の内容で作成して再起動すると直った。
options snd-hda-intel power_save=0
(追記)WiFi はこの設定で動作しているものの、明らかに見えるはずの SSID を掴めないことが多いように感じる。/lib/firmware/brcm/brcmfmac4356-pcie.txt についても対応したほうが良いかもしれないので試しに入れているが、再現方法すらわかっていないので何とも言えない。
(2022/12/27 追記)Ubuntu 22.10 までアップデートし、その間に素の Ubuntu のデフォルトが Wayland になったりサウンドドライバの何かが変わったりした。Wayland はとうとう X を利用しなくなるため、 xinput を素の Ubuntu の方に適用することができなくなる。 素の Ubuntu は画面回転を正しく認識するため /etc/udev/rules.d/99-gpd-pocket2-touch.rules の方は記述を削除し、代わりに Ubuntu MATE の方に90度回転する xinput set-prop をスタートアップで入れることで解決した。
また、スピーカーからクリック音が鳴る現象は、これまでの snd-hda-intel の power_save=0 だけでは直らなくなっていた。soundcard – Annoying click/popping sound on Ubuntu 20.04 – Ask Ubuntu にある通り、 /etc/pulse/daemon.conf の default-sample-rate を 48000 に書き換えることで、完全ではないが鳴る場面は減った。
(2023/07/08 追記)上で言及したスピーカーからのクリック音は、Unable to disable snd_hda_intel power_save through modprobe – Support / Sound – Manjaro Linux Forum のコメントで言及されている、 tlp が設定を変更しているというもののようだ。このコメントの通り、 /etc/tlp.conf の SOUND_POWER_SAVE_ON_AC, SOUND_POWER_SAVE_ON_BAT を 0 に変更して再起動すると解決した。