When I do video conference calls and I use the built-in microphone there is leaking into the sound is the CPU fan. What can be done to shield the microphone from picking up the fan?
I had the same issue this afternoon on my L13.
Were you able to resolve your issue?
I wasn’t unfortunately. We just dealt with it, as it wasn’t impeding the conversation from the other side too terribly much.
I place my laptop onto a plastic box so that there is a lot of free space under the fan. This reduces the noise the microphone receives (though does not remove it).
There are two reasons for this problem:
- Videoconferencing software tends to be very power-hungry, leading to CPU overheating, which is why the computer is forced to spin the fan fast enough to make significant noise. (On the Librems, the GPU is integrated on the same chip as the CPU).
- Built-in microphones in laptops aren’t very directional, and are too close to the fan. Also, the solid body of a laptop transmits internal noises easily to the microphone.
Tackling either #1 or #2 will solve the problem.
There’s a simple and easy way to deal with #1:
– Grab the lower right-hand corner of the videoconferencing app window, and drag it shrink the window down to the smallest size that’s acceptable to you. This makes the app a lot more energy-efficient, and usually quiets the fan. This is what I do the most often.
– “Filters” and background effects, especially “filters”, eat a lot of GPU + CPU power, so turn these off. Except for when you’re representing a client in an important court case, of course
– Sometimes I find that turning hyperthreading off seems to help a bit. This is surprising because I’d expect videoconferencing to be more GPU-intensive than CPU-intensive. Turning hyperthreading off reduces CPU power consumption with only a minor hit on performance.
To check hyperthreading status:
“1” means “on”; “0” means “off”, here.
To turn hyperthreading off:
sudo sh -c 'echo off > /sys/devices/system/cpu/smt/control'
To turn hyperthreading back on again once you’re done videoconferencing:
sudo sh -c 'echo on > /sys/devices/system/cpu/smt/control'
Some people like to leave hyperthreading off all the time, for either security or power consumption reasons, in which case it’s better to set this in the boot parameters.
Linux offers various additional methods to limit CPU load, but I haven’t tried them out, and I don’t know whether any of them a) work on the Librem, or b) work well with videoconferencing.
The way I deal with #2, above:
– I bought a small external directional microphone, and plug it into my Librem13 through a compact USB analog-to-digital converter. I originally did this because the built-in microphone on my Librem13 doesn’t work, but this is also generally the ideal solution if you’re heavily dependent on videoconferencing.