Skip to content

Surface Laptop Studio

Nuttapong Punpipat edited this page Nov 10, 2022 · 17 revisions

Touchpad Cursor does not move

Note: You don't have to do this, if the problem is not occured (perhaps you're using newer version of libinput)

Currently, the touchpad of the Surface Laptop Studio requires a quirk to work properly.

By default, libinput detects all touches as palms due the default pressure thresholds for palm detection being off.

To fix this, you need to add the following quirk / hwdb entry to /etc/libinput/local-overrides.quirks (create that file and directory if it doesn't exist):

[Microsoft Surface Laptop Studio Touchpad]
MatchVendor=0x045E
MatchProduct=0x09AF
MatchUdevType=touchpad
AttrPressureRange=25:10
AttrPalmPressureThreshold=500

You can tune those values and find more information about that at https://wayland.freedesktop.org/libinput/doc/latest/touchpad-pressure-debugging.html#touchpad-pressure-hwdb.

Specifically, sudo libinput measure touchpad-pressure can be used to inspect pressure values and resulting touch/palm detection.

Poor sound quality when playing on laptop speaker on 44.1kHz sample rate

There is an issue that significantly dropped quality of sound playing on laptop speaker at 44.1kHz (which not appeared in Windows audio configuration). Perhaps it is caused by either DAC/driver's poor resampling code or misconfigured ALSA/driver. (/proc/asound/PCH/codec#0 reports that laptop speaker supports 44.1kHz)

To fix this, you need to avoid using 44.1kHz on ALSA hw:0,0 and also on PulseAudio.

For PulseAudio, since default configuration of PulseAudio using 44.1kHz as mainly one, you have to change parameter default-sample-rate in PulseAudio daemon.conf to 48000.

For PulseWire, it is set as 48kHz by default.

Noted that the same configuration that cause low quality playing on laptop speaker, does not happen on headphone (which support 44.1kHz on Windows configuration)

Allow touchpad/keyboard on Wayland in slate mode

Note: You don't have to do this, if you can using touchpad/keyboard on Wayland in slate mode (perhaps you're using newer version of libinput)

By default, libinput disable usage of touchpad/keyboard when tablet mode is triggered (by slate/tablet position, in case of SLS).

So you cannot using touchpad/keyboard on Wayland in slate-mode, like you have done on Windows.

This above only affected on Wayland not X11. And only affected on kernel version that implement Surface tablet mode for SLS

To fix this, you need to add the following quirk / hwdb entry to /etc/libinput/local-overrides.quirks (create that file and directory if it doesn't exist):

[Microsoft Surface Laptop Studio Built-In Peripherals]
MatchName=*Microsoft Surface*
MatchDMIModalias=dmi:*svnMicrosoftCorporation:*pnSurfaceLaptopStudio:*
ModelTabletModeNoSuspend=1

There is alternative way, by re-modprobe surface_aggregator_tabletsw with parameter of tablet_mode_in_slate_state=N, note that this method also disable Linux tablet mode event from being triggered when put device in slate mode.

For more information see here

Clone this wiki locally