GPD Win Max
Hardware | Bus + ID | Working | Bus + ID | Working | Bus + ID | Working |
---|---|---|---|---|---|---|
Win Max | Win Max 2021 | Win Max 2 | ||||
Video | ? |
Yes | ? |
Yes | PCI ? |
Yes |
Wireless | ? |
Yes | ? |
Yes | PCI ? |
Yes |
Ethernet | ? |
Yes | ? |
Yes | n/a |
n/a
|
Bluetooth | ? |
Yes | ? |
Yes | ? |
Yes |
Audio | ? |
Yes | ? |
Yes | ? |
Yes |
Camera | n/a |
n/a |
n/a |
n/a |
USB 058e:3864 |
Yes |
Keyboard | ? |
Yes | ? |
Yes | PS/2 ? |
Yes |
Touchpad | ? |
Yes | ? |
Yes | I2C ? |
Yes |
Gamepad | Yes | Yes | USB 045e:028e |
Yes | ||
Touchscreen | ? |
Yes | ? |
Yes | I2C ? |
Yes |
Stylus | n/a |
n/a |
n/a |
n/a |
n/a |
Yes |
MicroSD | ? |
Yes | ? |
Yes | ? |
Yes |
SD Card | n/a |
n/a |
n/a |
n/a |
? |
Yes |
Fingerprint | n/a |
n/a |
n/a |
n/a |
USB 2541:9711 |
No |
IMU | n/a |
n/a |
n/a |
n/a |
I2C ? |
Yes |
Models
There are several models in the GPD Win Max family, some multiple SKUs.
GPD Win Max (2020)
- Display: 8" 1280x800
- CPU: Intel Core i5-1037G7
- Graphics: Intel Iris Plus 940
- RAM: 16 GB LPDDR4x 3733
- Storage: 512 GB PCIe M.2 NVMe SSD
- Network: 1 GbE, Intel WiFi 6 AX, BT 5.0
- Thunderbolt 3
GPD Win Max 2021
- Display: 8" 1280x800
- CPU: Intel Core i7-1195G7 / AMD Ryzen 7 4800U
- Graphics: Intel Iris Xe G7 / AMD Radeon Vega 8
- RAM: 16 GB LPDDR4x 4226
- Storage: 1 TB PCIe M.2 NVMe SSD
- Network: 1 GbE, Intel WiFi 6 AX BT 5.0
- Thunderbolt 4 (Intel)
GPD Win Max 2 (2022)
- Display: 10.1" 2560x1600
- CPU: Intel Core i7-1260P / AMD Ryzen 7 6800U
- Graphics: Intel Iris Xe / AMD Radeon 680M
- RAM: 16/32 GB LPDDR5 6400
- Storage: 1/2 TB PCIe 4.0 M.2 NVMe SSD
- Network: Intel WiFi 6 AX BT 5.2
- Thunderbolt 4 (Intel) | USB4 (AMD)
GPD Win Max 2 (2023)
- Display: 10.1" 2560x1600
- CPU: AMD Ryzen 7 7640U / AMD Ryzen 7 7840U
- Graphics: AMD Radeon 680M / AMD Radeon 780M
- RAM: 16/32/64 GB LPDDR5 6400
- Storage: 1/2 TB PCIe 4.0 M.2 NVMe SSD
- Network: Intel WiFi 6 AX210 BT 5.2
- USB4
Driver
Fan driver
Here is an experimental driver that expose GPD device's fan to kernel's hwmon subsystem: gpd-fan-driver. It has been packaged on AUR gpd-fan-driver-dkms-gitAUR
Warn: This driver has not been fully tested and reviewed. It may cause damage to your device. Use at your own risk.
Fixes
GPD Win Max 2020/2021
Touchscreen
If you are using Xorg, create the file: /etc/X11/xorg.conf.d/99-touchscreen.conf
to rotate the touchscreen.
/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
Mute Key
The mute key does not send a release code. To fix it, create a new udev hwdb file under /etc/udev/hwdb.d/
, and configure the key to trigger an automatic release event.
/etc/udev/hwdb.d/90-gpd-rules.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGPD:pnG1619-01:pvr* KEYBOARD_KEY_a0=!mute
GPD Win Max 2021
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:
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
To rotate the virtual console, add fbcon=rotate:1
to the Kernel parameters.
GPD Win Max 2
Keyboard
BIOS < 1.04 and kernel > 5.18.9: the keyboard IRQ, as specified in the BIOS, is incompatible with a change made in kernel 5.18.10 targeting AMD 6000 APUs.
Consequently, the keyboard will not work without either patching the kernel or applying a DSDT override.
Kernel patch:
kbd_irq.patch
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c index 510cdec375c4..c2d494784425 100644 --- a/drivers/acpi/resource.c +++ b/drivers/acpi/resource.c @@ -416,16 +416,6 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, { int i; -#ifdef CONFIG_X86 - /* - * IRQ override is not needed on modern AMD Zen systems and - * this override breaks active low IRQs on AMD Ryzen 6000 and - * newer systems. Skip it. - */ - if (boot_cpu_has(X86_FEATURE_ZEN)) - return false; -#endif - for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { const struct irq_override_cmp *entry = &skip_override_table[i];
DSDT changes:
kbd_dsdt.diff
21c21 < DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009) --- > DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x0107200a) 7102c7102 < IRQNoFlags () --- > IRQ (Level, ActiveLow, Exclusive, ) 7121c7121 < IRQNoFlags () --- > IRQ (Level, ActiveLow, Exclusive, )
IMU (Accelerometer + Gyro)
The IMU (Bosch BMI160) is incorrectly identified in the BIOS. A DKMS patch may be applied.
Alternatively, a DSDT override may be generated with the correct part number. The aformentioned keyboard fix and following IMU fix may be combined into a single DSDT override.
DSDT changes:
imu_dsdt.diff
21c21 < DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009) --- > DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x0107200a) 7214,7215c7214,7215 < Name (_HID, "10EC5280") // _HID: Hardware ID < Name (_CID, "10EC5280") // _CID: Compatible ID --- > Name (_HID, "BMI0160") // _HID: Hardware ID > Name (_CID, "BMI0160") // _CID: Compatible ID
GPD Win Max 2 (2023)
Sleep/ Si0X
With the old BIOS, The GPD Win Max 2 2023 edition might have problems with sleep: It might wake up (instantaneously or after some time). It is now working on https://gitlab.freedesktop.org/drm/amd/-/issues/3073.
It's now fixed in the .38 BIOS.
IMU (Accelerometer + Gyro)
With the old BIOS, the IMU (Bosch BMI260) is incorrectly identified in the BIOS. It's named BMI0160:00
in ACPI table. It's now corrected in the .40 BIOS.
The package bmi260-dkmsAUR installs the correct kernel driver bmi260_i2c
and the sensor works with that. (For low level testing, use /usr/lib/iio-sensor-proxy -v
from package iio-sensor-proxy.)
Kernel modules bmi160_spi
, bmi160_i2c
and bmi160_core
can be blacklisted to stop false autoload if not needed for some external device.
Known issues
GPD Win Max 2021 (Intel)
Deep sleep
Deep sleep is not working and there is no fix.
GPD Win Max 2
Fingerprint reader
The fingerprint reader (ChipSailing CS9711 @ USB 5.4) is, as of yet, unsupported.
USB autosuspend
On BIOS version v1.04, the USB controller may fail to enumerate devices that are newly plugged in after boot. This is due to a bug with USB suspend support and can be worked around by disabling autosuspend with the kernel parameter usbcore.autosuspend=-1
.
GPD Win Max 2 (2023)
Fingerprint reader
The fingerprint reader (ChipSailing CS9711 @ USB 5.4) is, as of yet, unsupported.
USB4/Thunderbolt eGPU Crashes
Using an eGPU via USB4/Thunderbolt (not OCuLink) may result in PCIe errors causing the desktop environment and/or application using the eGPU to crash. To ignore these errors, try adding the kernel parameter pci=noaer
; this disables PCI Express Advanced Error Reporting which disables reporting and mitigation of PCIe errors but does not actually resolve the errors. The errors, however, do not appear to hinder the functioning of the GPU.
Notes
GPD Win Max (2020) kernel requirement
The 2020 variant uses a different location for EDID that is not supported by Linux kernels prior to 5.18.
Linux kernel 5.18 or above is required for the screen to work.
BIOS updates
fwupd is not supported.
GPD provides BIOS updates via Windows executables in the following locations:
- GPD Win Max: https://gpd.hk/gpdwinmaxfirmware
- GPD Win Max 2021: https://gpd.hk/gpdwinmax2021firmwaredriver
- GPD Win Max 2: https://gpd.hk/gpdwinmax2firmwareanddriver
See Windows PE for instructions on how to make a bootable Windows environment to apply the updates.