GPD Win Max

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Stub (Discuss in Talk:GPD Win Max)
Hardware PCI/USB ID Working?
Video Yes
Wireless Yes
Ethernet Yes
Bluetooth Yes
Audio Yes
Keyboard Yes
Controller Yes
Touchscreen Yes
MicroSD Slot Yes
Function/Multimedia Keys Yes
Suspend/Resume Yes

Specs

There are three models of the GPD Win Max easily differentiated by processor.

1035G7

  • Display: 8" 1280x800
  • CPU: Intel Core i5-1037G7 3.70gHz
  • Graphics: Intel Iris Plus 940
  • RAM: 16GB LPDDR4x 3733
  • Storage: 512GB PCIe M.2 NVMe SSD
  • Network: 1GbE, Intel Wifi6 AX, BT 5.0
  • Thunderbolt 3 Support

1195G7

  • Display: 8" 1280x800
  • CPU: Intel Core 17-1195G7 5.0gHz
  • Graphics: Intel Iris Xe G7
  • RAM: 16GB LPDDR4x 4226
  • Storage: 1TBGB PCIe M.2 NVMe SSD
  • Network: 1GbE, Intel Wifi6 AX BT 5.0
  • Thunderbolt 4 Support

4800U

  • Display: 8" 1280x800
  • CPU: AMD Ryzen 7 4800U 4.2gHz
  • Graphics: AMD Radeon Vega 8
  • RAM: 16GB LPDDR4x 4226
  • Storage: 1TB PCIe M.2 NVMe SSD
  • Network: 1GbE, Intel Wifi6 AX BT 5.0

Firmware

fwupd is not supported on this device. GPD provides firmware updates via Windows executables.

See https://gpd.hk/gpdwinmax2021firmwaredriver for the files and Windows PE for instructions on how to make a bootable Windows environment to apply the updates.

Fixes

Screen

EDID

The screen configuration is not correctly read, therefore the EDID has to be supplied and loaded separately.

Copy the EDID from Windows, or generate the EDID binary (data supplied by the GPD community), e.g. WinMaxEDID.bin:

# echo "AP///////wAJ5QMAAwAAAAEdAQOACxF4LwAAoFdJmyYQSE8AAAABAQEBAQEBAQEBAQEBAQEBwhogUDAAEFAQEDIAbKwAAAAYAAAA/ABUVjA4MFdVTS1OTDAKAAAA/QA8PBAQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMM=" | base64 --decode > WinMaxEDID.bin

Then copy the binary to /usr/lib/firmware/edid. As root:

# mkdir /usr/lib/firmware/edid
# cp WinMaxEDID.bin /usr/lib/firmware/edid/

Make it available on early boot, e.g. by editing the FILES section in /etc/mkinitcpio.conf if mkinitcpio is used.

/etc/mkinitcpio.conf
[...]
FILES=(/usr/lib/firmware/edid/WinMaxEDID.bin)
[...]

Finally, add drm.edid_firmware=eDP-1:edid/WinMaxEDID.bin to the Kernel parameters.

Screen rotation

This device uses a portrait screen.

To rotate the virtual console, add fbcon:rotate=1 to the Kernel parameters.

To rotate the login manager or graphical session, refer to the respective configuration files and/or applications.

Example: To rotate GDM, see here: GDM#Setup default monitor settings

Keyboard

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

Notes

Custom fixed Arch ISO

If you want to make an Arch ISO image fixed to work on the Win Max, this is the way to do it on Arch. Take note on how you named and where you placed your EDID binary, in this example it is found under /usr/lib/firmware/edid/WinMaxEDID.bin.

Install the archiso package, then run:

# mkdir -p /opt/archiso/isos
# cp -r /usr/share/archiso/configs/releng /opt/archiso/
# mkdir -p /opt/archiso/releng/airootfs/usr/lib/firmware/edid
# cp /usr/lib/firmware/edid/WinMaxEDID.bin /opt/archiso/releng/airootfs/usr/lib/firmware/edid/

Now edit /opt/archiso/releng/airootfs/etc/mkinitcpio.conf so that the FILES section looks like this:

FILES=(/usr/lib/firmware/edid/WinMaxEDID.bin)

Also edit the files in /opt/archiso/releng/efiboot/loader/entries/ so that the "options" line includes

drm.edid_firmware=eDP-1:edid/WinMaxEDID.bin fbcon=rotate:1

Finally build the file:

# mkarchiso -v -w /tmp/archiso -o /opt/archiso/isos /opt/archiso/releng

This can take a few minutes, depending on the system. The resulting WinMax-fixed official Arch image will then be under /opt/archiso/isos.