Вопрос или проблема
После обновления моего ядра Linux я заметил, что микрофон записывает только шум. Конечно, я проверил, что мой микрофон работает в Windows, но не в моей текущей версии CentOS Stream 9. Вот информация о системе:
$ uname -a
Linux localme 5.14.0-503.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 22 17:03:23 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -vv | grep -i audio
05:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
07:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
$ aplay --list-devices
**** Список аудиоустройств воспроизведения ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [LG HDR WFHD]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC897 Analog [ALC897 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ /sbin/lsmod | grep snd
snd_seq_dummy 12288 0
snd_hrtimer 12288 1
snd_hda_codec_realtek 208896 1
snd_hda_codec_generic 114688 1 snd_hda_codec_realtek
snd_hda_scodec_component 20480 1 snd_hda_codec_realtek
snd_hda_codec_hdmi 94208 1
snd_hda_intel 61440 4
snd_intel_dspcfg 40960 1 snd_hda_intel
snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg
snd_hda_codec 225280 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core 155648 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep 20480 1 snd_hda_codec
snd_seq 131072 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_pcm 192512 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm
snd 159744 20 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
soundcore 16384 1 snd
$ inxi -Aaz
Audio:
Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
vendor: Sapphire driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s
lanes: 16 bus-ID: 05:00.1 chip-ID: 1002:aaf0 class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 07:00.4 chip-ID: 1022:1487 class-ID: 0403
API: ALSA v: k5.14.0-503.el9.x86_64 status: kernel-api
tools: alsactl,alsamixer,amixer
Server-1: PipeWire v: 1.0.1 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pw-cat,pw-cli,wpctl
$ lspci -kvd::403
05:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
Subsystem: Sapphire Technology Limited Device aaf0
Flags: bus master, fast devsel, latency 0, IRQ 72, IOMMU group 16
Memory at fce60000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <доступ запрещен>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
07:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
DeviceName: Realtek ALC1220
Subsystem: Gigabyte Technology Co., Ltd Device a194
Flags: bus master, fast devsel, latency 0, IRQ 74, IOMMU group 21
Memory at fcb00000 (32-bit, non-prefetchable) [size=32K]
Capabilities: <доступ запрещен>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Ответ или решение
Запись только белого шума с микрофона после обновления ядра Linux — это распространенная проблема, которая может возникнуть по ряду причин. В данном случае, рассматриваем ситуацию на CentOS Stream 9 после обновления до ядра 5.14.0. Ниже представлено подробное описание возможных причин и путей их решения.
1. Проблемы с конфигурацией звукового драйвера
Обновление ядра может привести к несовместимости драйвера звуковой карты. В вашем случае активны два устройства: HDMI Audio и ALC897 Analog. Вероятно, система неправильно определила входное устройство.
Решение:
-
Проверьте настройки ALSA:
Запуститеalsamixer
в терминале, чтобы получить доступ к микшеру. Убедитесь, что уровень громкости для микрофона не находится на нуле и что он не заглушен (mute). Для переключения режима mute вы можете использовать клавишуM
. -
Настройка PulseAudio:
Если система использует PulseAudio, проверьте конфигурацию с помощью командыpavucontrol
(должен быть установлен). На вкладке «Ввод» убедитесь, что выбран правильный источник звука и что уровень громкости выставлен на приемлемое значение.
2. Проблемы совместимости с PipeWire
CentOS Stream 9 использует PipeWire
, который может иметь свои собственные отладочные моменты, особенно после обновления. Ваша система работает с активной версией PipeWire, возможно, некоторые настройки или конфигурации нуждаются в корректировке.
Решение:
-
Проверьте журналы PipeWire:
Чтобы просмотреть возможные ошибки, откройте терминал и выполните команду:journalctl --user -xe | grep pipewire
Это позволит выявить ошибки, связанные с PipeWire, которые могут помочь диагностировать проблему.
-
Перезапустите PipeWire:
Перезапустите PipeWire, выполнив команды:systemctl --user restart pipewire systemctl --user restart pipewire-pulse
3. Проверка устройств и прав доступа
Проблема может заключаться в том, что система не имеет необходимых прав на доступ к микрофону. Также стоит убедиться, что не требуется установка дополнительных прав для работы с конкретным устройством.
Решение:
- Проверьте права доступа:
Убедитесь, что ваш пользователь добавлен в группыaudio
иpulse
:groups
Если пользователя нет в этих группах, добавьте его:
sudo usermod -aG audio,pulse <ваш_пользователь>
4. Установка и настройка драйверов
Иногда рекомендуется переустановить или обновить драйверы звуковой карты.
Решение:
-
Обновите драйверы ALSA:
Убедитесь, что у вас установлены все последние пакеты ALSA. Можно выполнить обновление через DNF:sudo dnf update alsa-utils
-
Убедитесь, что все модули загружены:
Проверьте, что все необходимые модули загружены, используя командуlsmod | grep snd
. Если какие-либо модули отсутствуют, попробуйте их загрузить вручную.
Заключение
Проблема с записью только белого шума с микрофона в системе CentOS Stream 9 может быть связана с несколькими факторами: неправильными настройками звукового устройства, проблемами с совместимостью драйвера после обновления ядра, или настройками PipeWire. Приведенные рекомендации помогут диагностировать и устранить эту проблему, обеспечивая качественную звукозапись. Не забывайте периодически обновлять систему и проверять совместимость драйверов с новыми версиями ядра для избежания подобных ситуаций в будущем.