Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Cannot get sound to play through speakers using pulseaudio
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Mon Jul 29, 2024 1:19 pm    Post subject: Cannot get sound to play through speakers using pulseaudio Reply with quote

Hi there,
I cannot get sound to play through the speakers on either pulseaudio or alsa alone. If I plug in my headphones however, I can get sound to play through that. I have already tried unmuting using alsamixer. My soundcards are being detected as can be seen in the output of aplay -l:
Code:
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: HDA Analog Deep Buffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

https://bpa.st/WAXAlsmod
https://bpa.st/EDZAlspci -nnk
Any insight or links to resources to which would help me pinpoint the source of the issue would be appreicated
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 364

PostPosted: Mon Jul 29, 2024 1:50 pm    Post subject: Reply with quote

Have you tried setting the speaker and headphone volumes separately, using `pavucontrol`? Are you using audio software that plays to pulse, or to ALSA? And if it plays to ALSA, is it playing through a default device that gets routes back to pulse, or to a real ALSA device?

Pulse is supposed to switch between headphone and speaker automatically, as I recall. Raw ALSA usually does not, so you have to set the volume in the appropriate mixer channel. This can all be problematic if you're actually playing to a non-pulse, ALSA audio device, while pulse is trying to control the mixer. But if you're using software that plays directly to the pulse API, this isn't usually a problem.

BR, Lars.
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Tue Jul 30, 2024 2:35 am    Post subject: Reply with quote

I have already tried setting the volume in pavucontrol. Personally, I believe the reason for the sound not playing through the speakers is due to whatever causes this in the pulseaudio debug.
Code:
D: [alsa-sink-HDA Analog (*)] sink.c: Volume not changing

Pulseaudio -vvvvv
https://paste.gentoo.zip/zVmsUgJF
Back to top
View user's profile Send private message
garrison
Apprentice
Apprentice


Joined: 18 Mar 2003
Posts: 265

PostPosted: Tue Jul 30, 2024 6:06 am    Post subject: Reply with quote

frozenpenguin wrote:
I have already tried setting the volume in pavucontrol. Personally, I believe the reason for the sound not playing through the speakers is due to whatever causes this in the pulseaudio debug.
Code:
D: [alsa-sink-HDA Analog (*)] sink.c: Volume not changing

Pulseaudio -vvvvv
https://paste.gentoo.zip/zVmsUgJF

If volume change is requested, it does not happen instantly - pulseaudio does this over a short period of time; this message merely indicates that volume change is now finished.

If you cannot get sound out of your speakers with plain alsa, the issue is either with hardware or alsa layer (kernel driver issue, alsai-lib/alsa-ucm-conf issue or maybe sof firmware is missing.)
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 364

PostPosted: Tue Jul 30, 2024 6:58 am    Post subject: Reply with quote

garrison wrote:

If you cannot get sound out of your speakers with plain alsa...


My experience is that it can be difficult to tell what you can do with plain ALSA, once Pulse is running. The only way I know to test this is to play directly to an ALSA 'hw' channel, so that Pulse will not intercept the audio. For example:

aplay -D hw:0,0 /path/to/wav/file

But to do this at all, you have to play a WAV file whose characteristics (sample rate, endian-ness, bit width) are an exact match for the hardware device. In a Pulse system, there will usually be nothing at the raw ALSA level that can make audio conversions -- normally Pulse will do this. I don't know if it's safe to play to 'plughw' -- which would work on a raw ALSA system -- because I think doing that might let Pulse get into the audio chain.

I usually use sox to generate a wav file of the right type. If you can play to an 'hw' channel and the volume control still doesn't work, then the problem is in ALSA or hardware, rather than Pulse.

If there is a better way to test the ALSA layer on a Pulse installation, I'd like to know it, too.

BR, Lars.
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Tue Aug 06, 2024 1:53 pm    Post subject: Reply with quote

garrison wrote:

If volume change is requested, it does not happen instantly - pulseaudio does this over a short period of time; this message merely indicates that volume change is now finished.

I see.
lars_the_bear wrote:

If you can play to an 'hw' channel and the volume control still doesn't work, then the problem is in ALSA or hardware, rather than Pulse.

When I try to play to an 'hw' channel using the command:
Code:
aplay -D hw:0,0 wavfile.wav

I get
Code:
aplay: main:850: audio open error: Device or resource busy

I am not too sure what the problem is as aplay is the only thing on my system using the audio at that time.
Back to top
View user's profile Send private message
garrison
Apprentice
Apprentice


Joined: 18 Mar 2003
Posts: 265

PostPosted: Tue Aug 06, 2024 1:57 pm    Post subject: Reply with quote

try 'pasuspender -- speaker-test -t wav -c 2 -D hw:0,0' to make sure pulseaudio is releasing access to hardware device during test

