Не работает звук pipewire

Проблемы и вопросы, касающиеся поддержки ядра и аппаратного обеспечения


BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

Делаю все по wiki вроде всё установил, нет пользовательского юнита pipewire-pulse.service буду благодарен мудрым советам, спасибо.


mpv выдает такую ошибку
Error while decoding frame (hardware decoding)!
[ao/pipewire] Stream in error state, trying to reload...
[ao/pipewire] Error during playback: No such file or directory, no node available 
[user@pc ~]$ lspci | grep Audio
00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)
[user@pc ~]$ lsusb | grep Audio
[user@pc ~]$ lsmod|grep 'snd'
snd_seq_dummy          16384  0
snd_hrtimer            16384  1
snd_seq                94208  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
snd_soc_sof_es8336     24576  3
snd_soc_intel_hda_dsp_common    20480  1 snd_soc_sof_es8336
snd_sof_probes         24576  0
snd_hda_codec_hdmi     86016  1
snd_soc_dmic           16384  0
snd_sof_pci_intel_apl    16384  4
snd_sof_intel_hda_common   180224  1 snd_sof_pci_intel_apl
soundwire_intel        53248  1 snd_sof_intel_hda_common
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_pci            24576  2 snd_sof_intel_hda_common,snd_sof_pci_intel_apl
snd_sof_xtensa_dsp     20480  1 snd_sof_intel_hda_common
snd_sof               307200  3 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_probes
snd_sof_utils          20480  1 snd_sof
snd_soc_avs           172032  0
snd_soc_hda_codec      28672  1 snd_soc_avs
snd_soc_skl           217088  0
snd_soc_hdac_hda       28672  2 snd_sof_intel_hda_common,snd_soc_skl
snd_hda_ext_core       36864  6 snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_soc_sst_ipc        20480  1 snd_soc_skl
snd_soc_sst_dsp        40960  1 snd_soc_skl
snd_soc_acpi_intel_match    73728  3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_apl
snd_soc_acpi           16384  3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_hda_intel          61440  0
snd_soc_es8316         53248  1
snd_intel_dspcfg       36864  5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_skl
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_soc_core          393216  11 snd_soc_avs,snd_soc_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_sof_es8336,snd_soc_skl,snd_sof_probes,snd_soc_es8316,snd_soc_dmic
snd_hda_codec         188416  6 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda
snd_hda_core          118784  11 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_compress           28672  2 snd_soc_core,snd_sof_probes
snd_hwdep              16384  1 snd_hda_codec
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               172032  16 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_soc_skl,snd_soc_es8316,snd_hda_core,snd_pcm_dmaengine
snd_timer              49152  3 snd_seq,snd_hrtimer,snd_pcm
snd                   131072  18 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_soc_sof_es8336,snd_pcm
soundcore              16384  1 snd
aplay -L
[user@pc ~]$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=sofessx8336
    sof-essx8336,
    Default Audio Device
usbstream:CARD=sofessx8336
    sof-essx8336
    USB Stream Output
[user@pc ~]$
Офтоп >>> а что с основным форумом случилось? Понял, что что-то стряслось, но не понял что, вроде доступен и всё работает.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

BPOH:00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)
Погугли по этой строчке ... проблема имеется (решений особо нет, но возможно сейчас что то и изменилось)

PS - в части ArchLinux, начни с этого топика на BBS - https://bbs.archlinux.org/viewtopic.php?id=272060

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

vasek:
BPOH:00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)
Погугли по этой строчке ... проблема имеется (решений особо нет, но возможно сейчас что то и изменилось)

PS - в части ArchLinux, начни с этого топика на BBS - https://bbs.archlinux.org/viewtopic.php?id=272060
Жесткий диск с планшета с арчем перекидывал звук работает, спасибо.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Начни с простых выводов:
lspci -nnk -s 0e.0
cat /proc/asound/cards
Если все нормально, далее рекомендую почитать этот DOC и поэкспериментировать с указнными там рекомендациями ... если не поможет, искать и пробовать другое.

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

[user@pc pikaur]$ lspci -nnk -s 0e.0
00:0e.0 Multimedia audio controller [0401]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06)
	DeviceName: Onboard - Sound
	Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:111a]
	Kernel driver in use: sof-audio-pci-intel-apl
	Kernel modules: snd_hda_intel, snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_apl
[user@pc pikaur]$ cat /proc/asound/card
card0/ cards  
[user@pc pikaur]$ cat /proc/asound/cards
 0 [sofessx8336    ]: sof-essx8336 - sof-essx8336
                      Defaultstring-Defaultstring-Defaultstring
