Go to file
Quad eec670e464 Update README 2021-05-20 11:06:36 +02:00
README.md Update README 2021-05-20 11:06:36 +02:00
tdp Polish up TDP script 2021-05-20 10:46:14 +02:00
win3-lin.jpg Add photo to readme 2021-05-20 10:50:35 +02:00

README.md

Linux resources for GPD Win 3

This repo contains the resources I used to get Linux running on my GPD Win 3. For the most part it's just going to be some scripts and notes.

I currently run Ubuntu 21.04 on my GPD Win 3, issues may vary and scripts break if you use different distros.

Photo of GPD Win 3 running Linux

System "requirements"

As always with Linux, setup will vary from distro to distro. But there's some basics that should be in place regardless of distro:

  • Linux kernel 5.11+ (Saw good improvements to Intel Xe graphics support)
  • Mesa version as recent as possible
  • If gaming on Steam, set "Proton Experimental" as compatibility tool (Many games fail to launch with any numbered release)

And last but not least:

  • Patience

Intel Xe graphics are very recent, and so are the drivers. Regardless of platform. You WILL encounter graphical bugs and compatibility issues with games, until Intel irons out their drivers more.

Surprisingly that's mostly it. Keyboard, gamepad, ports, WiFi, Bluetooth and most other things just work as long as your kernel is recent enough.

Main issues

Ignored TDP

My GPD Win 3 mostly ignores the TDP set in the BIOS and runs with PL1 at 25W and PL2 at 28W regardless. I have not yet tested if it entirely disregards the TDP, or simply runs with TDP "Up" constantly. Needless to say, this wrecks battery life.

This can be fixed by manually setting this using intel_rapl. Which can be done by echoing wattage in µW to a /sys endpoint:

# This example sets PL1/PL2 to 10W and 12W respectively
echo 10000000 /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw:100000000
echo 12000000 /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw:120000000

The tdp script in this repo will automate/simplify this. But as of me writing this it's just boilerplate code. When I finish it, it will support commands such as tdp check and tdp set 15 to check and set TDP using nice round numbers, and short commands that are easy to type on the GPD Win 3's keyboard.

Sound does not work

Probably a very Ubuntu 21.04 specific bug, but sound does not work, the sound card is detected by ALSA out of the box, but PulseAudio only displays a "Dummy output". Thus most software does not output sound properly.

This was fixed by adding the following to a modprobe config file, for example /etc/modprobe.d/alsa-base.conf:

options snd-hda-intel dmic_detect=0

Which presumably disables mic output on the combo jack, but I have not tested if that's true. The built-in mic does still respond.

Can't change screen settings

For whatever reason Ubuntu 21.04 didn't let me change display settings. It was stuck with 2x scaling and portrait orientation, which makes it nigh unusable. (Effective display width is only 360px, probaly about 280px after accounting for Ubuntu's dock.)

Fixed by manually setting scaling to 1 using gsettings:

gsettings set org.gnome.desktop.interface scaling-factor 1

I could then also rotate the display using the GUI, not sure why. Presumably orientation can also be fixed via gsettings if needed.

Crappy Intel drivers

This is a platform-agnostic problem. Intel Xe drivers are in their infancy, so you will get graphical bugs and compatibility issues quite often. This happens both on Windows and on Linux.

When on Linux, the best way to negate the issue is to make sure your Mesa is as up-to-date as possible. For Ubuntu users there are PPAs for this:

Obviously these are 3rd party repos, so I can't guarrantee their stability or that they won't cause issues in the fugure. But updating Mesa is a fairly common thing on Ubuntu so the likelyhood of issues appearing should be very low.

I personally installed the latest stable, and accepted the fact that some games will just have the odd texture or shadow bug.

As Intel's Xe drivers mature, this issue should disappear on its own.