GPD Pocket
Notes for the GPD Pocket.
Specs
- Display: 7inch IPS 1920x1200
- CPU: Intel Atom X7-Z8750
- RAM: 8GB LPDDR3-1600
- Storage: 128GB eMMC SSD (non-replaceable)
- Battery: 7000mAh
- WiFi: Broadcom 4356 802.11ac
- Bluetooth: Broadcom 2045
- Audio: Realtek ALC5645
- Ports: 1 x USB 3 type A, 1 x MicroHDMI, 1 x USB 3 type C, 1 x 3.5mm Headphone Jack
Installation
Automatic
You can download a pre-patched ISO from here.
Manual
Because WiFi is not working with the default configuration, you have to fix WiFi first (see #WiFi), or use a supported USB Ethernet/WiFi dongle.
Configuration
Automatic
To run Arch properly, install gpd-pocket-support and gpd-pocket-alsa-lib from the gpd-pocket-arch repository. Because the patch for alsa-lib is an optional dependency, it must be installed manually to get audio to work.
WiFi
Install the package gpd-pocket-support-bcm4356-gitAUR and reload the WiFi kernel module:
# modprobe -r brcmfmac # modprobe brcmfmac
Backlight and KMS
In order to enable backlight control with early KMS, change /etc/mkinitcpio.conf
to match the following:
/etc/mkinitcpio.conf
... MODULES=(pwm_lpss pwm_lpss_platform i915) ...
Basic Configuration
Create /etc/udev/rules.d/99-goodix-touch.rules
to rotate the touchscreen, and fill it with:
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="Goodix Capacitive TouchScreen", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
Right Click Emulation
Unlike Xorg, under which right click emulation can be enabled by the standard Xorg configuration files, under Wayland, such configuration is supposed to be exposed by the compositor, and unfortunately, some compositors (e.g. GNOME Wayland) do not expose these configurations properly. However, the regarding functionality is still available in libinput
. Since these compositors normally load /etc/profile.d
, LD_PRELOAD
can be used to hook into libinput
and force apply these configurations.
A sample implementation of this approach is available here.
Basic Configuration
Create to rotate the monitor:
Gnome and GDM
Edit (this file might not be present by default):
This sets the correct rotation () and a scale factor of 2 (<scale>2</scale>
). For fractional scaling, see HiDPI#GNOME.
For GDM, copy the above to /var/lib/gdm/.config/monitors.xml
to set the correct rotation.
KDE
In System Settings > Display and Monitor, change Orientation to 90° Clockwise, and Scale Display to a comfortable size.
Right Click Emulation
Create to scroll while holding right click:
SDDM
To change the DPI to be readable, append the following lines to :
Touchscreen Gestures
Install , then edit the following line in :
Create the following file:
And make it executable.
Making use of 半/全 key on Pocket 2
Out of the box, the 半/全
key is configured to send the symbol and keycode 49, making it a duplicated of a regular `/~
key.
In order to be able to map it to something more useful, go to the GPD2 Firmware and download "GPD Pocket 2 Keyboard Firmware (Japan)". This must be flashed with the Windows 10 OS supplied with the device. It is advised to have a USB mouse, since the keyboard and mouse will be disabled during the update.
After the update is done, 半/全
will send keycode 49 and symbol, while the dedicated `/~
key will send keycode 132. In order to fix this, create the file
Test it immediately
$ xmodmap ~/.Xmodmap
For more information, read xmodmap
Fan
With the latest kernel, your fan should work out of the box.
# modprobe -r gpd-pocket-fan # modprobe gpd-pocket-fan temp_limits=40000,40001,40002
Once this has been completed, you should hear your fan start up at 40c. If you hear a clicking sound, power off the device, remove the back panel and very gently push the fan around a few times. Then re-attach the panel and power on the device, running the above commands again once logged in. It seems to be an issue with some devices that the fan cannot start properly when it has not been powered on in a while.
Once you have completed these steps and the fan is working properly, you should then either reboot or reload the fan kernel module in order to return the temperature limits to default:
# modprobe -r gpd-pocket-fan # modprobe gpd-pocket-fan
Power Saving
Install and then edit following lines in :
Audio
From kernel version 5.5, sof-firmware needs to be installed to have the required firmware for the sound card.
Append the following lines into :
Turn off realtime scheduling by editing :
Charge control
It is possible to control the charge current, charge end voltage and a few more settings.
See this reddit post for more information and an example script.
Known Issues
USB-C Power source status
USB-C power source status does not work on Kernel 4.14-15. Hans' kernel has a patch fixing this.
systemd-gpt-auto-generator failed to dissect
Due to this issue, an error message appears at boot:
systemd-gpt-auto-generator[199]: Failed to dissect: Input/output error
.
To avoid the error message, add this boot parameter to your boot loader.
systemd.gpt_auto=0
Wifi not seeing channels 12/13/14
As of May 2021 with current kernel and firmware versions, the Broadcom 4356 adapter no longer accesses networks on channels beyond the globally-allowed 1-11 range. Setting the regulatory domain with does not fix this; apparently, the kernel driver does not support this. Instead, edit and change to your country (e.g. ccode=DE
enables channels 12/13 but not 14) and reboot (hint found in an older mailing list message).