GPD MicroPC 2
| Hardware | PCI/USB ID | Working? |
|---|---|---|
| GPU (N250) | 8086:46d3 |
Yes |
| GPU (N300) | 8086:46d0 |
Yes |
| Ethernet | 10ec:8125 |
Yes |
| Wi-Fi | 8086:54f0 |
Yes |
| Bluetooth | 8087:0026 |
Yes |
| Audio | 8086:54c8 |
Yes |
| Display | Yes | |
| Touchpad | 36b6:c001 |
Yes |
| Touchscreen | 222a:fff1 |
Yes |
| Fingerprint sensor | No | |
| SD card reader | 8086:54c4 |
Yes |
This page provides information for the GPD MicroPC 2.
Specifications
Only two variants exist so far; N250 and N300. Other specifications should be identical.
N250/N300
- Display: 7" 1920x1080
- CPU: Intel N250 or N300
- RAM: 16GB LPDDR5 4800 MT/s
- Storage: 512GB NVMe SSD PCIe Gen 3 2280
- Network: 2.5Gbps Ethernet, Intel AX201 802.11ax (2.4/5Ghz), Bluetooth 5.2
Firmware
fwupd is not supported on the GPD MicroPC 2. GPD provides firmware updates via Windows executables.
See https://www.gpd.hk/gpdmicropc2firmwaredriver for firmware, primarily the BIOS is all we need and includes a method to update via USB; refer to the instructions provided within the zip.
Recommendations
It is highly recommended you use Wayland for this laptop and not X11, as Wayland will give a better end result and need less tweaking.
Please note that while the fixes provided below were originally created whilst using Wayland and GNOME under Arch, there is no guarantee of all of them working on other distributions or desktop environments.
All sections are worth reading, some of which highlight issues found. If the section does not exist it either works, or no issue has been found.
Display
The MicroPC 2 display is designed for portrait devices and is rotated by 90 degrees counter-clockwise by default. This can be solved by adding the following kernel parameters:
fbcon=rotate:1 video=DSI-1:panel_orientation=right_side_up
The first parameter (fbcon) will fix console rotation. The second (video) rotates other graphical elements including Plymouth, Wayland, and GDM to the correct, landscape orientation.
Some login managers will need manually tweaking in addition.
Automatic screen rotation
For most users, iio-sensor-proxy is recommended and focused on here. Alternatively, rot8-gitAUR can be used - refer to Tablet PC#With rot8 and GitHub pagefor instructions.
Wayland
GNOME: The "Screen Rotate" extension from here is needed−and if you open up your extensions settings, you can change the offset which needs to be set to 1.
X11
Ensure you have xorg-xinput
Create a script and run it on startup.
$HOME/Documents/Scripts/Auto-Rotate.sh
#!/bin/bash
DEVICE="ILTP7807:00 222A:FFF1"
DISPLAYNAME="DSI-1"
monitor-sensor | while read -r line; do
case "$line" in
*normal*)
xrandr --output $DISPLAYNAME --rotate normal
xinput set-prop "$DEVICE" "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1
;;
*left-up*)
xrandr --output $DISPLAYNAME --rotate left
xinput set-prop "$DEVICE" "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
;;
*right-up*)
xrandr --output $DISPLAYNAME --rotate right
xinput set-prop "$DEVICE" "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
;;
*bottom-up*)
xrandr --output $DISPLAYNAME --rotate inverted
xinput set-prop "$DEVICE" "Coordinate Transformation Matrix" -1 0 1 0 -1 1 0 0 1
;;
esac
done
Ensure you mark it as executable.
X11 screen tearing
Due to the display being designed for portrait devices, the device experiences vertical screen tearing. This can be solved by ensuring xf86-video-intel is installed and following the instructions in Intel graphics#Tearing.
A user mentioned a possible fix with Intel driver set: Enable fractional scaling and set to 150, then disable it - this should prevent the mouse cursor from disappearing at the bottom of the screen.
Touchscreen
The touchscreen is an Ilitek ILTP7807.
BIOS 2.16 or later is needed for it to work on Linux.
BIOS 2.17 or later fixes the issue with it not working when awaken from sleep - this update is only currently available on Discord (gpd_devices) by official GPD employee.
Currently the touchscreen will turn off when you wake the laptop from sleep, but not turn back on when awaken. This can be fixed by running the following:
# echo -n "i2c-ILTP7807:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind # echo -n "i2c-ILTP7807:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind
To run these commands automatically after resume, create a systemd service:
/etc/systemd/system/touchscreen-resume.service
[Unit] Description=Rebind touchscreen after resume After=suspend.target hibernate.target [Service] Type=oneshot ExecStart=/bin/sh -c 'echo -n "i2c-ILTP7807:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/unbind; echo -n "i2c-ILTP7807:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind' [Install] WantedBy=suspend.target hibernate.target
Then enable the newly created touchscreen-resume.service.
A fix by GPD is planned, and should be fixed in the next BIOS update.
Wayland
With Wayland no further modification is needed and seems to work fully.
X11
Touchscreen controls are very limited for X11.
/etc/X11/xorg.conf.d/99-touchscreen-matrix.conf
Section "InputClass"
Identifier "rotate ILTP7807 touchscreen"
Driver "libinput"
MatchProduct "ILTP7807:00 222A:FFF1"
Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
EndSection
Then logout or restart for changes to apply.
Touchpad and mouse buttons
Wayland
The right mouse button can be fixed by adding a quirk to libinput:
/etc/libinput/local-overrides.quirks
[ALPS touchpad with external buttons] MatchName=ALPS0001:00 36B6:C001 Touchpad MatchUdevType=touchpad MatchDMIModalias=dmi:*svnGPD:pnG1688-08:* # Drop the "buttonpad" property so libinput treats it as a normal touchpad AttrInputProp=-INPUT_PROP_BUTTONPAD
- This quirk will not be necessary in libinput versions after 1.29.1 as it is currently added to the repository under quirks.
X11
Install xf86-input-synaptics.
/etc/X11/xorg.conf.d/99-alps-touchpad.conf
Section "InputClass"
Identifier "ALPS touchpad"
MatchProduct "ALPS0001:00 36B6:C001 Touchpad"
Driver "synaptics"
Option "ClickPad" "false"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
EndSection
Then re-log.
Wi-Fi
Currently while Wi-Fi does work, there are reports of the driver crashing; however more up-to-date kernels seem to mitigate this. Kernel 6.16+ has reportedly had success.
There are also reports of the wireless driver suddenly not appearing anymore under Linux. Disabling Fast Boot within the BIOS has worked, but may need more time to fully confirm.
Fingerprint sensor
A Microarray MAFP8800 is used in the MicroPC 2. Currently there appears to be no driver for this on Linux (or any Microarray fingerprint sensor).
Additional features
Charging control
The MicroPC 2 features threshold charging to limit max charging to preserve the batteries health. You can set this in the BIOS under Main > OEM System Configuration.
It also has a bypass feature, allowing it to run from the mains without stressing the battery.
BIOS reset
There is a pinhole BIOS reset button on the left hand side of the device.
Quiet Fan Mode
While the original MicroPC had a physical fan toggle the MicroPC 2 does not, you may however set the TDP to either 6W or 8W within the BIOS and enable a quiet fan mode - which will only allow the fan to turn on when a certain temperature is met.