Just got a new (2022 model) AMD cpu/gpu lenovo legion s7, my first plunge into AMD! Here are all the specs: https://clbin.com/cKEY4
Problem: Everything seems to works really well (touchpad, bluetooth, wifi, gpu, fan) for now except the audio. I can only hear sound when I use the headphone jack. However, speakers have no sound I can see in the sound menu pulseaudio that sound is being played somehow but no outputs. I think the hardware is too new and its a bug that needs to be fixed in the kernel, alsa, or by the vendor in bios based on my internet search. This bugzilla thread for ALC287 and this one for ALC3306 summarizes most closely the problem.
$ inxi -A
Audio:
Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel
Device-2: AMD Rembrandt Radeon High Definition Audio
driver: snd_hda_intel
Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor driver: snd_pci_acp6x
Device-4: AMD Family 17h/19h HD Audio driver: snd_hda_intel
Sound API: ALSA v: k6.0.1-arch2-1 running: yes
Sound Server-1: PipeWire v: 0.3.59 running: yes
Some questions: To my understanding the speakers are Device 4. Why does it load snd_hda_intel, shouldnt load either snd_hda_codec_realtek since it is a Realtek audio card? Also the chipset codec/driver should be ALC3306 according to Lenovo (pdf download link) but Alsa says it’s ALC 287.
I have to admit, I am really a zero what concerns soundcards in linux, but would welcome help from you guys to guide me through some troubleshooting or how I can submit a bug report and where (kernel, alsa, or lenovo?).
My current conclusions on the problem
We had a discussion going on new gaming laptops on another thread earlier, and posted some of the bugzilla, lenovo and other sites mentioning similar issues. But I want to focus on either troubleshooting this sound issue systematically here or perhaps some help on what info I can submit for a bug report to kernel.org.
I did search on the internet for couple of hours (lenovo website, arch forum, etc.) and my current conclusion is that this hardware is just too new and there are two possible causes: 1) BIOS needs to be updated by the vendor so that linux recognizes some links/pins to make the card work, 2) problem it is rooted somewhere in the kernel, and again something about pins. Even on the ALSA github or bugtracker issues were closed and users referred back to problem in the linux kernel. So not sure if it is or not an alsa problem.
No I don’t care, as long as it works! So I need to remove/disable pipewire/pulseaudio and switch to jack? as I said above I am zero what concerns sound, was always confused by all the jargon. Guess it’s time to open the arch wiki. But assume it’s a simple couple of pacman commands to switch. Will check out your link!
Nope, just follow instructions and you’ll be good to go (although there may be conflict with pipewire-jack while installing real jack, then yes you should replace it)
My instruction is just made to route all audio (ALSA / PulseAudio / PipeWire) through jack.
Just try it, reboot - if it works everything is fine, and you can fall in of wikis
pulseaudio and pipewire-pulse are in conflict. Remove pipewire-pulse? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pipewire-pulse breaks dependency 'pulseaudio-bluetooth' required by gnome-bluetooth-3.0
How can I deal with that? is there another package that replace pulseaudio-bluetooth?
found it. I have to run both commands, pulseaudio-jack install removes pipewire-pulse, whichin turn seems to remove pulseaudio-bluetooth required by gnome-bluetooth-3.0 .
doesn’t work. Routing all audio through jack, I can see the volume bar moving under volume control, but no sound on the speakers. And now jack headphones have broken/stuttering sounds. Will have to move back to square one.
Are you sure you have set it all up correctly (Cadence) and rebooted?
That’s highly unlikely…coz jack worked in every case where pulseaudio / pipewire failed, unless maybe your device is so new that it’s not even in kernel or something.
yes, sure. I can post some screenshots on the settings, but I did all that and reboot. I think it’s probably kernel or vendor needs to change something in bios. Thats also my conclusion based on screening every possible thread on the internet for couple of hours. Then I probably need to file a bug report.
All those xruns (stutters etc) is caused by mismatch of set and actual Sample rate most likely, jack status says 48 kHz, settings set to 44.1 kHz…weird.
Try to press Force restart and see if it fixes that, if it won’t work - set it to 48000 kHz, Force restart and see if that helps.
Also you seem to miss realTimeConfigQuickScan stuff (i see it since user is not in audio group), which is kinda important for stutter-free experience in pro-audio using jack.
Yeah…doesn’t sound nice
I guess it’s closest similar model driver