if device busy error still happens, check what else uses device 'fuser -v /dev/snd/*'
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Thu Aug 08, 2024 12:07 pm    Post subject: Reply with quote

garrison wrote:
try 'pasuspender -- speaker-test -t wav -c 2 -D hw:0,0' to make sure pulseaudio is releasing access to hardware device during test

if device busy error still happens, check what else uses device 'fuser -v /dev/snd/*'

I tried the command, there were no errors and no sound. I do use a custom kernel, so it is possible that my kernel is missing configs.
Back to top
View user's profile Send private message
flexibeast
Guru
Guru


Joined: 04 Apr 2022
Posts: 376
Location: Naarm/Melbourne, Australia

PostPosted: Sat Aug 10, 2024 12:37 am    Post subject: Reply with quote

frozenpenguin wrote:
I do use a custom kernel, so it is possible that my kernel is missing configs.

Please use wgetpaste (app-text/wgetpaste), or manually use a pastebin service, to share the output of `dmesg` and `lspci -nnk`, e.g.:
Code:
$ wgetpaste -c dmesg

and
Code:
$ wgetpaste -c lspci -nnk
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Sat Aug 10, 2024 1:34 pm    Post subject: Reply with quote

dmesg
lspci -nnk
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4842
Location: Bavaria

PostPosted: Sat Aug 10, 2024 6:50 pm    Post subject: Reply with quote

I have already noted here https://forums.gentoo.org/viewtopic-p-8830728.html#8830728 that the output of lspci is very unusual because the module snd_hda_intel is missing.

If you google for "cateee 8086:51c8" yo will get:
https://cateee.net/lkddb/web-lkddb/SND_HDA_INTEL.html
and there your device is listed:
Quote:
vendor: 8086 ("Intel Corporation"), device: 51c8 ("Alder Lake PCH-P High Definition Audio Controller")

So, snd_hda_intel MUST work. You have everything for SoundOpenFirmware ... but snd_hda_intel is missing.

In the old thread you told us, you have bootet a DebianLive ... were there this module snd_hda_intel also missing in a lspci query?

I know that some new notebooks sometimes need some other modules to activate some hardware ... an example is MEI (you have) and SPI (you dont have).

So, I suggest to boot again with Debian and check if every sound you want is working. If yes, then check with lsmod if you have a spi-intel-pci. If yes, enable it also in your current .config:
Code:
[*] SPI support  --->
    [*]   SPI memory extension
    [*]   Intel PCH/PCU SPI flash PCI driver


This is the line you should also check when booted with Debian - I hope you will NOT find it:
Code:
[    3.303258] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3



Internal note:
Code:
[    1.822625] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    1.822822] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    1.822886] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    1.823355] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100

[    3.039088] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

[    3.092780] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    3.110407] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[    3.110413] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    3.110418] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    3.110440] Loading firmware: intel/sof/sof-adl.ri
[    3.111981] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.111985] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.111993] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30

[    3.228137] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.228145] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.233744] Loading firmware: intel/sof-tplg/sof-hda-generic-2ch.tplg
[    3.235481] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[    3.235831] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Parent card not yet available, widget card binding deferred
[    3.259970] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC245: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    3.259977] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.259981] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    3.259983] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    3.259985] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    3.259987] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    3.303258] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[    3.323289] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23
[    3.323458] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
[    3.323523] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25
[    3.323577] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input26
[    3.323631] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27

_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Wed Aug 14, 2024 12:17 pm    Post subject: Reply with quote

pietinger wrote:
I have already noted here https://forums.gentoo.org/viewtopic-p-8830728.html#8830728 that the output of lspci is very unusual because the module snd_hda_intel is missing.

If you google for "cateee 8086:51c8" yo will get:
https://cateee.net/lkddb/web-lkddb/SND_HDA_INTEL.html
and there your device is listed:
Quote:
vendor: 8086 ("Intel Corporation"), device: 51c8 ("Alder Lake PCH-P High Definition Audio Controller")

So, snd_hda_intel MUST work. You have everything for SoundOpenFirmware ... but snd_hda_intel is missing.

In the old thread you told us, you have bootet a DebianLive ... were there this module snd_hda_intel also missing in a lspci query?

I know that some new notebooks sometimes need some other modules to activate some hardware ... an example is MEI (you have) and SPI (you dont have).

So, I suggest to boot again with Debian and check if every sound you want is working. If yes, then check with lsmod if you have a spi-intel-pci. If yes, enable it also in your current .config:
Code:
[*] SPI support  --->
    [*]   SPI memory extension
    [*]   Intel PCH/PCU SPI flash PCI driver


This is the line you should also check when booted with Debian - I hope you will NOT find it:
Code:
[    3.303258] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3



