GPD Pocket
関連記事
こちらは GPD Pocket を Arch Linux で動作させるガイドです。
スペック
- ディスプレイ: 7インチ IPS 1920x1200
- CPU: Intel Atom X7-Z8750
- メモリ: 8GB LPDDR3-1600
- ストレージ: 128GB eMMC SSD (交換不可)
- バッテリー: 7000mAh
- WiFi: Broadcom 4356 802.11ac
- Bluetooth: Broadcom 2045
- オーディオ: Realtek ALC5645
- 端子: 1 x USB 3 type A, 1 x MicroHDMI, 1 x USB 3 type C 1 x 3.5mm ヘッドホンジャック
BIOS
GPD 社が配布する Ubuntu 起動用 BIOS ではなく、Windows 起動用の BIOS でも Arch Linux は正常に動作します。
Ubuntu 起動用 BIOS では、Intel C-stateや、TPM 等のチップセットの設定が表示されるようになりますが、最新の Windows 起動用 BIOS にあてられている電池残量が10%以下でも起動できる修正等が当てられていません。
インストール
自動
こちら から既にパッチが適用された ISO をダウンロードすることができます。
手動 (通常の Arch ISO からインストール)
通常の Arch ISO でのインストールも可能です。デフォルト設定では WiFi が機能しないため、最初に WiFi の設定が必要です (#WiFi を参照)。もしくは USB Ethernet/WiFi ドングルを使ってください。
デフォルトで起動すると、ターミナルが横になります。これを解決するためには、起動時に GRUB メニューから、'E' を押し、ブートパラメーターに以下を追記します:
i915.fastboot=1 fbcon=rotate:1
カスタムカーネル
Hans により、カスタムカーネル が作られています。カスタムカーネルをインストールすることで解決できる問題は以下の通りです:
- バックライトのコントロール
- WiFi が動かない
- サスペンド、ハイバーネートが動作しない
- 電源ボタン、音量調節ボタンが動作しない
- フタの開閉でシステムがハングする
- 起動後に電源に接続しても充電されない
- 充電電流が 0.5A で遅い
- バッテリー残量が取得できない
設定
自動
インストール時に /etc/pacman.conf
に以下を追加してカスタムリポジトリを追加してください:
/etc/pacman.conf
... [gpd-pocket-arch] SigLevel = Never Server = https://github.com/joshskidmore/gpd-pocket-arch/raw/master ...
以下のコマンドで GPD Pocket で必要な設定をインストールしてください:
# pacman -Syu gpd-pocket-support
alsa-lib のパッチは任意になっているため、音声を出力するには手動でインストールが必要です:
# pacman -S gpd-pocket-alsa-lib
手動
WiFi
gpd-pocket-support-bcm4356-gitAUR パッケージをインストールして WiFi のカーネルモジュールをリロードしてください:
# modprobe -r brcmfmac # modprobe brcmfmac
バックライトと初期 KMS
初期 KMS でバックライトの制御を有効にするには /etc/mkinitcpio.conf
を以下のように変更してください:
/etc/mkinitcpio.conf
... MODULES=(pwm_lpss pwm_lpss_platform i915) ...
Wayland
基本設定
/etc/udev/rules.d/99-goodix-touch.rules
を作成してタッチスクリーンを回転:
/etc/udev/rules.d/99-goodix-touch.rules
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="Goodix Capacitive TouchScreen", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
右クリックのエミュレーション
マウススクロールのエミュレーションの設定は Xorg のみで機能します。Wayland ではそのような設定はコンポジタが担うことになっています。残念ながら一部のコンポジタ (GNOME Wayland など) では正しく設定できません。しかしながら、libinput で同じような設定が可能です。コンポジタは通常 /etc/profile.d
をロードするため、LD_PRELOAD
を使って libinput で設定を適用できます。
設定例が こちら に存在します。
Xorg
基本設定
/etc/X11/xorg.conf.d/30-monitor.conf
を作成してモニターを回転:
/etc/X11/xorg.conf.d/30-monitor.conf
Section "Monitor" Identifier "DSI-1" Option "Rotate" "right" EndSection
Gnome と GDM
~/.config/monitors.xml
を編集してください (存在しない場合は作成してください):
~/.config/monitors.xml
<monitors version="2"> <configuration> <logicalmonitor> <x>0</x> <y>0</y> <scale>2</scale> <primary>yes</primary> <transform> <rotation>right</rotation> <flipped>no</flipped> </transform> <monitor> <monitorspec> <connector>DSI-1</connector> <vendor>unknown</vendor> <product>unknown</product> <serial>unknown</serial> </monitorspec> <mode> <width>1200</width> <height>1920</height> <rate>60.384620666503906</rate> </mode> </monitor> </logicalmonitor> </configuration> </monitors>
上記の設定で向き (<rotation>right</rotation>
) とスケールファクタ (<scale>2</scale>
) が設定されます。スケールについては HiDPI#GNOME を参照してください。
GDM を使用する場合、上記の ~/.config/monitors.xml
を /var/lib/gdm/.config/monitors.xml
にコピーすることで向きが正しく設定されます。
KDE
System Settings > Display and Monitor から Orientation を 90° Clockwise に変更して、Scale Display を読みやすいサイズに変えてください。
右クリックのエミュレーション
/etc/X11/xorg.conf.d/50-trackpoint.conf
を作成して右クリックを押しながらスクロールできるようにします:
/etc/X11/xorg.conf.d/50-trackpoint.conf
Section "InputClass" Identifier "GPD trackpoint" MatchProduct "SINO WEALTH Gaming Keyboard" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "1" Option "ScrollButton" "3" Option "ScrollMethod" "button" EndSection
SDDM
/usr/share/sddm/scripts/Xsetup
に以下の行を追加して DPI を変更してください:
/usr/share/sddm/scripts/Xsetup
# Set DPI xrandr --dpi 168"
タッチスクリーンのジェスチャ
touchegg をインストールして、/usr/share/touchegg/touchegg.conf
の以下の行を編集してください:
/usr/share/touchegg/touchegg.conf
... <action type="SCROLL">SPEED=7:INVERTED=true</action> ...
/etc/X11/xinit/xinitrc.d/01_touchegg
を作成:
/etc/X11/xinit/xinitrc.d/01_touchegg
... #!/bin/bash # starts touchegg application PREFIX="$HOME/.config/touchegg/.run" mkdir -p "$PREFIX" PIDFILE="$PREFIX/touchegg.$USER$DISPLAY.pid" LOCK="$PREFIX/touchegg.$USER$DISPLAY.lock" start_touchegg() { ( flock -n 9 || exit 1 touchegg 2>/dev/null >/dev/null & PID=$! echo "$!" >"$PIDFILE" wait $PID ) 9>"$LOCK" } start_touchegg &
/etc/X11/xinit/xinitrc.d/01_touchegg
のパーミッションを設定:
# chmod 0755 /etc/X11/xinit/xinitrc.d/01_touchegg
ファン
最新カーネルでは特に設定しなくてもファンは問題なく動作します。
省電力設定
TLP をインストールして、/etc/default/tlp
の以下の行を編集してください:
/etc/default/tlp
... # improve disk IO DISK_DEVICES="mmcblk0" DISK_IOSCHED="deadline" ... # disable wifi power saving mode (wifi speed drops MASSIVELY!) WIFI_PWR_ON_AC=off WIFI_PWR_ON_BAT=off ...
PulseAudio
/etc/pulse/default.pa
に以下の行を追加:
/etc/pulse/default.pa
set-card-profile alsa_card.platform-cht-bsw-rt5645 HiFi set-default-sink alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645_0__sink set-sink-port alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645_0__sink [Out] Speaker
/etc/pulse/daemon.conf
を編集して realtime_scheduleing をオフにしてください:
realtime-scheduling = no
。
既知の問題
USB-C の電源の状態
USB-C の電源状態はカーネル 4.14-15 では動作しません。Hans のカーネルには修正するパッチが含まれています。
systemd-gpt-auto-generator failed to dissect
起動時に以下のエラーメッセージが表示される場合 [2]:
systemd-gpt-auto-generator[199]: Failed to dissect: Input/output error
ブートローダーのブートパラメータに以下を追加してください:
systemd.gpt_auto=0