Jump to content

# GPD MicroPC 2

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Misses an Accessibility section, the sections talk about BIOS but it looks like the device uses a UEFI: Secure Boot support should be documented. (Discuss in Talk: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 |  | Yes
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.

For the most like-for-like experience to Windows on this laptop, KDE would be the most appropriate desktop environment; especially for overall on-screen keyboard functionality when using the touchscreen.

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 as explained in Tablet PC#Screen rotation.

### Automatic screen rotation

See Tablet PC#Automatic rotation.

As of systemd version 259, the rotation matrix is corrected and a manual addition of a quirk isn't necessary. This removes need for offsetting rotation in any way. For reference, specific hwdb can be found here.

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

## On-Screen Keyboard

In Windows, when you use the touchscreen and tap an input field an on-screen keyboard will show but not with left click of mouse/touchpad.

KDE: It's recommended to use plasma-keyboard and enable it in Settings under "Virtual Keyboards" to get the same behaviour as Windows.

GNOME: With testing there's unfortunately no simple way to get the same functionality as presented in Windows. One solution is you may set the on-screen keyboard to be available only while in portrait mode with the extension mentioned before.

## Touchpad and mouse buttons

### Middle Mouse Scrolling

The script found on GitHub essentially unifies the touchpad and mouse - which are separate and mouse input only uses middle mouse which can be temperamental - and allows for middle mouse scrolling.

### Wayland

As of libinput version 1.29.2, adding a quirk manually isn't required. This specific quirk can be found here. The aforementioned quirk specifically fixes the issue of having to touch the touchpad to be able to operate physical left click, and lack of middle and right click functionality.

### 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. A fingerprint driver was released on a GPD Discord (gpd_devices) so far and seems to work.

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

### TPD and 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.

Additionally, you can adjust the TDP manually which is effective until reboot. This is handy if you have set a quiet fan mode, as it will stay that way when you change to a higher TDP.

Warning Going beyond 15W is at your own risk, as it may not be suitable for the VRMs.

The following example sets 15W (+3W for turbo):

    # echo 15000000 > /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw
    # echo 18000000 > /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw

If you wish to set 5W, 5000000 would be your first value and the second would be 8000000. Keep in mind the zeroes. There is a script with safe limits on the community Discord.

## See also

- Main Website
- Indiegogo Campaign

Category:

- GPD

Hidden category:

- Pages or sections flagged with Template:Laptop style

GPD MicroPC 2
Add topic