|
|
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.
## headset microphone
The built-in microphone controller might automatically switch to a smartphone
headset microphone if one is plugged. It may be a problem for one of the
following reasons:
- The microphone quality can be worse than the chassis one, depending on what
model or brand you use.
- Apple EarPods do not work out-of-the-box, mostly because of different
resistors for its 4-pin jack.
On ArchLinux, running `hdajackretask` as root and disabling the smartphone
headset microphone is a solution.
The generated configuration in `/etc/modprobe.d/` can be similar as the
following one:
```
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw
```
## 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
|