GPD Pocket (简体中文)
本文是关于GPD Pocket的说明。
参数
- 显示屏: 7英寸IPS 1920x1200
- CPU: Intel Atom X7-Z8750
- RAM: 8GB LPDDR3-1600
- 存储: 128GB eMMC SSD(不可更换)
- 电池: 7000mAh
- WiFi: Broadcom 4356 802.11ac
- 蓝牙: Broadcom 2045
- 音频: Realtek ALC5645
- 接口: 1 x USB 3 type A, 1 x MicroHDMI, 1 x USB 3 type C, 1 x 3.5mm 耳机插孔
安装
自动
可以从这里下载预先打好补丁的ISO映像。
手动
由于WiFi在默认配置下无法工作,需要首先解决WiFi问题(见#WiFi),或使用受支持的USB外置以太网/WiFi网卡。
配置
自动
安装期间请将以下内容加入/etc/pacman.conf:
/etc/pacman.conf
... [gpd-pocket-arch] SigLevel = Never Server = https://github.com/joshskidmore/gpd-pocket-arch/raw/master ...
运行以下命令,安装GPD Pocket正常运行Arch所需要的更改:
# 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
修改/etc/mkinitcpio.conf
如下,以通过KMS早启动来启用背光控制:
/etc/mkinitcpio.conf
... MODULES=(pwm_lpss pwm_lpss_platform i915) ...
Wayland
基本配置
创建/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中可以通过标准Xorg配置文件启用右键模拟滚动不同,在Wayland中此类配置应当是由混成器提供的;但不幸的是,一些混成器(如GNOME Wayland)并没有正确地提供这些配置接口。不过相应的功能仍然可以通过libinput
实现。由于这些混成器通常加载/etc/profile.d
,可以使用LD_PRELOAD
挂钩至libinput
从而强制应用这些配置。
该方法的示例实现见此处。
Xorg
基本配置
创建/etc/X11/xorg.conf.d/30-monitor.conf
以旋转触摸屏:
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>
)以及缩放因子2(<scale>2</scale>
)。关于非整数倍缩放,见HiDPI (简体中文)#GNOME。
对于GDM,将以上的~/.config/monitors.xml
文件复制到/var/lib/gdm/.config/monitors.xml
以设置正确的旋转方向。
KDE
在系统设置 > 显示和监控中,将方向改为90°顺时针,并调整缩放显示至合适尺寸。
右键模拟滚动
创建/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
为了改变DPI使文字可读,将以下行加入/usr/share/sddm/scripts/Xsetup
:
/usr/share/sddm/scripts/Xsetup
# Set DPI xrandr --dpi 168"
触摸屏手势
安装toucheggAUR,然后编辑/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
利用Pocket 2上的“半/全”键
出厂状态下半/全
被设定为发送`
符号及按键码49,导致其与原本的`/~
键形成重复。为了把它映射到更有用的功能,请前往GPD2 Firmware然后下载"GPD Pocket 2 Keyboard Firmware (Japan)"(中国大陆地区下载可能需使用代理工具)。此固件必须在Windows 10操作系统(设备原装的)下刷入。由于更新期间键盘和鼠标无法使用,建议使用USB鼠标。
更新完成后半/全
会发送按键码49及`
符号,而`/~
键会发送按键码132。创建~/.Xmodmap
文件以进行修正:
~/.Xmodmap
keycode 132 = grave asciitilde keycode 49 = XF86Launch1 NoSymbol
现在进行测试:
$ xmodmap ~/.Xmodmap
更多信息请参阅Xmodmap (简体中文)
风扇
使用最新内核时风扇应当直接可以工作。
# modprobe -r gpd-pocket-fan # modprobe gpd-pocket-fan temp_limits=40000,40001,40002
当以上操作完成之后——应当能够在40℃时听到风扇起转,如果听到了咔哒声——关闭设备电源,卸下后盖,之后用手轻轻转几圈风扇。然后重新装上后盖并开机,登录之后再次运行上面的命令。部分设备似乎存在问题,风扇一段时间没有通电之后无法正确地启动。
一旦完成了以上步骤并且风扇工作正常,应当重启系统或重新加载风扇内核模块,从而将温度阈值恢复到默认:
# modprobe -r gpd-pocket-fan # modprobe gpd-pocket-fan
节能
安装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
以关闭实时调度:
/etc/pulse/daemon.conf
realtime-scheduling = no
充电控制
可以控制充电电流、充电终止电压及一些其他设定。
更多信息及示例脚本见这篇reddit帖子(中国大陆地区访问可能需使用代理工具)。
已知问题
USB-C电源状态
USB-C电源状态在内核版本4.14-15下不工作。Hans的内核有修复此问题的补丁。
systemd-gpt-auto-generator failed to dissect
由于此原因,启动时会出现报错信息:
systemd-gpt-auto-generator[199]: Failed to dissect: Input/output error
.
向启动引导器添加以下启动参数,可避免该信息出现。
systemd.gpt_auto=0