GPD Pocket 4

This article or section does not follow the
Laptop page guidelines
.
Reason:
Misses an Accessibility and Firmware section. (Discuss in
Talk:GPD Pocket 4
)
Hardware
PCI/USB ID
Working?
GPU
1002:150e
Yes
Wi-Fi
8086:2725
Yes
Bluetooth
8087:0032
Yes
Audio
1022:15e3
Yes
Touchscreen
0603:F001
Yes
Keyboard/Pointer
258a:000c
Yes
Webcam
1bcf:28c4
Yes
Fingerprint
2808:0752
Untested
Accelerometer
Yes
The
GPD Pocket 4
is a compact 8.8" convertible laptop with a 1600x2560 portrait display, touchscreen, and accelerometer for tablet mode.
Note
This page documents the AMD Ryzen AI 9 HX 370 variant. Other variants (e.g., Ryzen 7 8840U) may have different hardware IDs.
Screen orientation
The display panel is physically portrait (1600x2560) and requires rotation for normal laptop use: see
Tablet PC#Screen rotation
.
Touchscreen
The touchscreen (NVTK0603) requires calibration to match the display rotation.
Hyprland
Add a device section to your Hyprland configuration:
device {
    name = nvtk0603:00-0603:f001
    transform = 3
}
Note
The transform value must match your monitor transform.
Wayland (udev)
For other Wayland compositors,
create
:
/etc/udev/rules.d/99-touchscreen.conf
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="NVTK0603:00 0603:F001", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
Then
reload udev rules
.
Xorg
Install
xf86-input-wacom
and create
/etc/X11/xorg.conf.d/99-touchscreen.conf
:
Section "InputClass"
    Identifier    "GPD Pocket 4 Touchscreen"
    Driver        "wacom"
    MatchProduct  "NVTK0603"
    Option        "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
EndSection
Automatic rotation
The GPD Pocket 4 has an accelerometer (MXC6655) that can be used for automatic screen rotation in tablet mode, see
Tablet PC#Automatic rotation
.
Note
The orientation mappings (normal being 3, left being 0, right being 2 and bottom being 1) are specific to the GPD Pocket 4. The accelerometer's "normal" position corresponds to laptop mode (keyboard facing user).
Touchscreen gestures
For touch gestures (swipe to switch workspaces, etc.), install
lisgd
AUR
from the AUR.
Create a gesture script (e.g.,
~/.config/hypr/scripts/touchscreen-gestures.sh
):
#!/bin/bash
# GPD Pocket 4 touchscreen gestures using lisgd
# Accepts orientation parameter: 0, 1, 2, 3 (matches Hyprland transform)

if [ -z "$CALLED_FROM_AUTOROTATE" ]; then
    pkill -f "lisgd" 2>/dev/null
    sleep 0.3
fi

DEVICE="/dev/input/event10"  # Adjust if needed
TRANSFORM="${1:-3}"  # Default to laptop mode (transform 3)

# Commands - customize as needed
WS_PREV="hyprctl dispatch workspace e-1"
WS_NEXT="hyprctl dispatch workspace e+1"
OVERVIEW="hyprctl dispatch overview:toggle"

# Map Hyprland transform to lisgd orientation (-o flag)
case "$TRANSFORM" in
    3) LISGD_ORIENT=0 ;;  # Laptop mode
    0) LISGD_ORIENT=1 ;;  # Portrait left
    1) LISGD_ORIENT=2 ;;  # Laptop upside down
    2) LISGD_ORIENT=3 ;;  # Portrait right
esac

lisgd -d "$DEVICE" -o "$LISGD_ORIENT" \
    -g "3,LR,*,0.08,$WS_PREV" \
    -g "3,RL,*,0.08,$WS_NEXT" \
    -g "3,UD,*,0.08,$OVERVIEW" \
    -g "3,DU,*,0.08,$OVERVIEW" \
    -t 150 -r 25 &
Note
The
-o
flag enables rotation-aware gestures. The
DEVICE
path may vary; check
/dev/input/
for your touchscreen device.
Add to Hyprland startup:
exec-once = ~/.config/hypr/scripts/touchscreen-gestures.sh
To integrate with auto-rotation, modify the auto-rotation script to restart the gesture script with the new orientation when rotation changes. See the auto-rotation section for details.
Backlight
The backlight is controlled via
/sys/class/backlight/amdgpu_bl1/
.
Install
brightnessctl
for easy control:
$ brightnessctl s 5%+   # increase
$ brightnessctl s 5%-   # decrease
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Insert
Yes
Yes
XF86MonBrightnessUp
Fn+PrintSc
Yes
Yes
XF86MonBrightnessDown
Fn+[
Yes
Yes
XF86AudioMute
Fn+]
Yes
Yes
XF86AudioLowerVolume
Fn+\
Yes
Yes
XF86AudioRaiseVolume
Fn+Space
No
Yes
Keyboard backlight toggle
3
Fn+=
No
Yes
Fan speed cycle
3
Visible to
wev
,
xev
, and similar tools.
The key has a physical symbol describing its function.
Controlled by keyboard/EC firmware, not configurable from the OS.
Touchpad
The GPD Pocket 4's pointing device (HAILUCK USB KEYBOARD Mouse) is detected by libinput as a basic pointer rather than a touchpad, which means standard touchpad gesture tools like
libinput-gestures
will not work.
$ libinput list-devices | grep -A5 "HAILUCK.*Mouse"
Capabilities:            pointer
Tap-to-click:            n/a
Scroll methods:          button
For swipe gestures, use the touchscreen gesture solution above instead.
See also
GPD Pocket 3
- Previous generation device
Laptop
- General laptop configuration
Hyprland
- Wayland compositor configuration
Touchscreen
- General touchscreen configuration