Разряд батарейки от ошибки в Pipewire
Сегодня я расскажу об ошибке, которая может повлиять на энергопотребление вашей системы, если вы используете дистрибутив Linux с аудио сервером Pipewire на ноутбуке или другом устройстве со встроенной камерой. Здесь вы узнаете, как проверить, влияет ли эта ошибка на вас, и как ее устранить, пока она не будет исправлена разработчиками.
Видео версия Ссылка на заголовок
Проверка Pipewire Ссылка на заголовок
Если вы не знаете, что такое Pipewire, или не уверены, есть ли он в вашей системе, вы можете проверить это, выполнив команду pactl info
и проверив строку Server Name
, или поискав процесс pipewire в вашем Системном мониторе.
pactl info | grep "Server Name"
# Server Name: PulseAudio (on PipeWire 1.2.1)
ps -e | grep "pipewire"
# 2052 ? 00:18:56 pipewire
# 2301 ? 00:36:10 pipewire-pulse
Проверка на эту ошибку Ссылка на заголовок
Чтобы проверить наличие этой конкретной проблемы, сначала нужно убедиться, что ни одно из ваших пользовательских приложений не использует камеру напрямую. Затем вы можете запустить fuser --verbose /dev/video0
, и если он выдаст что-то, содержащее pipewire
или wireplumber
, несмотря на то, что вы явно не используете камеру в этот момент, то возможно, у вас проявилась эта ошибка.
fuser --verbose /dev/video0
# USER PID ACCESS COMMAND
#/dev/video0: laika 666245 F.... wireplumber
Другой способ проверки, который вы можете использовать для полной уверенности - установить утилиту powertop, выполнить команду `sudo powertop, затем перейти во вкладку “Device Statistics” с помощью клавиши табуляции и с помощью клавиш со стрелками найти вашу камеру. Если она работает на 100%, несмотря на то, что не используется на самом деле, значит, вас затрагивает эта ошибка, камера постоянно получает ток, что может привести к заметному разряду батареи.
Временное исправление Ссылка на заголовок
Теперь, если вы знаете, что проблема у вас есть, вы можете временно обойти ее, добавив файл конфигурации по адресу ~/.config/wireplumber/wireplumber.conf.d/10-disable-camera.conf
с таким содержанием:
wireplumber.profiles = {
main = {
monitor.libcamera = disabled
}
}
После этого необходимо перезапустить службу wireplumber, либо выполнив команду systemctl restart --user wireplumber
, либо перезагрузившись.
Это отлючит отслеживание использования камеры в Pipewire, что приведет к поломке индикаторов «Камера используется» в окружениях KDE или GNOME, но как можно заметить, ранее показанные признаки постоянной работы камеры больше не присутствуют.
Вывод Ссылка на заголовок
Устранение этой проблемы может заметно улучшить время автономной работы, хотя насколько это будет заметно, зависит от аппаратного обеспечения.
Советую также проверить Gitlab issue посвящённый этой ошибке для получения актуальной информации об этой проблеме, так как эта запись может устареть.