Ubuntu Weekly Recipe

第544回 GPD PocketにUbuntuをインストールする

この記事を読むのに必要な時間:およそ 4.5 分

第543回ではGPD PocketにUbuntu MATEをインストールしました。しかしながら第543回の末尾でも言及したように,Ubuntu MATEではないGNOME Shell版のUbuntuもインストールできます。今回はUbuntu MATEのカスタマイズ部分を確認しつつ,Ubuntu 18.10をGPD Pocketにインストールしてみましょう。

図1 Ubuntu 18.10がインストールされたGPD Pocket

画像

GPD Pocket版では何をやっているのか?

まずはGPD Pocket版がどのようなカスタマイズを施しているか確認しましょう※1)⁠

※1
実はここで紹介するカスタマイズにUbuntu MATE固有の処理はほとんどありません。同じ設定を行えば普通のUbuntuや他のフレーバーでも利用可能です。

GPD Pocket版Ubuntu MATEのインストールイメージはWimpy's Worldのこちらのシェルスクリプトを用いて構築されています。これはISO_INで指定されたイメージ(ubuntu-mate-18.10-desktop-amd64.iso)を展開し,必要な設定ファイルを書き込み,再度ISOファイル(ubuntu-mate-18.10-desktop-amd64-gpd-pocket.iso)として構築し直しているスクリプトです。

つまりこのスクリプトの中身を理解すれば,GPD Pocket用に何をやっているかがわかります。もちろんISO_INを変更すれば,別のISOイメージにも適用可能です。

それではスクリプトの中の重要な点を見ていきましょう。

ディスプレイの設定

まずはディスプレイの設定です。GPD Pocketで採用しているディスプレイはタブレット用のディスプレイを採用しているらしく,縦置きが標準の設定です。このためX.orgに時計方向に右回転する設定を行っています。

具体的には/usr/share/X11/xorg.conf.d/40-gpd-pocket-monitor.confを作成し,Monitorセクションに次のような内容を記述しています。

# GPD Pocket
Section "Monitor"
  Identifier "DSI-1"
  Option     "Rotate"  "right"
EndSection

# GPD Pocket2
Section "Monitor"
  Identifier "eDP-1"
  Option     "Rotate"  "right"
EndSection

このうちDSI-1がGPD Pocket用の設定で,eDP-1がGPD Pocket2の設定です。GPD Pocket 2ではCPUがIntel Atom x7-Z8750からIntel Core m3-7Y30に変わったためか,よりノートPC向けに使われているeDPインターフェースを使用しているようです。

ちなみにこの設定は,18.10上だと本来は不要になっています。実際,GPD PocketにUbuntu 18.10をインストールすると,上記の設定の有無に関係なく横置きの解像度になるよう,適切にディスプレイの回転を行います。

ちなみに現在使われているディスプレイの情報は次のように取得できます。

$ xrandr --listmonitors
Monitors: 1
 0: +*DSI-1 1229/325x768/203+0+0  DSI-I

また,設定できる解像度の一覧は次のように取得します。

$ xrandr --current
Screen 0: minimum 320 x 200, current 1229 x 768, maximum 8192 x 8192
DSI-1 connected primary 1229x768+0+0 right (normal left inverted right x axis y axis) 0mm x 0mm
   1200x1920     60.38*+
   1920x1200     59.88    59.95
   1920x1080     60.01    59.97     59.96    59.93
(中略)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

上記はGPD Pocket版Ubuntu MATEの結果です。これをUbuntu 18.10で実行すると,次のような結果になります。期待通り1920x1200になっている(ディスプレイとしては1200x1920を右回転している)ことがわかりますね。

$ xrandr --listmonitors
Monitors: 1
 0: +*DSI-1 1920/508x1200/318+0+0  DSI-I

$ xrandr --current
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192
DSI-1 connected primary 1920x1200+0+0 right (normal left inverted right x axis y axis) 0mm x 0mm
   1200x1920     60.38*+
   1920x1200     59.88    59.95
   1920x1080     60.01    59.97     59.96    59.93
(中略)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

タッチスクリーンの設定

画面を回転した場合,タッチスクリーンの座標も回転しておかないと辻褄が合いません。こちらもX.orgのInputClassセクションで変更します。設定ファイルは/usr/share/X11/xorg.conf.d/99-gpd-pocket-touchscreen.confです。

Section "InputClass"
  Identifier   "calibration"
  MatchProduct "Goodix Capacitive TouchScreen"
  Option       "TransformationMatrix"  "0 1 0 -1 0 1 0 0 1"
EndSection

TransformationMatrixはアフィン変換を行う3x3の変換行列を指定します。変換しない場合は「1 0 0 0 1 0 0 0 1」です。こちらも実は18.10だと明示的な変換が不要なようです。

InputClassの設定結果は,xinput listコマンドでVirtual core pointerから「Goodix Capacitive TouchScreen」のIDを確認し,xinput list-props IDを実行すると表示されます。また一時的に設定を変更したい場合はxinput set-propを使用すると良いでしょう。

Slick Greeterの設定

Slick GreeterはUbuntu MATEで採用されているLightDMのGreeter(ログイン画面を担当するソフトウェア)です。GPD Pocketは画面サイズ(7インチ)に対して高解像(1900x1200)であるため,そのままだとログイン時の入力フォームが小さくなってしまいます。そこでSlick GreeterのHiDPIを有効化しているのがこの設定です。

/usr/share/glib-2.0/schemas/99_gpd-pocket.gschema.overrideに次の内容を記述しています。

[x.dm.slick-greeter]
enable-hidpi='on'

UbuntuではLightDMではなくGDMを利用しています。GDMで該当する設定は,org.gnome.desktop.interfaceスキーマにあるscaling-factorキーの値です。

$ gsettings get org.gnome.desktop.interface scaling-factor
uint32 0

「0」はディスプレイの解像度に合わせて自動調整するモードです。つまりUbuntu 18.10であれば特別な設定の必要なく,GDMがHiDPIモードに移行してくれます。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入