aboutsummaryrefslogblamecommitdiffstats
path: root/src/w/thinkpad-x220.md
blob: 3b12aa3767350d3500be2803cec2e79a29be5c9e (plain) (tree)




























                                                                                                     






                                         








                                                                                                                         




                                                        




                                                                           
























                                                                                             


            
title: thinkpad x220

## performances

On a linux installation, disabling mitigations can
[considerably increase the performances](https://linuxreviews.org/HOWTO_make_Linux_run_blazing_fast).
However, it comes with serious security issues.

Add the following parameter for booting your kernel:

```
mitigations=off
```

## microphone

The embbeded microphones can generate a static noise. According to the
[Archlinux wiki](https://wiki.archlinux.org/title/Lenovo_ThinkPad_X220#Microphone),
muting the right microphone fix this issue.

> The following informations are about pulseaudio and its built-in module
> system. A more modern approache would be to use easyeffects. However I
> experienced noisy inputs/outputs while being on calls, and running it in the
> background requires to a) keep the easyeffects window opened b) move
> easyeffects to system tray.

With pulseaudio/pipewire-pulse, the `remap-source` module can be loaded:

```
$ pactl load-module module-remap-source \
    "source_name=${source_name}" \
    "master=${source_index}" \
    use_master_format=1 \
    master_channel_map=front-left \
    channel_map=mono \
    channels=1
```

However, the fans can still be heard, and not all voip clients handle noise
cancelling. Instead, you can keep the right microphone active and use it for
[noise cancellation](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-echo-cancel)
(including the static noise).

```
$ pactl load-module module-echo-cancel \
    "source_name=${source_name}" \
    "master=${source_index}" \
    use_master_format=1 \
    aec_method="webrtc" \
    aec_args='"beamforming=1 mic_geometry=-1,0,0,1,0,0"'
```

See [my dotfiles](https://git.rgoncalves.se/dots/tree/.config/pipewire) for
additional information.

## audio led buttons

On some ThinkPad models, audio led buttons can be broken and desynchronized
on linux `5.15.x`.

A quick workaround is to catch the key press events (in your dwm configuration,
i3, sway, etc ...) and force the synchronization of the leds.

For the microphone:

```
$ pactl get-source-mute @DEFAULT_SOURCE@ | grep no >/dev/null 2>&1
$ echo "${?}" > /sys/class/leds/platform::micmute/brightness
```

For the audio sink:

```
$ pactl get-sink-mute @DEFAULT_SINK@ | grep no >/dev/null 2>&1
$ echo "${?}" > /sys/class/leds/platform::mute/brightness
```

See my [dotfiles](https://git.rgoncalves.se/dots/tree/.bin/ag-audio) and
[the related pipewire issue](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1849).

## usb-c mod

// todo
remember that computers suck.