Intel Corporation Comet Lake PCH cAVS - Realtek ALC245 - использует SOF. Это будет просто немного подчищенная версия моих заметок.
Надеюсь, кто-то сталкивался с этой проблемой и сможет помочь, я долго пытался разобраться, но безуспешно. Все мои поиски не дали ничего, что действительно соответствовало бы моей проблеме.
При использовании звукового теста центра управления GNOME звук задерживается/прерывается с обеих сторон, например, я слышу «t left» или «front». Глядя на панель вывода, я вижу, что воспроизводится полный звук. Звук просто не выводится справа, на динамики.
speaker-test
-> звук звучит нормально, сообщается о воспроизведении переднего левого канала, но звук выходит из обоих динамиков
speaker-test -c2
-> Передний левый канал пропускает звук через равные интервалы (1 с вкл., 1 с выкл.), Передний правый канал пропускает звук через равные интервалы (1 с вкл., 1 с выкл.)
speaker-test -c2 -s1
-> В переднем левом канале слышны пропуски звука с регулярными интервалами (1 с включен, 1 с выключен) из левого динамика
Воспроизведение видео или игры, звук звучит правильно, сдвиньте баланс влево, и звук пропускает, сдвиньте звук вправо, и он пропускает. Пока баланс по центру, звук воспроизводится правильно. Однако есть задержка начала звука, это заметно в Minecraft. Если воспроизводится 0 звуков (согласно отладке), и я заставляю звук звучать, он тишина. Если я не задерживаю и продолжаю издавать звук (например, добыча полезных ископаемых), звук начинается. Если я подожду 10 секунд, поведение повторяется.
- Пробовал Pulseaudio и Pipewire, оба демонстрируют такое поведение
- Пробовал несколько дистрибутивов Linux (ArchCraft, Axyl, Pop!_OS, Ubuntu, Manjaro), проблема следующая
- Для Pop!_OS 21.10 и Ubuntu 21.10 ядра 5.15 и 5.13 соответственно, оба демонстрируют поведение. Axyl имел передовое ядро в серии 5.16, проблема все еще присутствует
- Полностью отключил Pulseaudio (и убедился, что он не запущен), использовал тест динамика напрямую с ALSA, проблема все еще присутствовала
- Так как я убрал Pulseaudio из формулы, комментирование module-suspend-on-idle не помогает
- Отключение энергосбережения не помогает
- В ноутбуке установлены динамики Bang & Olufsen (не уверен, имеет ли это значение)
- Звук работает как задумано в Windows 10
Вывод curl https://gitlab.freedesktop.org/pulseaudio/pulseaudio/raw/master/src/utils/pa-info?inline=false | bash | nc termbin.com 9999
---->Ссылка на термин
> lspci -v
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH cAVS
Subsystem: Hewlett-Packard Company Comet Lake PCH cAVS
Flags: bus master, fast devsel, latency 32, IRQ 179, IOMMU group 14
Memory at 6044110000 (64-bit, non-prefetchable) [size=16K]
Memory at 6044000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: sof-audio-pci-intel-cnl
Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl
01:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
Subsystem: Hewlett-Packard Company TU116 High Definition Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 17, IOMMU group 1
Memory at 78080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
> cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0x78080000 irq 17
1 [sofhdadsp ]: sof-hda-dsp - sof-hda-dsp
HP-OMENLaptop15_ek0xxx--878A
> dmesg | grep snd
[ 34.251943] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 34.251963] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 34.252033] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 34.252125] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 34.252130] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 34.342178] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])
[ 35.645366] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC245: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 35.645368] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 35.645369] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 35.645370] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 35.645371] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 35.645372] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
[ 35.691746] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[ 35.691749] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
> dmesg | grep sof
[ 35.054556] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 35.054574] sof-audio-pci-intel-cnl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 35.054586] sof-audio-pci-intel-cnl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 35.054722] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 35.054775] sof-audio-pci-intel-cnl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 35.061729] sof-audio-pci-intel-cnl 0000:00:1f.3: use msi interrupt mode
[ 35.355175] sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 5
[ 35.355177] sof-audio-pci-intel-cnl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 35.355181] sof-audio-pci-intel-cnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 35.582605] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 1:6:0-18fab
[ 35.582607] sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:17:0 Kernel ABI 3:18:0
[ 35.608445] sof-audio-pci-intel-cnl 0000:00:1f.3: Topology: ABI 3:17:0 Kernel ABI 3:18:0
[ 35.625794] sof-audio-pci-intel-cnl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[ 35.703633] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input30
[ 35.703679] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input31
[ 35.703702] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input32
[ 35.703722] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input33
[ 35.703762] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input34
решение1
У меня такая же модель ноутбука, и я испытываю ту же проблему с обрезанным звуком при воспроизведении аудиокниг/подкастов или прослушивании чего-либо, связанного с речью. Конечно, это раздражает до чертиков. Перепробовал все предложенные решения из сети, но пока безрезультатно.
Однако я нашел простое решение этой проблемы. Просто включите фоновый звук, например, спокойную эмбиентную музыку на низкой громкости.
Похоже, паузы между словами привели к преждевременной остановке аудиоподсистемы и ее повторному запуску в начале следующего слова с небольшой задержкой, что привело к обрезанию слова. Воспроизведение фоновой песни даже на низкой громкости будет поддерживать аудиоподсистему постоянно активной/открытой. Удачи.
решение2
Установить регулятор громкости для PulseAudio
PulseAudio — это звуковая служба по умолчанию для Ubuntu и некоторых других. Она имеет открытый исходный код и в целом надежна, работает с драйверами ALSA и OSS, чтобы гарантировать, что звуковые сигналы, которые генерирует ваша система, передаются на ваши динамики.
Но хотя приложения и среды рабочего стола поставляются со своими собственными регуляторами громкости для PulseAudio, они не настолько детализированы и не позволяют вам управлять каждым потоком воспроизведения по отдельности. Pavucontrol дает вам больше контроля над каждым аудиоустройством на вашем ПК, поэтому вы можете поиграть с этими ползунками, чтобы убедиться, что громкость вашего динамика или наушников установлена на нужном уровне, например.
Чтобы установить pavucontrol, откройте Терминал и введите следующие команды:
pulseaudio --start
sudo apt install pavucontrol
После этого запустите pavucontrol либо из терминала, либо найдя «PulseAudio Volume Control» в меню запуска среды рабочего стола. Перейдите на вкладку «Output Devices» и убедитесь, что выбраны динамики по умолчанию.
Перезагрузить ALSA
Еще одна вещь, которую вы можете попробовать, если проблема со звуком сохраняется, — это перезагрузить ALSA. Для этого используйте следующую команду в терминале:
sudo alsa force-reload
Результат выглядит так, как показано на следующем рисунке.
Если после этого у вас все еще возникают проблемы со звуком, попробуйте
pulseaudio -k && pulseaudio -D
У вас могут возникнуть проблемы после перезагрузки ALSA, если PulseAudio не регистрирует, что модули были перезагружены.
Если звука по-прежнему нет, попробуйте выполнить эту одноразовую команду ALSA напрямую:
alsactl restore