vasek:Если все нормально
Раньше как-то хватало знаний худо бедно ориентироваться и выводы были приблизительно интуитивно понятны, сейчас порядком в ступоре, вот такой вывод буду благодарен если подскажете в какую сторону копать
BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

Странно, теперь и в винде нет звука, был 100% помню биос сбрасывал, но там звуковая карта включена
BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

На винде заработал, парни может кто сможет по удаленке починить? за пиво или шоколадки, буду признателен.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

В части вывода - звуковая карта видна (essx8336), но есть и нюансы: определяется не полностью
BPOH:0 [sofessx8336 ]: sof-essx8336 - sof-essx8336
Defaultstring-Defaultstring-Defaultstring
Практически с этой картой не знаком и поэтому ничего не могу сказать о выводе в части модулей
BPOH:Kernel driver in use: sof-audio-pci-intel-apl
Kernel modules: snd_hda_intel, snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_apl
На 1-ый взгляд вроде бы все нормально, но мне не понятно почему нет модуля, связанного с чипом звуковой карты … хотя такой модуль имеется
locate es8336.ko
/usr/lib/modules/6.0.11-arch1-1/kernel/sound/soc/intel/boards/snd-soc-sof_es8336.ko.zst
…. но это все мои сомнения … от не знания DOC, а влезать в DOC нет желания.

PS - не посмотрел вывод lsmod --- модуль загружен .... возможно подгружается другим модулем ... (но логично было бы указать его)
BPOH:lsmod|grep 'snd'
snd_soc_sof_es8336 24576 3
В части решения проблемы:
Погуглив немного прояснил, что в Linux пока 100% поддержки нет. Но есть патчи для ядра Linux, которые похоже сейчас обкатываются, значит есть надежда, что скоро их внесут в ядро.
На данный момент, насколько понял, работоспобность чипа достигается, но не всегда, следующими 2-я способами
1. Пересборкой ядра с соотвествующими патчами - подходит не для всех
2. Применением разных параметров ядра.
В основном большая масса юзеров применяет их методом тыка … в основном в интернете гуляет параметр snd-soc-sof-es8336 quirk=<value>
где в основном <value>=0x10 , но советуют и другие значения (0x0, 0x30, 0x31, 0x32)
Помогает, конечно же, не всем
Но лучше руководствоваться приведенной мною ссылкой - https://thesofproject.github.io/latest/ ... tions.html
Там все просто, например, самое первое, что рекомендуют (свободный перевод)
Когда возникают проблемы с аудио, сначала посмотрите, может ли старый драйвер Hdaudio генерировать звук на динамиках и гарнитурах.
Добавьте в /etc/modprobe.d/alsa-base.conf параметр ядра “options snd-intel-dspcfg dsp_driver = 1“

И так далее … и в конце рекомендут поиграться с параметрами модуля snd_soc_sof_es8336, о чем упоминал выше
options snd_soc_sof_es8336 quirk=<value>
И не забудь поставить пакет sof-firmware

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Что еще дополнительно выяснил - хоть модуль в ядро и добавлен и система обнаруживает звуковую карту, но все еще не включает ее и в логах dmesg появляется ошибка, типа:
error: tplg request firmware intel/sof-tplg/sof-jsl-es8336.tplg failed
связанная с топологией (обусловленна отсуствием файла sof-jsl-es8336.tplg в установленном sof-firmware).
Как одно из решений - скачать файл sof-jsl-es8336.tplg.gz , распаковать и поместить в /lib/firmware/intel/sof-tplg/sof-jsl-es8336.tplg
Проверь, имеется ли у тебя такая ошибка - если имеется, то пробуй.

PS - если использовал /etc/modprobe.d/alsa-base.conf (options snd-intel-dspcfg dsp_driver=1), то следует удалить.

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

vasek:/etc/modprobe.d/alsa-base.conf
У меня нет этого файла,
vasek:скачать файл sof-jsl-es8336.tplg.gz
эту штуку скачал, закинул, результата не дало, щелчки в динамиках. Подскажите пожалуйста как смотреть ошибки, два мастера уже приезжали смотрели, но не смогли победить, может если возможность есть и желание поковыряться в этой проблеме там по энидеску какомунить? яб тыщу, полторы бы скинул на карту.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

