GPD Pocket
关于 GPD Pocket 的说明。
规格
- 显示屏: 7英寸 IPS 1920x1200
- CPU: Intel Atom X7-Z8750
- 内存: 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 耳机插孔
配置
手动
背光和KMS
修改 /etc/mkinitcpio.conf 使其与以下内容匹配
/etc/mkinitcpio.conf
... MODULES=(i915 pwm-lpss-platform) ...
这将启用背光控制,并修复从挂起到恢复时的黑屏问题。
屏幕旋转
得益于内核补丁,Linux内核应自动提示GPD Pocket的屏幕旋转。如果无效,或者您不使用桌面管理器,请遵循以下说明。
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可以通过标准的Xorg配置文件启用右键模拟,而在Wayland下,这种配置应由合成器暴露,但不幸的是,一些合成器(例如GNOME Wayland)并未正确暴露这些配置。然而,相关的功能仍然可以在 libinput 中使用。由于这些合成器通常会加载 /etc/profile.d,因此可以使用 LD_PRELOAD 来钩入 libinput 并强制应用这些配置。
该方法的示例实现可以在 这里 找到。
Xorg
屏幕旋转
创建 /etc/X11/xorg.conf.d/30-monitor.conf 来旋转显示器
DSI-1,xf86-video-intel 使用 DSI1)/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"
触摸屏手势
安装 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
#!/bin/sh
# 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 &
并使其 可执行。
风扇
使用最新的内核,您的风扇应该可以开箱即用。
# modprobe -r gpd-pocket-fan # modprobe gpd-pocket-fan temp_limits=40000,40001,40002
完成后,您应该会在40°C时听到风扇启动。如果您听到咔哒声,请关闭设备,取下后面板,然后轻轻地将风扇推动几次。然后重新安装面板并启动设备,登录后再次运行上述命令。有些设备似乎存在风扇长时间未通电时无法正常启动的问题。
完成这些步骤并且风扇正常工作后,您应该重启或重新加载风扇内核模块,以将温度限制恢复为默认值。
# 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帖子。
已知问题
Wifi无法识别12/13/14信道
截至2021年5月,使用当前内核和固件版本,Broadcom 4356适配器不再能访问全球允许的1-11信道范围之外的网络。通过 iw reg set <alpha2> 设置 监管域 无法解决此问题;显然, 内核驱动程序 不支持此功能。相反,编辑 /usr/lib/firmware/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt 并将 ccode=X2 更改为您的国家 (例如,ccode=DE 可启用12/13信道但不能启用14信道) 并重启 (提示来自 早期邮件列表消息)。