GPD Pocket

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

こちらは 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 を作成してモニターを回転:

ノート: Identifier は使用するディスプレイドライバーによって異なることがあります (DSI-1 (modesetting) か DSI1 (xf86-video-intel) になります)。
/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 から Orientation90° 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

ファン

最新カーネルでは特に設定しなくてもファンは問題なく動作します。

ノート: ファンが上手く動かない場合、以下のコマンドを試してみてください:
# modprobe -r gpd-pocket-fan
# modprobe gpd-pocket-fan temp_limits=40000,40001,40002

上記のコマンドを実行すると40度でファンが回転し始めるようになります。クリック音が聞こえる場合、デバイスの電源を切って、バックパネルを取り外してファンを数回そっと押してください。それからパネルを戻してからデバイスの電源を入れて、上記のコマンドをもう一度実行してください。一部のデバイスではファンが正しく回転しないという問題が発生するようです。

ファンが正しく機能するようになったら、再起動するか以下のコマンドを実行して温度のリミットをデフォルト設定に戻してください:

# modprobe -r gpd-pocket-fan
# modprobe gpd-pocket-fan
ノート: AC 電源で接続時、デフォルトでファンは常に回転します [1]。挙動を上書きするにはカーネルパラメータgpd-pocket-fan.speed_on_ac=0 を追加してください。

省電力設定

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

ノート: pactl やデスクトップの設定を使って出力を手動で設定する必要がある場合があります。

既知の問題

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

参照