Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Sound Open Firmware (SOF) on Dell XPS 9520
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
user169291
n00b
n00b


Joined: 08 Aug 2022
Posts: 15

PostPosted: Mon Dec 16, 2024 9:48 pm    Post subject: Sound Open Firmware (SOF) on Dell XPS 9520 Reply with quote

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

Code:
$ wpctl status


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
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3484
Location: Canada

PostPosted: Mon Dec 16, 2024 11:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5476
Location: Bavaria

PostPosted: Tue Dec 17, 2024 2:39 am    Post subject: Re: Sound Open Firmware (SOF) on Dell XPS 9520 Reply with quote

user169291 wrote:
[...] 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).
[...]
Could anyone with experience with ALSA and/or SOF please recommend a course of action to debug this mess?

Do this:

1. Boot with our gentooLIVE-CD (NOT the minimal CD; not any other distribution) and do a
Code:
# dmesg | grep firmware

Notice all firmware files (with directory) and compare it with your setting in CONFIG_EXTRA_FIRMWARE= of your kernel .config
( https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration#Before_you_start )
( https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration#Driver_needs_Firmware )

2. Emerge "sof-firmware" if not already done.

3. You will need more options in your kernel than the one you have posted; e.g. some MEI-modules (Intels "Management Engine Interface"), mabye this one:
https://wiki.gentoo.org/wiki/User:Pietinger/Experimental/Manual_Configuring_Current_Kernel#Serial_Bus_Multi_Instantiate
... AND ... because you have a Dell XPS 9520 you need a different PINCTRL module: TigerLake instead of AlderLake ->
see also at the end - number 2 - of this chapter: https://wiki.gentoo.org/wiki/User:Pietinger/Experimental/Manual_Configuring_Current_Kernel#Device_Drivers
also I2C (see in link above) ... and of course IOMMU
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
user169291
n00b
n00b


Joined: 08 Aug 2022
Posts: 15

PostPosted: Thu Dec 19, 2024 1:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5476
Location: Bavaria

PostPosted: Thu Dec 19, 2024 3:31 pm    Post subject: Reply with quote

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. :D

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
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