Проблемы со звуком в Ubuntu 24.04 на Zoom (ноутбук Lenovo IdeaPad)

Вопрос или проблема

Я установил Ubuntu 24.04 на новый Lenovo IdeaPad 5 Pro 14 AMD 8845HS (китайская версия, там называется Xiao Xin Pro). Всё работает “из коробки”, но есть проблема со звуком, предположительно только в приложении Zoom 6.0.2. Во время звонка звук периодически “трещит”, как из динамиков, так и при подключении наушников.

Что я пробовал:

  • Устанавливал как официальный deb пакет, так и в виде flatpak – проблема та же.
  • Проверил – проблемы нет в играх, других программах или Google Meet.
  • Работает одинаково как в сессии Wayland, так и в сессии XOrg.
  • Похоже, проблема в том, что используется pipewire. Пытался удалить pipewire, заодно удалил ubuntu-desktop каким-то образом полностью и вернул pipewire обратно.

Где искать? Что делать? Благодарю

НАКОНЕЦ-ТО Я НАШЕЛ КОРЕНЬ ПРОБЛЕМЫ И РЕШЕНИЕ!

У меня была проблема на Ideapad 5 Pro AMD 2024, Ubuntu 24.04 LTS, и я потратил около недели, вот решение.

Проблема в Ubuntu 24.04 вызывала треск и всплески звука в некоторых приложениях, как будто была помеха. Это происходило как с динамиками, так и с наушниками.

Поскольку Ubuntu 24.04 использует Pipewire по умолчанию, мне пришлось исследовать это. Проблема оказалась в том, что “старые” приложения (такие как игры Steam через Proton или даже самый новый Zoom) используют PulseAudio вместо Pipewire. Это генерирует так называемые xruns: “выпадения” в аудиоподсистеме Pipewire. Их можно легко увидеть, запустив команду pw-top в терминале и проверив, увеличивается ли число в колонке ERR и для какого приложения.

Ситуация осложняется тем, что в 24.04 невозможно откатиться к PulseAudio: ubuntu-desktop теперь постоянно зависит от Pipewire и может быть удален только вместе с ним. Поэтому нужно оставить и настроить Pipewire.

Я нашел очень классное руководство по настройке, но оно оказалось излишним для нашего случая (вот руководство: https://forum.manjaro.…ling-in-pipewire/82442). Согласно руководству, если ERR растет только для драйвера, то проблема в нем. Если ERR растёт и для приложения, и для драйвера, значит проблема в приложении, что можно исправить увеличением задержки для этого приложения (и только для него). Для этого запустите приложение с PULSE_LATENCY_MSEC=126 COMMAND. Нужно экспериментировать с числом; чем оно больше, тем больше увеличивается задержка, что уменьшает проблемы обработки звука, но может повлиять на качество звука. Экспериментально я нашел, что при 200 большинство проблем исчезает, а при 300 все проблемы решаются (это было, когда музыка играла в браузере, высокоуровневая 3D-игра работала через Proton и видеоконференция шла в Zoom).

Для закрепления результата я изменил два параметра в конфигурационном файле Pipewire Pulse. Вот пошаговый процесс:

  1. Скопировать папку /usr/share/pipewire в /etc/pipewire (чтобы настройки применялись для всех пользователей и приложений).
  2. Отредактировать файл pipewire-pulse.conf в /etc/pipewire:
    2.1. Найдите параметр pulse.min.quantum и установите его на 2048. Установка на 1024 все еще вызывала сбои при 100% нагрузке, но 2048 работало при любой нагрузке.
    2.2. Раскомментируйте следующий параметр: pulse.idle.timeout = 0.
  3. Перезапустите Pipewire, чтобы убедиться, что все работает: systemctl --user restart wireplumber pipewire pipewire-pulse. Если все в порядке, значит, мы добились успеха!

Ответ или решение

Если вы столкнулись с проблемами со звуком в приложении Zoom на ноутбуке Lenovo IdeaPad 5 Pro 14 с установленной Ubuntu 24.04, то это может быть вызвано несовместимостью между Pipewire и приложениями, которые предпочитают PulseAudio. Ваша проблема проявляется как треск и помехи в звуке, что мешает комфортному использованию Zoom. Здесь я предлагаю подробное пошаговое решение этой проблемы.

Проанализируйте Источник Проблемы

  1. Использование Pipewire и PulseAudio: По умолчанию в Ubuntu 24.04 используется Pipewire вместо PulseAudio, что может быть причиной "xruns" или выпадений в аудиопотоке для приложений, ожидающих PulseAudio.

  2. Диагностика с pw-top: Запустите команду pw-top в терминале и наблюдайте за колонкой ERR. Увеличение числа указывает на наличие ошибки в аудиопотоке, причём если ошибка связана с драйвером, то проблема в нём, а если с приложением, то с ним.

Решение Проблем

Вариант улучшения через конфигурацию

  1. Копирование Настроек Pipewire: Создайте копию системного каталога Pipewire для пользовательских настроек:

    sudo cp -r /usr/share/pipewire /etc/pipewire
  2. Редактирование pipewire-pulse.conf:

    • Откройте файл конфигурации:
      sudo nano /etc/pipewire/pipewire-pulse.conf
    • Найдите параметр pulse.min.quantum и установите значение в 2048. Это поможет предотвратить сбои при полной загрузке системы.
    • После этого раскомментируйте параметр pulse.idle.timeout = 0 для предотвращения преждевременного отключения неактивных аудио-потоков.
  3. Перезапуск Pipewire:
    После внесенных изменений перезапустите Pipewire:

    systemctl --user restart wireplumber pipewire pipewire-pulse

Альтернативное Решение Через Увеличение Задержки

Если вы хотите настраивать отдельно Zoom или любое другое приложение:

  1. Запуск Zoom с повышенной задержкой:
    Попробуйте запустить Zoom с заданной задержкой, управляющей аудио буферизацией:
    PULSE_LATENCY_MSEC=200 zoom

    Повышайте значение до 300, если проблема сохраняется.

Итог

Если следовать вышеприведённым шагам, большая вероятность, что проблема со звуком в Zoom будет решена. Эти изменения позволяют улучшить аудиопроцессинг шляхом корректировки конфигурации Pipewire под ваши специфические условия использования. Эффективное решение этой задачи повысит качество аудиозвонков, что важно для комфортной работы в Ubuntu с приложениями, требующими PulseAudio.

Для поиска дополнительных инсайтов посетите профильные форумы или документацию Pipewire, это может помочь в случае, если ваша проблема требует индивидуального подхода.

Оцените материал
Добавить комментарий

Капча загружается...