Internal note:
Code:
[    1.822625] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    1.822822] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    1.822886] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    1.823355] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100

[    3.039088] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

[    3.092780] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    3.110407] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[    3.110413] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    3.110418] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    3.110440] Loading firmware: intel/sof/sof-adl.ri
[    3.111981] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.111985] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.111993] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30

[    3.228137] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.228145] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.233744] Loading firmware: intel/sof-tplg/sof-hda-generic-2ch.tplg
[    3.235481] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[    3.235831] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Parent card not yet available, widget card binding deferred
[    3.259970] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC245: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    3.259977] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.259981] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    3.259983] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    3.259985] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    3.259987] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    3.303258] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[    3.323289] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23
[    3.323458] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
[    3.323523] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25
[    3.323577] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input26
[    3.323631] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27


On the debian live sound does work and snd_hda_intel is loaded as a module. Spi_intel_pci is already on my list of loaded modules. I am unsure why snd_hda_intel is not getting loaded, I tried loading it manually using
Code:
modprobe snd-hda-intel

which didn't give any output but when I use
Code:
lsmod|grep -i intel

the module does not appear in the output.
Code:
skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3

Would you mind explaining what this line implies? For I also found it in the dmesg of the debianlive.
Back to top
View user's profile Send private message
garrison
Apprentice
Apprentice


Joined: 18 Mar 2003
Posts: 265

PostPosted: Wed Aug 14, 2024 12:42 pm    Post subject: Reply with quote

frozenpenguin wrote:


Code:
modprobe snd-hda-intel

which didn't give any output but when I use

You have this module built-in, reconfigure kernel making CONFIG_SND_HDA_INTEL=m and it should appear as module. This could probably fix your issue too in case it was caused by usual module load/initialization ordering issues.
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Wed Aug 14, 2024 11:40 pm    Post subject: Reply with quote

I recompiled the kernel with snd-hda-intel as a module. After rebooting, the module shows under lspci, however the sound unfortunately still does not work.
Back to top
View user's profile Send private message
garrison
Apprentice
Apprentice


Joined: 18 Mar 2003
Posts: 265

PostPosted: Thu Aug 15, 2024 10:03 am    Post subject: Reply with quote

Would you mind pasting dmesg output again? And your current kernel configuraiton file too.

Do you get sound if you use our binary kernel?
Back to top
View user's profile Send private message
garrison
Apprentice
Apprentice


Joined: 18 Mar 2003
Posts: 265

PostPosted: Thu Aug 15, 2024 10:11 am    Post subject: Reply with quote

Please also check SERIAL_MULTI_INSTANTIATE=m in kernel configuration
Back to top
View user's profile Send private message
frozenpenguin
n00b
n00b


Joined: 04 Feb 2024
Posts: 30

PostPosted: Sat Aug 17, 2024 1:24 am    Post subject: Reply with quote

.config
dmesg
SERIAL_MULTI_INSTANTIATE is modulated in kernel config. I have not tried the gentoo distribution kernel but I have booted other linux disks on the same hardware and sound worked fine.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4842
Location: Bavaria

PostPosted: Sat Aug 17, 2024 4:04 am    Post subject: Reply with quote

frozenpenguin,

can you try to enable these as module (and then check if one of them was loaded):
Code:
# CONFIG_SND_SOC_CS35L41_SPI is not set
# CONFIG_SND_SOC_CS35L41_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set

If this does not help =>

You said you have tried other linux disks ... which kernel version had they ?

Can you try gentoo-sources version 6.10.5 ? ... and maybe use ~amd64 for sof-firmware (gives you 2024.06 instead of 2024.03).

Because:
Code:
[    3.049885] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    3.439227] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3

(I found also another recommendation to use this kernel command line parm: snd-intel-dspcfg.dsp_driver=1 ... but I dont know if this really work)

BTW:
1. You have enabled USB3 and thunderbolt:
Code:
CONFIG_TYPEC=m
CONFIG_USB4=m

... but you miss:
Code:
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_HOTPLUG_PCI_ACPI is not set

(https://wiki.gentoo.org/wiki/USB/Guide#USB_Type-C_and_Thunderbolt)

2. I would change these:
Code:
CONFIG_BLK_DEBUG_FS=y
# CONFIG_PCIE_PTM is not set
CONFIG_I2C_SLAVE=y
# CONFIG_SENSORS_DRIVETEMP is not set


----

Internal note:
Code:
[    0.000000] DMI: HP HP Elite x360 830 13 inch G9 2-in-1 Notebook PC/896E, BIOS U70 Ver. 01.09.00 10/05/2023
[    0.080722] smpboot: CPU0: 12th Gen Intel(R) Core(TM) i5-1235U (family: 0x6, model: 0x9a, stepping: 0x4)

_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum