「GPD Pocket」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(カテゴリを削除)
 
(3人の利用者による、間の8版が非表示)
1行目: 1行目:
[[Category:ノートパソコン]]
+
[[Category:GPD]]
  +
[[de:GPD Pocket]]
 
[[en:GPD Pocket]]
 
[[en:GPD Pocket]]
  +
[[fr:GPD Pocket]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|GPD Win}}
 
{{Related|GPD Win}}
16行目: 18行目:
 
* オーディオ: Realtek ALC5645
 
* オーディオ: Realtek ALC5645
 
* 端子: 1 x USB 3 type A, 1 x MicroHDMI, 1 x USB 3 type C 1 x 3.5mm ヘッドホンジャック
 
* 端子: 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%以下でも起動できる修正等が当てられていません。
   
 
== インストール ==
 
== インストール ==
23行目: 30行目:
 
[https://github.com/sigboe/GPD-ArchISO/releases こちら] から既にパッチが適用された ISO をダウンロードすることができます。
 
[https://github.com/sigboe/GPD-ArchISO/releases こちら] から既にパッチが適用された ISO をダウンロードすることができます。
   
=== 手動 ===
+
=== 手動 (通常の Arch ISO からインストール) ===
   
  +
通常の Arch ISO でのインストールも可能です。デフォルト設定では WiFi が機能しないため、最初に WiFi の設定が必要です ([[#WiFi]] を参照)。もしくは USB Ethernet/WiFi ドングルを使ってください。
起動時にコンソールを回転するためにカーネル行に {{ic|<nowiki>fbcon=rotate:1</nowiki>}} を追加してください。USB Ethernet を使って[[インストールガイド]]に従ってインストールします。
 
  +
  +
デフォルトで起動すると、ターミナルが横になります。これを解決するためには、起動時に GRUB メニューから、'E' を押し、ブートパラメーターに以下を追記します:
  +
  +
i915.fastboot=1 fbcon=rotate:1
  +
  +
== カスタムカーネル ==
  +
Hans により、[https://github.com/jwrdegoede/linux-sunxi カスタムカーネル] が作られています。カスタムカーネルをインストールすることで解決できる問題は以下の通りです:
  +
* バックライトのコントロール
  +
* WiFi が動かない
  +
* サスペンド、ハイバーネートが動作しない
  +
* 電源ボタン、音量調節ボタンが動作しない
  +
* フタの開閉でシステムがハングする
  +
* 起動後に電源に接続しても充電されない
  +
* 充電電流が 0.5A で遅い
  +
* バッテリー残量が取得できない
   
 
== 設定 ==
 
== 設定 ==
33行目: 55行目:
 
インストール時に {{ic|/etc/pacman.conf}} に以下を追加してカスタムリポジトリを追加してください:
 
インストール時に {{ic|/etc/pacman.conf}} に以下を追加してカスタムリポジトリを追加してください:
 
{{hc|/etc/pacman.conf|<nowiki>...
 
{{hc|/etc/pacman.conf|<nowiki>...
[gpd-pocket]
+
[gpd-pocket-arch]
SigLevel = Optional TrustAll
+
SigLevel = Never
Server = https://github.com/njkli/$repo/releases/download/$arch
+
Server = https://github.com/joshskidmore/gpd-pocket-arch/raw/master
 
...</nowiki>}}
 
...</nowiki>}}
   
 
以下のコマンドで GPD Pocket で必要な設定をインストールしてください:
 
以下のコマンドで GPD Pocket で必要な設定をインストールしてください:
# pacman -Syu --noconfirm gpd-pocket-support
+
# pacman -Syu gpd-pocket-support
   
  +
alsa-lib のパッチは任意になっているため、音声を出力するには手動でインストールが必要です:
=== 手動 ===
 
  +
# pacman -S gpd-pocket-alsa-lib
   
==== Bluetooth ====
+
=== 手動 ===
bluetooth をロードするには btusb モジュールを有効にします:
 
{{hc|/etc/modules-load.d/btusb.conf|<nowiki>
 
btusb
 
</nowiki>}}
 
   
 
==== WiFi ====
 
==== WiFi ====
{{Note|以下の設定は [https://github.com/njkli/gpd-pocket/tree/master/gpd-pocket-support gpd-pocket-support] パッケージに含まれています。}}
 
   
  +
{{AUR|gpd-pocket-support-bcm4356-git}} パッケージをインストールして WiFi のカーネルモジュールをリロードしてください:
[https://github.com/cawilliamson/ansible-gpdpocket/tree/master/roles/common/files こちら] から {{ic|brcmfmac4356-pcie.txt}} と {{ic|brcmfmac4356-pcie.bin}} をダウンロードして {{ic|/usr/lib/firmware/brcm/}} にコピーしてください。そして以下のコマンドを実行:
 
 
# modprobe -r brcmfmac
 
# modprobe -r brcmfmac
 
# modprobe brcmfmac
 
# modprobe brcmfmac
{{Note|起動時に以下のエラーが発生する場合:
 
brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
 
brcmfmac: brcmf_pcie_probe: failed 14e4:43ec
 
{{Pkg|broadcom-wl-dkms}} をインストールしてみてください。}}
 
   
 
==== バックライトと初期 KMS ====
 
==== バックライトと初期 KMS ====
90行目: 104行目:
 
===== 基本設定 =====
 
===== 基本設定 =====
   
{{ic|/etc/X11/xorg.conf.d/20-intel.conf}} を作成してグラフィック設定:
+
{{ic|/etc/X11/xorg.conf.d/30-monitor.conf}} を作成してモニター回転:
   
  +
{{Note|Identifier は使用するディスプレイドライバーによって異なることがあります ({{ic|DSI-1}} (modesetting) か {{ic|<nowiki>DSI1</nowiki>}} (xf86-video-intel) になります)。}}
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<nowiki>
 
Section "Device"
 
Identifier "Intel Graphics"
 
Driver "intel"
 
Option "TearFree" "true"
 
EndSection
 
</nowiki>}}
 
 
{{ic|/etc/X11/xorg.conf.d/30-monitor.conf}} を作成してモニターを回転:
 
   
 
{{hc|/etc/X11/xorg.conf.d/30-monitor.conf|<nowiki>
 
{{hc|/etc/X11/xorg.conf.d/30-monitor.conf|<nowiki>
 
Section "Monitor"
 
Section "Monitor"
Identifier "DSI1"
+
Identifier "DSI-1"
 
Option "Rotate" "right"
 
Option "Rotate" "right"
EndSection
 
</nowiki>}}
 
 
{{ic|/etc/X11/xorg.conf.d/40-touchscreen.conf}} を作成してタッチスクリーンを回転:
 
 
{{hc|/etc/X11/xorg.conf.d/40-touchscreen.conf|<nowiki>
 
Section "InputClass"
 
Identifier "GoodixTS"
 
MatchProduct "Goodix Capacitive TouchScreen"
 
Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
 
 
EndSection
 
EndSection
 
</nowiki>}}
 
</nowiki>}}
171行目: 167行目:
 
MatchIsPointer "on"
 
MatchIsPointer "on"
 
Driver "libinput"
 
Driver "libinput"
  +
Option "MiddleEmulation" "1"
  +
Option "ScrollButton" "3"
  +
Option "ScrollMethod" "button"
 
EndSection
 
EndSection
 
</nowiki>}}
 
</nowiki>}}
184行目: 183行目:
   
 
===== タッチスクリーンのジェスチャ =====
 
===== タッチスクリーンのジェスチャ =====
[[touchegg]] をインストールして [https://github.com/nexus511/gpd-ubuntu-packages/tree/master/packages/gpdpocket-touchegg-config/files こちら] から設定ファイルをダウンロードしてパーミッション設定してください:
+
[[touchegg]] をインストールして、{{ic|/usr/share/touchegg/touchegg.conf}} の以下の行編集してください:
# cp touchegg.conf /usr/share/touchegg/
+
{{hc|/usr/share/touchegg/touchegg.conf|<nowiki>
  +
...
# chmod 0644 /usr/share/touchegg/touchegg/touchegg.conf
 
  +
<action type="SCROLL">SPEED=7:INVERTED=true</action>
# cp 01_touchegg /etc/X11/xinit/xinitrc.d/
 
  +
...
  +
</nowiki>}}
  +
  +
{{ic|/etc/X11/xinit/xinitrc.d/01_touchegg}} を作成:
  +
{{hc|/etc/X11/xinit/xinitrc.d/01_touchegg|<nowiki>
  +
...
  +
#!/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 &
  +
</nowiki>}}
  +
  +
{{ic|/etc/X11/xinit/xinitrc.d/01_touchegg}} のパーミッションを設定:
  +
 
# chmod 0755 /etc/X11/xinit/xinitrc.d/01_touchegg
 
# chmod 0755 /etc/X11/xinit/xinitrc.d/01_touchegg
   
210行目: 238行目:
 
</nowiki>}}
 
</nowiki>}}
 
}}
 
}}
  +
  +
{{Note|AC 電源で接続時、デフォルトでファンは常に回転します [https://github.com/stockmind/gpd-pocket-ubuntu-respin#gpd-fan-always-spinning-on-ac]。挙動を上書きするには[[カーネルパラメータ]]に {{ic|1=gpd-pocket-fan.speed_on_ac=0}} を追加してください。}}
   
 
==== 省電力設定 ====
 
==== 省電力設定 ====
220行目: 250行目:
 
...
 
...
 
# disable wifi power saving mode (wifi speed drops MASSIVELY!)
 
# disable wifi power saving mode (wifi speed drops MASSIVELY!)
WIFI_PWN_ON_AC=off
+
WIFI_PWR_ON_AC=off
 
WIFI_PWR_ON_BAT=off
 
WIFI_PWR_ON_BAT=off
 
...
 
...
230行目: 260行目:
 
{{hc|/etc/pulse/default.pa|<nowiki>
 
{{hc|/etc/pulse/default.pa|<nowiki>
 
set-card-profile alsa_card.platform-cht-bsw-rt5645 HiFi
 
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-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
+
set-sink-port alsa_output.platform-cht-bsw-rt5645.HiFi__hw_chtrt5645_0__sink [Out] Speaker
 
</nowiki>}}
 
</nowiki>}}
   
240行目: 270行目:
   
 
== 既知の問題 ==
 
== 既知の問題 ==
  +
標準の Arch カーネルではバッテリーの状態やディスプレイの輝度制御が機能しません。[http://hansdegoede.livejournal.com/17445.html Hans Kernel] を使ってください。Wifi はカーネル 4.12 から、Bluetooth はカーネル 4.14 から標準カーネルで動作するようになっています。
 
  +
==== USB-C の電源の状態 ====
  +
  +
USB-C の電源状態はカーネル 4.14-15 では動作しません。[http://hansdegoede.livejournal.com/17445.html Hans] のカーネルには修正するパッチが含まれています。
  +
  +
==== systemd-gpt-auto-generator failed to dissect ====
  +
起動時に以下のエラーメッセージが表示される場合 [https://github.com/systemd/systemd/issues/5806]:
  +
  +
systemd-gpt-auto-generator[199]: Failed to dissect: Input/output error
  +
  +
ブートローダーのブートパラメータに以下を追加してください:
  +
  +
systemd.gpt_auto=0
   
 
== 参照 ==
 
== 参照 ==
 
* https://github.com/njkli/gpd-pocket/
 
* https://github.com/njkli/gpd-pocket/
* https://github.com/cawilliamson/ansible-gpdpocket/
 
* https://github.com/nexus511/gpd-ubuntu-packages
 
* https://www.reddit.com/r/GPDPocket/comments/6rszbo/project_linux_installer_for_gpd_pocket
 
 
* http://hansdegoede.livejournal.com/
 
* http://hansdegoede.livejournal.com/

2022年12月20日 (火) 09:58時点における最新版

関連記事

こちらは 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

参照