BPOH:два мастера уже приезжали смотрели, но не смогли победить
Писал же, дело в ядре и мастера по железу тут не помогут.
BPOH:У меня нет этого файла
Так создай - параметр модуля можно добавить или при загрузке (как параметр ядра) или создав файл .... читай Wiki (4 Настройка параметров модуля)
BPOH:эту штуку скачал, закинул, результата не дало, щелчки в динамиках
Это нужно делать только в случае наличия ошибок в логах dmesg ...
error: tplg request firmware intel/sof-tplg/sof-jsl-es8336.tplg failed
Если ошибок по firmware, связанных с топологией нет, то и нет смысла это делать, но возможно, что в логах упоминается и другой файл ...
BPOH:щелчки в динамиках

Если раньше их не было, то это уже маленький плюсик ...
А вообще рекомендую ничего не делать, а дожидаться официального исправления. Чтобы этим заниматься, нужно хорошо понимать что к чему.
На GitHub спецы уже около года пытаются решить эту проблему и в нескольких топиках - кому то помогает, кому то нет ...
Для интереса даю несколько ссылок
https://github.com/thesofproject/linux/ ... ubhelp.com
https://githublab.com/repository/issues ... linux/3248
https://coder.social/thesofproject/linux/issues/3336
... и другие ...
Как видишь проблема сложная и просто копипастить не получится .... в самом начале указал на самый простой путь возможного решения проблемы - это задействовать старый драйвер
vasek:Когда возникают проблемы с аудио, сначала посмотрите, может ли старый драйвер Hdaudio генерировать звук на динамиках и гарнитурах.
Добавьте в /etc/modprobe.d/alsa-base.conf параметр ядра “options snd-intel-dspcfg dsp_driver=1“

и проверить методом тыка эти параметры - options snd_soc_sof_es8336 quirk=<value>

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

А вообще в таких случаях, когда появляется новое устройство и имеются проблемы с его работой и пока не настроили ядро - нужно больше гуглить и искать подходящий для себя рецепт ... обычно рецептов гуляет много, но нет единого, подходящего всем ...
Как пример, есть и такой рецепт - у некоторых устройство начинает работать только при определенной загрузке модулей, для проверки нужно выполнить
rmmod snd_sof_pci_intel_tgl
rmmod snd-soc-sof_es8336
rmmod snd_hda_intel
modprobe snd_hda_intel
modprobe snd-soc-sof_es8336
modprobe snd_sof_pci_intel_tgl
systemctl --user restart pulseaudio
Если после этого заработает, то нужно прописать данный порядок загрузки модулей в /etc/modules-load.d/99-audiofix.conf:
snd_hda_intel
snd-soc-sof_es8336
snd_sof_pci_intel_tgl
Повторюсь - больше гугли и пробуй найденные рецепты ...

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

vasek:Повторюсь - больше гугли и пробуй найденные рецепты ...
Я даже на гите в обсуждениях не нашел решения
~ » rmmod snd_sof_pci_intel_tgl                                                                            user@pc
rmmod: ERROR: Module snd_sof_pci_intel_tgl is not currently loaded
-------------------------------------------------------------------------------------------------------------------
~ » sudo rmmod snd_sof_pci_intel_tgl                                                                   1 ↵ user@pc
[sudo] пароль для user: 
rmmod: ERROR: Module snd_sof_pci_intel_tgl is not currently loaded
-------------------------------------------------------------------------------------------------------------------
~ » rmmod snd-soc-sof_es8336                                                                           1 ↵ user@pc
rmmod: ERROR: Module snd_soc_sof_es8336 is in use
-------------------------------------------------------------------------------------------------------------------
~ » rmmod snd_hda_intel                                                                                1 ↵ user@pc
rmmod: ERROR: could not remove 'snd_hda_intel': Operation not permitted
rmmod: ERROR: could not remove module snd_hda_intel: Operation not permitted
-------------------------------------------------------------------------------------------------------------------
~ » sudo rmmod snd_hda_intel                                                                           1 ↵ user@pc
-------------------------------------------------------------------------------------------------------------------
~ » modprobe snd_hda_intel                                                                                 user@pc
modprobe: ERROR: could not insert 'snd_hda_intel': Operation not permitted
-------------------------------------------------------------------------------------------------------------------
~ » sudo modprobe snd_hda_intel                                                                        1 ↵ user@pc
-------------------------------------------------------------------------------------------------------------------
~ » sudo modprobe snd-soc-sof_es8336                                                                       user@pc
-------------------------------------------------------------------------------------------------------------------
~ » sudo modprobe snd_sof_pci_intel_tgl                                                                    user@pc
-------------------------------------------------------------------------------------------------------------------
~ » systemctl --user restart pulseaudio                                                                    user@pc
Failed to restart pulseaudio.service: Unit pulseaudio.service not found.
Не сработало
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Я так и не понял, это пробовал? - options snd-intel-dspcfg dsp_driver=1 ... или это - options snd_soc_sof_es8336 quirk=<value>

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

