win3-resources/docs/Main-issues.md

4.8 KiB

Main issues

This is an overview of most "considerable" issues I encountered while installing Linux.

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
echo 12000000 > /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw

Instead of fixing this manually, the TDP script in this repo can also be used.

It allows quickly setting TDP via the command line using commands such as tdp set 10 for 10W.

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

No touchscreen

The touchscreen works, but the goodix module (Touchscreen driver) needs to be loaded after sign in. Not entirely sure why. To get the touch screen working, run the following two commands after the Win 3 has started:

sudo modprobe -r goodix
sudo modprobe goodix

The touchscreen then starts working, it keeps working after sleep/suspend as well.

This can be automated using a file in /etc/modprobe.d that performs this automatically. (Thanks rj_b)
To automate, create the file /etc/modprobe.d/win3-goodix.conf with the following content:

install goodix /sbin/modprobe --ignore-install goodix ; /sbin/modprobe -r --ignore-install goodix ; /sbin/modprobe --ignore-install goodix

Rotate GDM (Sign-in screen)

GDM keeps its own display settings, so it's not as straight forward to rotate/scale as the desktop.

You can either copy your own settings over so GDM works the same by running this command:

sudo cp ~/.config/monitors.xml /var/lib/gdm3/.config/

Or you can create the file /var/lib/gdm3/.config/monitors.xml and input my settings:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <transform>
        <rotation>right</rotation>
        <flipped>no</flipped>
      </transform>
      <monitor>
        <monitorspec>
          <connector>DSI-1</connector>
          <vendor>unknown</vendor>
          <product>unknown</product>
          <serial>unknown</serial>
        </monitorspec>
        <mode>
          <width>720</width>
          <height>1280</height>
          <rate>60.000682830810547</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>

This will also leave GDM with 2x scaling, which makes for a rather beautiful and properly rotated login screen:

Photo of GPD Win 3 at sign-in screen