GPD Win Max

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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#)
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.