GPD Win 3 - ArchWiki

Jump to content

# GPD Win 3

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Stub (Discuss in Talk:GPD Win 3)

Device | Status
Video | Working
Wireless | Working
Bluetooth | Working
Audio | Working
Keyboard | Working
Controller | Working
Back buttons | Working
Vibrator | Working
Touchscreen | Working
MicroSD Slot | Working
Function/Multimedia Keys | Working
Suspend/Resume | Working
Fingerprint sensor | Not working

Notes for the GPD Win3.

## Fixes

### Audio

This device requires Sound Open Firmware. See Advanced Linux Sound Architecture#ALSA firmware.

Edit, or create, if it does not exist, the file: `/etc/modprobe.d/alsa-base.conf`.

    /etc/modprobe.d/alsa-base.conf

    options snd-intel-dspcfg dsp_driver=1

Once done, reboot your device.

### Touchscreen

The device firmware does not properly initialize the touchscreen, so a patched goodix module is required.

In addition, the touchscreen must be rotated.

Edit, or create, if it does not exist, the file: `/etc/X11/xorg.conf.d/99-touchscreen.conf`.

    /etc/X11/xorg.conf.d/99-touchscreen.conf

    Section "InputClass"
      Identifier    "calibration"
      MatchProduct  "Goodix Capacitive TouchScreen"
      Option        "TransformationMatrix"   "0 1 0 -1 0 1 0 0 1"
    EndSection

To fix the touchscreen initialization, install goodix-gpdwin3-dkmsAUR and reboot your device.

### Screen rotation

This device uses a portrait screen.

If you are using Xorg, create `/etc/X11/xorg.conf.d/30-monitor.conf` to rotate the screen:

Note: The Identifier may be different depending on your display driver of choice (either `DSI-1` (modesetting) or `DSI1` (xf86-video-intel))

    /etc/X11/xorg.conf.d/30-monitor.conf

    Section "Monitor"
      Identifier "DSI-1"
      Option     "Rotate" "right"
    EndSection

Since Linux 5.15, no kernel boot parameters are required.

### Suspend

`deep` sleep mode is not working on this device.

Enable `Low power S0 idle capability` in BIOS (enabled by default).

Switch to `s2idle` sleep mode, if not already set:

    # echo s2idle > /sys/power/mem_sleep

## Known issues

### Screen blanking

The screen will not turn back on after blanking if the system is busy.

This issue also affects suspend feature.

A fix is already available in upstream but not yet merged in linux, and it also fixes `s2idle` sleep mode.

For linux <= 5.15, build your own kernel with the following patches:

Patch 1/2 - https://cgit.freedesktop.org/drm-tip/commit/?id=43315f86a3a59255463d14042f2974d134710d9c

Patch 2/2 - https://cgit.freedesktop.org/drm-tip/commit/?id=b90acd0987c81e4c8d7b4e7995ff3cecd16b2122

## Notes

### Tearing when using Xorg and modesetting driver

You must install xf86-video-intel driver to alleviate tearing on GPD Win 3 when using Xorg.

You can additionally enable `TearFree` (see Intel graphics#Tearing), but be aware that there is a noticeable impact on performance.

### Windows dual-boot Audio Issues

An unknown bug causes Windows to leave the audio device in a broken state on reboot.

This is not an issue for Windows itself, but on linux it is.

If you get no audio or muted speakers or distorted audio, reboot into Windows and shutdown your device from there.

You can now boot linux and unmute the speakers if they have been muted before.

Category:

- GPD

Hidden category:

- Pages or sections flagged with Template:Laptop style