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
.