GPD Win Max

来自 ArchWiki

此文章或章节不符合 笔记本电脑页面指南

理由:硬件表格需要清理以符合 Help:Laptop page guidelines#Adding hardware information。缺少 PCI/USB ID。#BIOS 更新 可以作为完善的 “固件” 章节的基础,“功能键” 章节和 “辅助功能” 章节缺失。(在 Talk:GPD Win Max 中讨论)
硬件 总线 + ID 工作状态 总线 + ID 工作状态 总线 + ID 工作状态
Win Max Win Max 2021 Win Max 2
视频 ? ? PCI ?
无线 ? ? PCI ?
以太网 ? ? 不适用 不适用
蓝牙 ? ? ?
音频 ? ? ?
摄像头 不适用 不适用 不适用 不适用 USB 058e:3864
键盘 ? ? PS/2 ?
触摸板 ? ? I2C ?
游戏手柄 USB 045e:028e
触摸屏 ? ? I2C ?
触控笔 不适用 不适用 不适用 不适用 不适用
MicroSD ? ? ?
SD 卡 不适用 不适用 不适用 不适用 ?
指纹 不适用 不适用 不适用 不适用 USB 2541:9711
IMU 不适用 不适用 不适用 不适用 I2C ?

型号

GPD Win Max 系列有多个型号,其中一些有多个 SKU。

GPD Win Max (2020)

  • 显示屏:8 英寸 1280x800
  • CPU:Intel Core i5-1037G7
  • 显卡:Intel Iris Plus 940
  • 内存:16 GB LPDDR4x 3733
  • 存储:512 GB PCIe M.2 NVMe SSD
  • 网络:1 GbE,Intel WiFi 6 AX,蓝牙 5.0
  • Thunderbolt 3

GPD Win Max 2021

  • 显示屏:8 英寸 1280x800
  • CPU:Intel Core i7-1195G7 / AMD Ryzen 7 4800U
  • 显卡:Intel Iris Xe G7 / AMD Radeon Vega 8
  • 内存:16 GB LPDDR4x 4226
  • 存储:1 TB PCIe M.2 NVMe SSD
  • 网络:1 GbE,Intel WiFi 6 AX 蓝牙 5.0
  • Thunderbolt 4 (Intel)

GPD Win Max 2 (2022)

  • 显示屏:10.1 英寸 2560x1600
  • CPU:Intel Core i7-1260P / AMD Ryzen 7 6800U
  • 显卡:Intel Iris Xe / AMD Radeon 680M
  • 内存:16/32 GB LPDDR5 6400
  • 存储:1/2 TB PCIe 4.0 M.2 NVMe SSD
  • 网络:Intel WiFi 6 AX 蓝牙 5.2
  • Thunderbolt 4 (Intel) | USB4 (AMD)

GPD Win Max 2 (2023)

  • 显示屏:10.1 英寸 2560x1600
  • CPU:AMD Ryzen 7 7640U / AMD Ryzen 7 7840U
  • 显卡:AMD Radeon 680M / AMD Radeon 780M
  • 内存:16/32/64 GB LPDDR5 6400
  • 存储:1/2 TB PCIe 4.0 M.2 NVMe SSD
  • 网络:Intel WiFi 6 AX210 蓝牙 5.2
  • USB4

驱动

风扇驱动

这是一个实验性驱动程序,可以将 GPD 设备的风扇暴露给内核的 hwmon 子系统:gpd-fan-driver。它已在 AUR 上打包 gpd-fan-driver-dkms-gitAUR

警告:此驱动程序尚未经过充分测试和审查。它可能会对您的设备造成损坏。使用风险自负。

修复

GPD Win Max 2020/2021

触摸屏

如果您正在使用 Xorg,请创建文件:/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

静音键

静音键不发送释放码。要修复此问题,请在 /etc/udev/hwdb.d/ 下创建一个新的 udev hwdb 文件,并将该键配置为触发自动释放事件。

