You are not logged in.
Hello, according to the Arch wiki guide on X1 (gen12), audio should work by installing Alsa firmware.
I tried Alsa alone and with Pulse audio but none of them made my speakers work (and I made sure they're un-muted)
If I connect headphones they work, AirPods also work with bluetooth. the microphone and the webcam works too. But not the speakers.
I would appreciate your help ^^
Relevant installed packages:
light@marci ~/re $ pacman -Q | grep alsa
alsa-firmware 1.2.4-3
alsa-lib 1.2.12-1
alsa-plugins 1:1.2.12-1
alsa-topology-conf 1.2.5.1-3
alsa-ucm-conf 1.2.12-1
alsa-utils 1.2.12-1
pulseaudio-alsa 1:1.2.12-1
light@marci ~/re $ pacman -Q | grep pulse
libpulse 17.0-3
pulseaudio 17.0-3
pulseaudio-alsa 1:1.2.12-1
pulseaudio-bluetooth 17.0-3
light@marci ~/re $ pacman -Q | grep wire
libpipewire 1:1.0.7-2
light@marci ~/re $ pacman -Q | grep firmware
alsa-firmware 1.2.4-3
linux-firmware 20240610.9c10a208-1
linux-firmware-whence 20240610.9c10a208-1
sof-firmware 2024.03-1
light@marci ~/re $ pacman -Q | grep snd
libsndfile 1.2.2-2
sndio 1.9.0-2
Some more (hopefully) relevant info:
light@marci ~/re $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
light@marci ~/re $ lsmod | grep snd
snd_ctl_led 24576 0
ledtrig_audio 12288 1 snd_ctl_led
snd_soc_skl_hda_dsp 24576 6
snd_soc_hdac_hdmi 45056 1 snd_soc_skl_hda_dsp
snd_soc_intel_hda_dsp_common 16384 1 snd_soc_skl_hda_dsp
snd_sof_probes 28672 0
snd_hda_codec_hdmi 106496 1
snd_hda_codec_realtek 221184 1
snd_hda_codec_generic 126976 1 snd_hda_codec_realtek
snd_soc_dmic 12288 1
snd_hda_scodec_component 20480 1 snd_hda_codec_realtek
snd_sof_pci_intel_mtl 12288 0
snd_sof_intel_hda_common 262144 1 snd_sof_pci_intel_mtl
soundwire_intel 81920 1 snd_sof_intel_hda_common
snd_sof_intel_hda_mlink 36864 2 soundwire_intel,snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_pci 24576 2 snd_sof_pci_intel_mtl,snd_sof_intel_hda_common
snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_common
snd_sof 475136 4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_probes,snd_sof_intel_hda
snd_sof_utils 16384 1 snd_sof
snd_soc_hdac_hda 28672 1 snd_sof_intel_hda_common
snd_hda_ext_core 36864 5 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
snd_soc_acpi_intel_match 98304 2 snd_sof_pci_intel_mtl,snd_sof_intel_hda_common
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_soc_core 483328 8 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_probes,snd_soc_dmic,snd_soc_skl_hda_dsp
snd_compress 28672 2 snd_soc_core,snd_sof_probes
ac97_bus 12288 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 69632 0
snd_intel_dspcfg 40960 3 snd_hda_intel,snd_sof,snd_sof_intel_hda_common
snd_intel_sdw_acpi 16384 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec 225280 8 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_sof_intel_hda,snd_soc_skl_hda_dsp
snd_hda_core 147456 11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 229376 12 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
snd_timer 53248 1 snd_pcm
snd 163840 26 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_soc_hdac_hdmi,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
soundcore 16384 2 snd_ctl_led,snd
OS: Arch Linux x86_64
Host: 21KC0000CD ThinkPad X1 Carbon Gen 12
Kernel: 6.9.5-zen1-1-zen
Shell: zsh 5.9
Resolution: 2880x1800
WM: xmonad
CPU: Intel Ultra 7 155H (22) @ 4.800GHz
GPU: Intel Arc Graphics]
Memory: 31777MiB
Last edited by light7734 (2024-06-20 18:52:42)
Offline
i think you missed alot of pipewire related packages
lib32-libpipewire
lib32-pipewire
libpipewire
libwireplumber
pipewire
pipewire-alsa
pipewire-audio
pipewire-jack
pipewire-pulse
pipewire-v4l2
pipewire-zeroconf
wireplumber
some of these are optional but alot of them are essential to have basic audio
you can use this to install them `sudo pacman -S lib32-libpipewire lib32-pipewire libpipewire libwireplumber pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse pipewire-v4l2 pipewire-zeroconf wireplumber`
you could also be missing some firmware but i will have to look up to be sure
i use arch btw
Offline
I thought only Alsa was required to get some sound going. I'll install these packages and see what happens. Thanks.
Offline
Owkay I installed those and they had some conflict with pulse audio packages (had to enable multilib from `pacman.conf` to install lib32 ones too).
But I'm still getting no sound.
Offline
I thought only Alsa was required to get some sound going. I'll install these packages and see what happens. Thanks.
i see that you tried(?) installing pipewire.
but just that package wont do anything, also make sure that every systemd service is up and running otherwise, again, no audio
id recommend reading through the guide for pipewire https://wiki.archlinux.org/title/PipeWire
(also i dont really think that just alsa should be used nowdays but you are free to do whatever you want)
i use arch btw
Offline
maybe you could be missing some firmware/packages since i had this kind of issue on my laptop which is also lenovo, tho i dont remember which packages i installed for it to work.
i will try to see what i installed on that system and i will add a reply if i find anything useful
i use arch btw
Offline
"(also i dont really think that just alsa should be used nowdays but you are free to do whatever you want)"
I meant that to get any sound, Alsa should suffice, but I'm not getting any sounds with only Alsa either.
I don't think the problem is pipewire related, it's lower level starting from Alsa.
I think I might need to modprobe something or add some kernel parameters. I'm not sure how things work though.
I'll read through the pipewire wiki though.
Thanks for helping my Bulgarian friend
Last edited by light7734 (2024-06-20 20:15:09)
Offline
Post
aplay -lL
sudo fuser -v /dev/snd/*
amixer -c0
sudo dmesg | grep -E 'snd|sof'
Offline
Here it is sir:
light@marci ~ $ aplay -lL
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 PipeWire Media Server)
sysdefault:CARD=sofhdadsp
sof-hda-dsp,
Default Audio Device
usbstream:CARD=sofhdadsp
sof-hda-dsp
USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
light@marci ~ $ sudo fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: light 910 F.... pipewire
light 911 F.... wireplumber
/dev/snd/seq: light 910 F.... pipewire
light@marci ~ $ amixer -c0
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 73 [84%] [-10.50dB] [off]
Front Right: Playback 73 [84%] [-10.50dB] [off]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB] [on]
Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 3 [100%] [30.00dB]
Front Right: 3 [100%] [30.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 63 [100%] [30.00dB] [on]
Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Dmic0',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right - Rear Left - Rear Right
Limits: Capture 0 - 45
Front Left: Capture 45 [100%] [0.00dB] [on]
Front Right: Capture 45 [100%] [0.00dB] [on]
Rear Left: Capture 45 [100%] [0.00dB] [on]
Rear Right: Capture 45 [100%] [0.00dB] [on]
Simple mixer control 'Post Mixer Analog',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 45
Mono:
Front Left: Playback 45 [100%] [0.00dB]
Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Pre Mixer Analog',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 45
Mono:
Front Left: Playback 45 [100%] [0.00dB]
Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Pre Mixer Deepbuffer HDA Analog',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 45
Front Left: 45 [100%] [0.00dB]
Front Right: 45 [100%] [0.00dB]
light@marci ~ $ sudo dmesg | grep -E 'snd|sof'
[ 0.073341] software IO TLB: area num 32.
[ 1.039004] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 1.039006] software IO TLB: mapped [mem 0x000000008929e000-0x000000008d29e000] (64MB)
[ 1.122442] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
[ 1.122449] integrity: Loaded X.509 cert 'Microsoft Corporation: Windows UEFI CA 2023: aefc5fbbbe055d8f8daa585473499417ab5a5272'
[ 4.990788] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 4.991932] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.169093] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 5.169640] sof-audio-pci-intel-mtl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.170060] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 5.170141] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.177195] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[ 5.208026] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 5
[ 5.208030] sof-audio-pci-intel-mtl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.208033] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 5.211865] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[ 5.211868] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
[ 5.211869] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/mtl
[ 5.211870] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-hda-generic-2ch.tplg
[ 5.212699] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.9.0.1
[ 5.336955] sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.9.0.1
[ 5.346190] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology: ABI 3:29:0 Kernel ABI 3:23:0
[ 5.376352] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC287: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 5.376356] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.376357] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.376358] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 5.376359] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 5.376359] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
[ 5.439569] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input10
[ 5.439589] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input11
[ 5.439609] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input12
[ 5.439629] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input13
[ 5.439648] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input14
Offline
Does one of
speaker-test -Dhw:0 -c2
speaker-test -Dhw:0,31 -c2
give you noise?
Offline
No, just tried it with all the devices (0, 3, 4, 5, 31)
Both 0 and 31 gives noise if an external speaker is connected. if I unplug it my laptop gives no sound.
Offline
Hi all,
Was there any resolution to this issue? I just got a gen12 Lenovo X1 Carbon and I am having the exact same problem. I can get sound to work via Bluetooth but not through the internal speakers or the head phone. I did see a post here (https://wiki.archlinux.org/title/Lenovo … n_(Gen_12)) and installed the sof-firmware package but no change.
Offline
Did you fully install pipewire and wireplumber?
Offline
I have installed pipewire and wireplumber. I am not sure what you mean by 'fully install', but so far I have not gotten this to work with installation of those and the recommendation in the link I posted. I was hoping this issue had a resolution.
Last edited by jayemdaet (2024-08-23 06:18:31)
Offline
I was able to get the headphones to work once I used the following suggestion found here and added /etc/modprobe.d/dsp-fix.conf with the following:
options snd_intel_dspcfg dsp_driver=1
However the speakers are still not working. Basically once I rebooted after adding that file, I went into alsamixer and made sure the headphone and speaker were unmuted. While the speaker was not muted the headphones were. After unmuting the headphones, they began to work but the speakers do not work yet. Still searching for a fix.
Offline
I found the solution to this problem for me. After many different attempts to get the speakers working, I decided to load a Pop-OS Live install to see if the speakers worked there as well which they did not. I rebooted into the Live install a second time when a Recommended Firmware updates screen came up with Lenovo firmware updates that it suggested I run. Apparently, this can also be had by running sudo fmupdmgr update. I let it install all the firmware updates and then it had me reboot. When it rebooted, to make sure I booted into the USB stick with the Pop-OS live, I went into the BIOS boot selector and it had a Linux Firmware selection to boot off of so I selected that, let it run that and reboot.When I got back I booted into Pop-OS Live and ran sudo fmupdmgr update and installed the rest of the firmware that was listed. I went back and forth with this doing firmware updates. I rebooted one last time into the Pop-OS Live installation to find that sound now worked. I rebooted and speakers were working fine. I would hope one day to have a feature like fmupdmgr on Arch. It seems the official Lenovo site for this says it only supports Fedora, Red Hat, and Ubuntu.
Last edited by jayemdaet (2024-08-24 06:33:03)
Offline
That exists on Arch as well... https://wiki.archlinux.org/title/Fwupd
Offline