跳转至内容

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,BT 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 BT 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 BT 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 BT 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

屏幕旋转

此设备使用纵向屏幕,请参阅 Tablet PC#屏幕旋转

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

IMU(Bosch BMI160)在 BIOS 中被错误识别。可以应用一个 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 时,IMU(Bosch BMI260)在 BIOS 中被错误识别。在 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)现在对 libfprint 有实验性支持 [1]

USB 自动挂起

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

GPD Win Max 2 (2023)

指纹识别器

指纹识别器(ChipSailing CS9711 @ USB 5.4)现在对 libfprint 有实验性支持 [2]

USB4/Thunderbolt eGPU 崩溃

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

备注

GPD Win Max (2020) 内核要求

2020 年型号使用的 EDID 位置不同,Linux 内核 5.18 之前的版本不支持。

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

BIOS 更新

fwupd 不受支持。

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

有关如何创建可启动 Windows 环境以应用更新的说明,请参阅 Windows PE