You are not logged in.
Pages: 1
Topic closed
I have a Realtek ALC 1220 sound card, and an nvidia HDMI output.
To get the Realtek card to produce sound from the laptop speakers, I had to add the following line to /etc/modprobe.d/alsa-base.conf
```
options snd-hda-intel model=clevo-p950
```
This all worked fine until the update to kernel 6.7.0, when the Realtek card stopped producing sound from the laptop speakers.
Sound works over bluetooth speakers and headphones, and it even displays that sound is being output, but actually there is nothing, just like when that model=clevo-950 fix was put into place.
If I downgrade my system to before the 6.7.0 kernel update, sound works through the speakers again.
I have captured a dmesge log and an alsa-info.sh log from a working config and a broken config. Is there a way of attaching these rather lengthy files without pasting all the text into this box?
The only difference I can see between the working and non-working configuration is that
on the working configuration Card 0 is Realtek and Card 1 is nVidia, and on the non-working config the Card 0 is nVidia and Card 1 is Realtek.
Any clues as to where I should be looking or reporting this to would be highly appreciated, as well as any tips to try to get audio output from my laptop speakers again with kernel 6.7
Offline
...
I have captured a dmesge log and an alsa-info.sh log from a working config and a broken config. Is there a way of attaching these rather lengthy files without pasting all the text into this box?
...
sudo dmesg | curl --upload-file - "http://paste.c-net.org/"This will spew out a link that you can post here.
Last edited by Cbhihe (2024-01-22 08:19:59)
I like strawberries, therefore I'm not a bot.
Offline
@Cbhihe, thanks for the info.
Without much further ado:
Dmesg output with kernel 6.6.10 and working speakers:
http://paste.c-net.org/FlameHeavier
alsa-info.sh output with working speakers:
http://paste.c-net.org/SolarisDorian
When I update to kernel 6.7.0, the speakers stop working.
Here is the output of dmesg:
http://paste.c-net.org/AskinShall
and, lastly, the output of alsa-info.sh:
http://paste.c-net.org/GracesBeard
As mentioned before, any help in where to go with this next would be greatly appreciated.
Offline
I'd first check whether it's a wireplumber state hiccup, remove ~/.local/state/wireplumber and restart wireplumber
systemctl --user restart wireplumber pipewire pipewire-pulseIf that worked, then hooray.
Maybe you also don't need the module line anymore because detection/setup got fixed. You could test without.
Otherwise the model clevo line like that will only be properly applied when the card is indeed 0. Unfortunately snd-hda-intel has no module parameter based mechanism to ensure a certain model definition is loaded based on clear identifiers just with the parameters. you'd have to identify the codec it uses by default and then supply a patch file adjusting the loaded model: https://docs.kernel.org/sound/hd-audio/ … y-patching -- the codec info file to get the vid/pid from is visible under /proc/asound/card*/codec#*
Last edited by V1del (2024-01-22 14:23:30)
Offline
Thanks for the reply, and things to test. It certainly has been a bit of a journey.
I tried the wireplumber thing, and no improvement.
I tried without the clevo-950 fixes, and still no improvement, both with the Realtek card as card0 and as card1
After a bit of scratching around, I can get the Realtek card to stay card0, AND have the clevo-p950 codec with this line in the modprobe:
options snd-hda-intel index=1,0 model=clevo-p950Unfortunately there is still no sound from the speakers on this laptop, so I am back to being stumped.
When I compare what is being detected with the working sound and now, I can see that the IRQ for the Realtek card has changed.
Working config, kernel 6.6.10:
!!Soundcards recognised by ALSA
!!-----------------------------
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x6203130000 irq 198
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0x74000000 irq 17Broken sound, kernel 6.7.0:
!!Soundcards recognised by ALSA
!!-----------------------------
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x6203130000 irq 197
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0x74000000 irq 17Would a change in the IRQ make a difference ?
Last edited by evorster (2024-01-23 00:24:29)
Offline
The index option is a lie, it still going to be random and the clevo line potentially not applied to the correct device. Or rather if you wanted to resolve that logically correctly assuming it works 100% of time
options snd-hda-intel index=1,0 model=auto,clevo-p950so you account for all devices appropriately.
Offline
Hmm, I had to swap auto and clevo-p950 to get them to not knock out the sound cards completely.
This is what the modprobe line looks like for me:
options snd-hda-intel index=1,0 model=clevo-p950,auto
Unfortunately, that does not solve the no sound from the speakers issue.
I filed a bug with the kernel:
https://bugzilla.kernel.org/show_bug.cgi?id=218409
Interestingly enough, when I revert to kernel 6.6.10 without modifying this line, my sound works properly, but now the cards are in a reversed order from kernel 6.7
Just have to note, my sound works in all cases in kernel 6.6.10, unless I remove clevo-p950 from modprobe, and then the symptoms are identical to what I am seeing now with it in on kernel 6.7.0
Offline
With all these tips and even the kernel parameter it still didn't work for me with kernel 6.18.6, I got sound via HDMI but not via the ALC1220.
But after a lot of back and forth I stumbled over this:
https://unix.stackexchange.com/question … sabre-9118
And the hdajackretask really did the trick after a bit of experimentation (but remember to run it as sudo!!!!). It's part of the alsa-tools.
I set everything I don't use to "Not connected" and the 3 actually used outputs for my 5.1 speaker system to Line out with the respective function, then set it as boot override and now it works perfectly.
When looking at the ALC1220s capabilities this problem actually makes sense:
https://www.igorslab.de/en/realtek-alc1 … r-alc1220/
Basically the ALC1220 is so extremely versatile that any connection can be configured for anything, so the chance that your installation gets it right from scratch is rather low.
It's not that different with Windows, it was quite an effort to install the proper Realtek drivers as the regular ones are quite limited, but these then allowed you to just plug in one connection after another, recognizing the connection being plugged in and then asking what it's used for, making the whole setup a lot easier.
With the hdajackretask it's a bit more of trial and error as it doesn't recognize which jacks are used. But the most important thing is: it works!
I can definitely say that the kernel parameter isn't needed, but I can't tell if the modprobe file is necessary as of course I have it set as described here with my experimentation and now I'm to lazy to try it without this entry ;-)
Last edited by Gridwolf (2026-01-27 07:21:53)
Offline
While that's nice to hear please pay attention to the dates and it's very likely this got fixed at some point.
As you've noted not all ALC1220 codecs are the same and chances are your issue and fix are not directly related to this old thread.
https://wiki.archlinux.org/title/Genera … bumping%22
Closing this.
Offline
Pages: 1
Topic closed