GPD Win Max
Device | Status |
Video | Working |
Wireless | Working |
Ethernet | Working |
Bluetooth | Working |
Audio | Working |
Keyboard | Working |
Controller | Working |
Touchscreen | Working |
MicroSD Slot | Working |
Function/Multimedia Keys | Working |
Suspend/Resume | Working |
Notes for the GPD Win Max, a hybrid UMPC and portable gaming device.
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
Touchpad
Clickpad functionality
On recent versions of libinput, the clickpad functionality is disabled when the touchpad reports having BTN_RIGHT
capabilities, which is the case here. In order for the touchpad to function as a proper clickpad (e.g. click and hold with one finger, select with the second), a quirk is needed in /etc/libinput/local-overrides.quirks
to disable the incorrectly reported BTN_RIGHT
capability.
/etc/libinput/local-overrides.quirks
# Clickpad that announces BTN_RIGHT [GPD Win Max Touchpad] MatchName=HTIX5288:00 093A:0255 Touchpad MatchUdevType=touchpad MatchDMIModalias=dmi:*svnGPD*pnG1619-01* AttrEventCodeDisable=BTN_RIGHT
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
.