Closed michael-brade closed 3 years ago
@michael-brade your config is invalid if you have an HDaudio device
# CONFIG_SND_HDA_INTEL is not set
please look at the settings we use
https://github.com/thesofproject/kconfig/blob/master/sof-defconfig https://github.com/thesofproject/kconfig/blob/master/hdaudio-codecs-defconfig https://github.com/thesofproject/kconfig/blob/master/mach-driver-defconfig
@plbossart thanks for the answer! However, I had that setting enabled before and it didn't help. Now I compiled it into the kernel again but nothing changes. I also removed the blacklist items.
And if that is required, why are we supposed to even blacklist the snd_hda_intel
and snd_soc_skl
modules?
There is no need for any blacklist if you use a recent kernel. We're removed everything that caused confusion. the snd-intel-dspcfg module takes care of autodetection of which driver to use.
And it's not just about snd-hda-intel, you need to look at the other settings in https://github.com/thesofproject/kconfig/blob/master/hdaudio-codecs-defconfig
https://thesofproject.github.io/latest/getting_started/index.html#debug-audio-issues-on-intel-platforms is the right starting point for you.
Thanks, I think I got successful. I went through the kconfig
files (thanks for the hint!) but even though I had to enable a few more things, it didn't change anything. Now I simply enabled almost all the options and then the errors changed: it failed loading the firmware. (I will yet have to find out which option was missing in the first place.)
The reason for failing to load the firmware: if compiling most of the options into the kernel, the initramfs won't have the firmware included and therefore it cannot be loaded when booting (and sof is initialized before the root fs is mounted). So now I compiled all the sof options as modules and it booted and loaded successfully. alsamixer
shows values -- yay!! I still need to configure alsa and jack because currently I just get noise output. But I think that's doable now :-) Thanks a lot for your fast help!
Thanks for the update @michael-brade
yes indeed, we need to document that we can only support modules. The dependency is on request_firmware() getting access to the firmware files, and that doesn't work with a built-in compilation.
You should take a loot at the UCM files we provided for different machines, it's all in alsa-ucm-conf. Don't reinvent the wheel with custom mixer settings.
Yeah, I won't :) but alsa-ucm-conf is just alsa by itself - together with pulseaudio that works fine, even the microphone :+1: Jack doesn't want to work and doesn't start or produces garbage. I'll postpone that for later, it's just too hard to set up :grimacing:
@kv2019i just to check, you've tested Jack with HDaudio devices? I vaguely recall a change of period sizes to make Jack happy, but don't recall if this was for those devices.
Ack @plbossart , JACK (and PipeWire) is tested on HDA devices, so this should work. JACK doesn't use alsaucm, so you'll have to use "alsaucm" tool manually, or write some scripts. PipeWire covers this better.
closing. @michael-brade if you see an issue with mixer configurations please file another issue.
Describe the bug I am trying to get sof to load and run on a HP ZBook 15u G6, mainly because the internal microphone doesn't work on a vanilla kernel. I compiled the kernel myself.
To Reproduce I installed
alsa-ucm-conf
, the sof firmware by cloning the repository and running./install.sh v1.7.x/v1.7
. v1.7 is said to work with linux 5.10.x. I blacklistedsnd_hda_intel
(not even compiled into the kernel) andsnd_soc_skl
(compiled in... is that a mistake?). Then I compiled and installed the kernel and rebooted. No sound cards are found.Reproduction Rate all the time
Expected behavior Obviously, I expect the sound to work and a microphone to be usable.
Impact showstopper
Environment 1) Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
Screenshots or console output
dmesg | grep sof
:The kernel has the following sound config: