You are not logged in.
Also, this only works if the Laptop isn't attach to a dock.
Offline
How to return original loudness which was before the update of the kernel?
Offline
I finally got everything to work with kernel 5.5.1-arch1-1.
1. Upgrade to 5.5.1-arch1-1
2. install sof-firmware 1.4.2-1
3. blacklist incompatible modules:
cat /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_soc_skl
4. Add a few lines to /etc/pulse/default.pa:
load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4
5. Reboot, then increase "master" level using alsamixer
Last edited by vtrac (2020-02-04 21:22:20)
Offline
5. Reboot, then increase "master" level using alsamixer
How to keep the maximum level for "0 sof-hda-dsp" device in alsamixer between reboots?
Offline
With vtrac's settings I was able to have both at the same time. However even with alsamixer to max the speakers aren't as strong as they were before.
1. kernel:5.5.0-1-MANJARO
2. sof-firmware 1.4.2-1
3. blacklist
cat /etc/modprobe.d/blacklist.conf [17:15:39]
blacklist snd_hda_intel
blacklist snd_soc_skl
4. add lines to pulseaudio
cat /etc/pulse/default.pa | rg module-alsa [17:17:25]
load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4
5. alsamixer already at max for me
Last edited by progdrasil (2020-02-04 22:18:02)
Offline
5. alsamixer already at max for me
In alsamixer I switched to ""0 sof-hda-dsp", increased to max
after leaving alsamixer I saved levels with
sudo alsactl store
Offline
I can also get microphone and speakers to properly work together with the 5.5 kernel (5.5.1-arch1-1) and sof-firmware (1.4.2-1), but I don't have any profile or configuration options for pulse (e.g. in the pavucontrol Configuration tab) and more importantly, I can't seem to switch to my headphones when I plug those in.
Offline
Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf
FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.
FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.
Last edited by V1del (2020-02-05 09:39:05)
Online
progdrasil wrote:5. alsamixer already at max for me
In alsamixer I switched to ""0 sof-hda-dsp", increased to max
after leaving alsamixer I saved levels withsudo alsactl store
Thanks i didn't realize this was what what missing
Complete steps:
Open alsamixer
Press F6
Select 0 sof-hda-dsp
Increase Master volume to 100
Press Esc
Save levels with
sudo alsactl store
I however still have the issue that the light for muted speakers and microphone no longer work with sof software.
Offline
Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf
FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.
FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.
The renaming trick may be ugly, but at least it seems to work. Thanks
Offline
Looks like I have everything working on latest as well:
* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0
Both speakers and microphone work fine.
Only remaining issue I'm having though is: if I boot with my machine plugged into its displaylink usb dock, then speakers and microphone *won't* work. However if I boot while not plugged into the dock, and then plug it in later, all is well. Would love to be able to fix this last little issue!
Offline
Looks like the issue is that Pulse sees my displaylink dock as card 0, and puts alsa at card 1. Need to figure out how to fix that.
Offline
Ah, got it:
$ echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf
(Source: https://alsa.opensrc.org/MultipleCards# … _problems)
Offline
V1del wrote:Pulse profile generation relies on proper UCM information being presented by ALSA, that "should" be present as part of alsa-ucm-conf under /usr/share/alsa/ucm2/sof-hda-dsp/sof-hda-dsp.conf
FWIW there might be a bug in properly reading exposing the ucm2 path in alsa-lib, so something immensely ugly you could try is to rename that /ucm2 to /ucm and check if pulse can generate profiles then.
FWIW2 there seems to be a lot of activity around this in pulse master and alsa-lib master so this should hopefully be more seamless with the next pulse/alsa-lib update.
The renaming trick may be ugly, but at least it seems to work. Thanks
Also confirming that it worked.
So right now to get a working audo:
1. cd /usr/lib/firmware/intel/sof-tplg/
2. ln -sf sof-hda-generic-4ch.tplg sof-hda-generic.tplg
3. mv /usr/share/alsa/ucm /usr/share/alsa/ucm2
EDIT: make ucm symlink
EDIT: move ucm
Last edited by Kubuxu (2020-02-07 17:33:38)
Offline
* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf
Can confirm that this works flawlessly for X1 Yoga 4 too. Only issue is that the keyboard leds for speaker mute and mic mute don't toggle (they are off all the time)
EDIT: But if I plug in a headset, the sound plays on the speakers and the headset
Last edited by juphu2Va (2020-02-07 14:10:38)
Offline
Something slightly less ugly you could try is keeping the ucm2 path and making a symlink to it called ucm that way you aren't going to have an unecessary duplicate of ucm configs in the event that alsa-ucm-conf updates.
Online
Something slightly less ugly you could try is keeping the ucm2 path and making a symlink to it called ucm that way you aren't going to have an unecessary duplicate of ucm configs in the event that alsa-ucm-conf updates.
Finally restarted my system, and this doesn't work. IDK why but it doesn't.
Offline
As mentioned it is ugly, and ideally relevant tools are fixed that they actually make use of the ucm2 path.
Online
darose wrote:* linux 5.5.2.arch1-1
* sof-firmware 1.4.2-1
* no need to change or symlink any files in /usr/lib/firmware/intel/sof-tplg
* no need to blacklist any kernel modules
* need 2 lines in /etc/pulse/default.pa:
load-module module-alsa-source device=hw:0,6 channels=4
load-module module-alsa-sink device=hw:0,0echo "options snd slots=,snd_usb_audio" > /etc/modprobe.d/alsa.conf
Can confirm that this works flawlessly for X1 Yoga 4 too. Only issue is that the keyboard leds for speaker mute and mic mute don't toggle (they are off all the time)
EDIT: But if I plug in a headset, the sound plays on the speakers and the headset
Got it working as well on my Yoga Gen4 with sof-firmware, /etc/pulse/default.pa entries, alsa.conf entries, no blacklisted audio modules and with kernel option
snd_hda_intel.dmic_detect=0
. Althpugh the two rear speakers work, the front speakers stopped working. They show up in pulsemixer and alsamixer but don't fire.
Is anyone else having this problem?
Offline
That's because the config you quoted incompletely/incorrectly defines alsa sinks (I find it highly unlikely that you want an alsa-source with 4 channels (that's the microphone...) that should probably be the sink rather than source). Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.
Online
Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.
What is that method?
Offline
That's because the config you quoted incompletely/incorrectly defines alsa sinks (I find it highly unlikely that you want an alsa-source with 4 channels (that's the microphone...) that should probably be the sink rather than source). Following the other established method to make pulse generate proper profiles is likely more fruitful in the long run.
The X1C7 actually has 4 x 360-degree far-field microphones. However, I don't know if it's exposed to software as a single channel or 4 channels.
Offline
What is that method?
Online
I managed to have the microphone and speakers working more or less correctly following the updated wiki guidelines (without blacklisting as it didn't seem to change anything, and the microphone doesn't seem to be super loud, I don't know if it's normal or not)
However, now when I'm plugging headphones in the jack adapter, the speakers do not mute and keep on outputting sound (as well as the headphones). This is a bit disturbing... any idea how this could be fixed?
Offline
Check your mixer controls (alsamixer -c0 ), they will usually feature a auto mute control or so. Or make pulse create proper profiles by renaming the ucm2 folder which should also contain rules to properly switch.
Last edited by V1del (2020-02-09 15:18:22)
Online