View previous topic :: View next topic |
Author |
Message |
user169291 n00b

Joined: 08 Aug 2022 Posts: 15
|
Posted: Mon Dec 16, 2024 9:48 pm Post subject: Sound Open Firmware (SOF) on Dell XPS 9520 |
|
|
Hey guys,
I've run into some driver issues again. I figured I'd post here for help and posterity. I'm trying to get sound working on my Dell XPS 9520 with SOF on a custom (minimal) kernel (without module support) and PipeWire
Code: | $ doas lspci -v
[...]
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c) (prog-if 00 [VGA controller])
Subsystem: Dell Device 0b19
Flags: bus master, fast devsel, latency 0, IRQ 143, IOMMU group 0
Memory at 6186000000 (64-bit, non-prefetchable) [size=16M]
Memory at 4000000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Capabilities: [320] Single Root I/O Virtualization (SR-IOV)
Kernel driver in use: i915
[...]
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01) (prog-if 80)
Subsystem: Dell Device 0b19
Flags: bus master, fast devsel, latency 64, IRQ 200, IOMMU group 14
Memory at 6187190000 (64-bit, non-prefetchable) [size=16K]
Memory at 6187000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: snd_hda_intel
|
I've enabled everything I thought to be relevant to SOF per the architecture manual (especially "Please note that HDA controller initialization and stream management are mandatory for Intel SKL+ platforms even if no HDA/HDMI-codec support is required, because the host DMA and stream control registers are part of HDA controller") and this Github gist, i.e.
Code: | SND_HDA_INTEL
SND_HDA_CODEC_REALTEK (for the XPS 9520 codec)
SND_HDA_CODEC_HDMI
SND_SOC_INTEL_SST_TOPLEVEL
SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH
SND_SOC_SOF_TOPLEVEL
SND_SOC_SOF_INTEL_TOPLEVEL
SND_SOC_SOF_TIGERLAKE (Alder Lake is typically bugged; doesn't make a difference)
SND_SOC_SOF_HDA_LINK
SND_SOC_SOF_HDA_AUDIO_CODEC
SND_SOC_DMIC
SND_SOC_HDA
|
yet sof-audio-pci-* isn't even showing up in my dmesg, let alone that it's letting me know firmware is missing (which I believe it should, as I have disabled modules). Also, ALSA reports "No soundcards found." despite
listing "Built-in Audio Analog Stereo" as a sink and audio working (albeit badly)
Could anyone with experience with ALSA and/or SOF please recommend a course of action to debug this mess? |
|
Back to top |
|
 |
dmpogo Advocate

Joined: 02 Sep 2004 Posts: 3484 Location: Canada
|
Posted: Mon Dec 16, 2024 11:12 pm Post subject: |
|
|
ALSA reports 'no soundcards found' even on my 2017 KabyLake, but everything is working. So this message is probably a red herring |
|
Back to top |
|
 |
pietinger Moderator

Joined: 17 Oct 2006 Posts: 5476 Location: Bavaria
|
|
Back to top |
|
 |
user169291 n00b

Joined: 08 Aug 2022 Posts: 15
|
Posted: Thu Dec 19, 2024 1:42 pm Post subject: |
|
|
Thanks to the both of you for your help! Pietinger, I hope you realize how beneficial your efforts are to not only to the Gentoo community but Linux in general—and not only because of your knowledge. To get back to your points:
1. It'll be impossible for me to boot into the live CD for the next week and a half or so. May I ask why you wanted me to attempt this? Is it because of GENTOO_PRINT_FIRMWARE_INFO, as you mention in your article on manual kernel configuration? If so, please note that I have already enabled that option
2. I already have, preemptively, merged that package, anticipating missing firmware that I'll have to pull into CONFIG_EXTRA_FIRMWARE once I get sof to show up in my dmesg
3. I have (already) enabled
Code: | I2C
I2C_I801
I2C_DESIGNWARE_CORE
I2C_DESIGNWARE_PLATFORM
INTEL_IOMMU
INTEL_MEI
INTEL_MEI_ME
INTEL_MEI_GSC_PROXY
SERIAL_MULTI_INSTANTIATE (why isn't this on by default? When would you ever want this to be disabled?)
|
to no avail. Also, I do indeed use the Tiger Lake PINCTRL module. As a matter of fact, we discovered that the Alder Lake driver was (and still is, by the way...) bugged together
|
|
Back to top |
|
 |
pietinger Moderator

Joined: 17 Oct 2006 Posts: 5476 Location: Bavaria
|
Posted: Thu Dec 19, 2024 3:31 pm Post subject: |
|
|
First of all, thank you for your link to our older thread (as an old man, I can't always remember previous incidents) - I really appreciate it.
If you have activated GENTOO_PRINT_FIRMWARE_INFO for YOUR kernel, this means that all modules that YOUR kernel loads (and require firmware) record WHICH firmware is loaded in the system log. IF you do NOT have a module in your kernel - but which is required - you will NOT receive any information with your kernel that firmware is being loaded for this - non-existent - module. That's why I wanted you to boot our Gentoo LIVE CD (NOT the minimal CD) and check which firmware is loaded THEN, because that COULD give an indication of missing modules.
I guess you are missing snd_sof_pci_intel_tgl ... and maybe more ...
What you can also do is: Save the output of “lsmod” (and "dmesg") after booting with the Gentoo Live CD and compare it with the “lsmod” after booting Ubuntu - because in Ubuntu the kernel is more modularized; of course there will be some modules that we don't need. If in doubt, I would want to check both “lsmod” and both “dmesg” and your current kernel .config. _________________ https://wiki.gentoo.org/wiki/User:Pietinger |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|