BPOH: vasek:
/etc/modprobe.d/alsa-base.conf

У меня нет этого файла,
Его если нет создать с таким параметром или просто у меня что-то недоставленно?
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Не внимательно читаешь ...
vasek:Так создай - параметр модуля можно добавить или при загрузке (как параметр ядра) или создав файл .... читай Wiki (4 Настройка параметров модуля)
И что то применять нужно вдумчиво ...
BPOH:~ » systemctl --user restart pulseaudio user@pc
Failed to restart pulseaudio.service: Unit pulseaudio.service not found.
я же могу что то и пропустить, не доглядеть ... вместо этой команды у тебя должна быть другая (у тебя нет pulseaudio.service) ... хотя в данном случае это скорее всего и не поможет ... но ведь может быть прописана команда на уделении чего либо ... так что нужно быть вниматальнее ...

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

vasek: о ведь может быть прописана команда на уделении чего либо ...
Да система чистая можно сказать по дефолту, можно и удалить чтонибудь это в данном случае не важно, если получится отискать способ завезти звук, то снесу и уже поправлю... там столько уже наковырял что переустанавливать всеровно придется. Но совет разумный спасибо, так правда что-то не внимательно читал, сейчас ветку перечитаю.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Это я просто пошутил так не хорошо --- имел ввиду, что мог прописать команду, которая удалит полсистемы --- то есть нужно рекомендуемые команды применять вдумчиво, а не применять их в слепую.

PS - как пример не обдуманного выполнения советов ... был совет
vasek:Как одно из решений - скачать файл sof-jsl-es8336.tplg.gz , распаковать и поместить в /lib/firmware/intel/sof-tplg/sof-jsl-es8336.tplg
я посчитал, что перед копированием этого файла ты сохранишь старый файл (или переименушь или переместишь в другое место), так принято ... но ты похоже этого не сделал и теперь у тебя нет старого файла, чтобы вернуться в исходное состояние. Возможно это ни на что и не повлияет ... ну нужно имет в виду.

Кстати, а вообще есть ошибки, связанные с firmware? - проверь выхлоп: sudo dmesg | grep -iE 'firmware|error'

Ошибки не исчезают с опытом - они просто умнеют

BPOH
Сообщения: 60
Зарегистрирован: 14.12.2022

#

vasek:sudo dmesg | grep -iE 'firmware|error'
~ » sudo dmesg | grep -iE 'firmware|error'                                                             5 ↵ user@pc
[sudo] пароль для user: 
[    0.240929] ACPI BIOS Error (bug): Failure creating named object [\_SB.PCI0.SPI1.FPNT], AE_ALREADY_EXISTS (20220331/dswload2-326)
[    0.240943] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20220331/psobject-220)
[    1.645945] RAS: Correctable Errors collector initialized.
[    5.093398] iwlwifi 0000:00:0c.0: loaded firmware version 46.50fdb42f.0 9000-pu-b0-jf-b0-46.ucode op_mode iwlmvm
[    5.098220] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    5.146376] Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi
[    5.146501] Bluetooth: hci0: Firmware Version: 214-6.22
[    5.796057] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
[    6.649468] Bluetooth: hci0: Waiting for firmware download to complete
[    6.650194] Bluetooth: hci0: Firmware loaded in 1468563 usecs
[    6.669413] Bluetooth: hci0: Firmware revision 0.1 build 214 week 6 2022
[    7.349300] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:2:0-57864
[    7.349311] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    7.400891] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:2:0-57864
[    7.400901] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:22:1 Kernel ABI 3:23:0

vasek: я посчитал, что перед копированием этого файла ты сохранишь старый файл
Там небыло такогоже файла
vasek:“options snd-intel-dspcfg dsp_driver = 1“
С этим параметром в pavucontrol пишет что нет доступных звуковых карт
vasek:<value>=0x10
С этим также, пишет нет карт для конфигурации
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Посмотри еще это вывод: sudo dmesg | grep -i audio .... и aplay -l

Ошибки не исчезают с опытом - они просто умнеют

Ответить