/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

屏幕旋转

此设备使用纵向屏幕。

如果您正在使用 Xorg,请创建 /etc/X11/xorg.conf.d/30-monitor.conf 以旋转屏幕

注意:Identifier 可能因您选择的显示驱动程序而异(DSI-1 (modesetting)DSI1 (xf86-video-intel)
/etc/X11/xorg.conf.d/30-monitor.conf
Section "Monitor"
	
  Identifier "DSI-1"
	
  Option     "Rotate" "right"
	
EndSection

要旋转虚拟控制台,请将 fbcon=rotate:1 添加到 内核参数

GPD Win Max 2

键盘

BIOS < 1.04 且内核 > 5.18.9:BIOS 中指定的键盘 IRQ 与内核 5.18.10 中针对 AMD 6000 APU 的更改不兼容。

因此,如果不修补内核或应用 DSDT 覆盖,键盘将无法工作。

内核补丁

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 更改

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 (加速度计 + 陀螺仪)

BIOS 中错误地识别了 IMU (Bosch BMI160)。可以应用 DKMS 补丁

或者,可以生成具有正确部件号的 DSDT 覆盖。上述键盘修复和后续 IMU 修复可以组合到单个 DSDT 覆盖中。

DSDT 更改

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)

睡眠/ Si0X

在旧 BIOS 中,GPD Win Max 2 2023 版本可能存在睡眠问题:它可能会唤醒(立即或一段时间后)。目前正在 https://gitlab.freedesktop.org/drm/amd/-/issues/3073 上解决此问题。

现在已在 .38 BIOS 中修复。

IMU (加速度计 + 陀螺仪)

在旧 BIOS 中,BIOS 中错误地识别了 IMU (Bosch BMI260)。在 ACPI 表中,它被命名为 BMI0160:00现在已在 .40 BIOS 中更正。

软件包 bmi260-dkmsAUR 安装了正确的内核驱动程序 bmi260_i2c,传感器可以正常工作。(对于低级测试,请使用软件包 iio-sensor-proxy 中的 /usr/lib/iio-sensor-proxy -v。)
如果某些外部设备不需要内核模块 bmi160_spibmi160_i2cbmi160_core,可以将其 列入黑名单 以停止错误地自动加载。

已知问题

GPD Win Max 2021 (Intel)

深度睡眠

深度睡眠无法工作,目前没有修复方案。

GPD Win Max 2

指纹识别器

指纹识别器 (ChipSailing CS9711 @ USB 5.4) 尚不支持。

USB 自动挂起

在 BIOS 版本 v1.04 上,USB 控制器可能无法枚举启动后新插入的设备。这是由于 USB 挂起支持中的一个错误造成的,可以通过使用 内核参数 usbcore.autosuspend=-1 禁用自动挂起作为解决方法。

GPD Win Max 2 (2023)

指纹识别器

指纹识别器 (ChipSailing CS9711 @ USB 5.4) 尚不支持。

USB4/Thunderbolt eGPU 崩溃

通过 USB4/Thunderbolt (非 OCuLink) 使用 eGPU 可能会导致 PCIe 错误,从而导致桌面环境和/或使用 eGPU 的应用程序崩溃。要忽略这些错误,请尝试添加 内核参数 pci=noaer;这会禁用 PCI Express 高级错误报告,从而禁用 PCIe 错误的报告和缓解,但实际上并未解决这些错误。但是,这些错误似乎并未妨碍 GPU 的功能。

注释

GPD Win Max (2020) 内核要求

2020 版本对 EDID 使用了不同的位置,这在 5.18 之前的 Linux 内核中不受支持。

需要 Linux 内核 5.18 或更高版本才能使屏幕工作。

BIOS 更新

fwupd 不受支持。

GPD 通过以下位置的 Windows 可执行文件提供 BIOS 更新

请参阅 Windows PE,了解如何制作可启动的 Windows 环境以应用更新。