Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Can't get Tiger Lake-H HD Audio Controller to work
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
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 12:50 am    Post subject: Can't get Tiger Lake-H HD Audio Controller to work Reply with quote

Code:

0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)


Hi, I am installing gentoo for the first time (and posting to a forum for the first time) but I cannot get my soundcard to work. I had Arch installed before and the sound worked with no special setup at all.

I am doing this on a XPS 17 9710.
I also have no idea what I am doing.

I have everything else working like X, a wm, and the wifi, I am even posting this on a browser from gentoo.

Pages I have found that are relevent are:
https://old.reddit.com/r/Dell/comments/hl5z86/xps_17_9700_working_audio_on_linux_details_in/
https://forums.gentoo.org/viewtopic-p-8685070.html
https://wiki.gentoo.org/wiki/ALSA#Laptops_with_HDMI_audio_output
https://wiki.gentoo.org/wiki/Dell_XPS_17
https://forums.gentoo.org/viewtopic-t-1097442-start-0.html

The second link is a person who said his output works but can't get the mic to work, meaning that getting sound to work on this should be possible since someone else did it before.
There are people on old Arch posts saying that it was bugged and to wait for the new kernel version. Also my old Arch install (where the sound card worked) was also a newer kernel version so I changed to the latest kernel version (instead of 5.15) to try and make it as similar as possible.

Kernel version:
Code:

$ ls -l /usr/src/
total 8
lrwxrwxrwx  1 root root   22 May 30 23:17 linux -> linux-5.18.1-gentoo-r1
drwxr-xr-x 21 root root 4096 May 30 23:15 linux-5.15.41-gentoo
drwxr-xr-x 25 root root 4096 May 31 12:58 linux-5.18.1-gentoo-r1


From the bottom link I tried to follow the guys kernel config and he said it only woked with the ALSA stuff set as modules instead of built in so I also did that.

Here is my kernel .config in /usr/src/linux:
https://pastebin.com/Xs05VUNd

From the 4th link, where a guy who also tried to install gentoo on an XPS 17 (same laptop as mine) posted his "lspci -k" output and I have gotten mine pretty similar to his.

Code:

$ lspci -k
0000:00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
   Subsystem: Dell 11th Gen Core Processor Host Bridge/DRAM Registers
0000:00:01.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller #1 (rev 05)
   Subsystem: Dell 11th Gen Core Processor PCIe Controller
   Kernel driver in use: pcieport
0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
   DeviceName: Onboard - Video
   Subsystem: Dell TigerLake-H GT1 [UHD Graphics]
   Kernel driver in use: i915
0000:00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 05)
   Subsystem: Dell TigerLake-LP Dynamic Tuning Processor Participant
0000:00:07.0 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #0 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 PCI Express Root Port
   Kernel driver in use: pcieport
0000:00:07.1 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #1 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 PCI Express Root Port
   Kernel driver in use: pcieport
0000:00:07.2 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #2 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 PCI Express Root Port
   Kernel driver in use: pcieport
0000:00:07.3 PCI bridge: Intel Corporation Tiger Lake-H Thunderbolt 4 PCI Express Root Port #3 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 PCI Express Root Port
   Kernel driver in use: pcieport
0000:00:0a.0 Signal processing controller: Intel Corporation Tigerlake Telemetry Aggregator Driver (rev 01)
   Subsystem: Dell Tigerlake Telemetry Aggregator Driver
   Kernel driver in use: intel_vsec
0000:00:0d.0 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 USB Controller (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 USB Controller
   Kernel driver in use: xhci_hcd
0000:00:0d.2 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 NHI #0 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 NHI
0000:00:0d.3 USB controller: Intel Corporation Tiger Lake-H Thunderbolt 4 NHI #1 (rev 05)
   Subsystem: Dell Tiger Lake-H Thunderbolt 4 NHI
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
   Subsystem: Dell Volume Management Device NVMe RAID Controller
   Kernel driver in use: vmd
0000:00:12.0 Serial controller: Intel Corporation Device 43fc (rev 11)
   Subsystem: Dell Device 0a5d
   Kernel driver in use: intel_ish_ipc
0000:00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11)
   Subsystem: Dell Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller
   Kernel driver in use: xhci_hcd
0000:00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
   Subsystem: Dell Tiger Lake-H Shared SRAM
0000:00:14.3 Network controller: Intel Corporation Tiger Lake PCH CNVi WiFi (rev 11)
   Subsystem: Rivet Networks Tiger Lake PCH CNVi WiFi
   Kernel driver in use: iwlwifi
   Kernel modules: iwlwifi
0000:00:15.0 Serial bus controller: Intel Corporation Tiger Lake-H Serial IO I2C Controller #0 (rev 11)
   Subsystem: Dell Tiger Lake-H Serial IO I2C Controller
   Kernel driver in use: intel-lpss
0000:00:15.1 Serial bus controller: Intel Corporation Device 43e9 (rev 11)
   Subsystem: Dell Device 0a5d
   Kernel driver in use: intel-lpss
0000:00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
   Subsystem: Dell Tiger Lake-H Management Engine Interface
   Kernel driver in use: mei_me
0000:00:1c.0 PCI bridge: Intel Corporation Device 43be (rev 11)
   Subsystem: Dell Device 0a5d
   Kernel driver in use: pcieport
0000:00:1f.0 ISA bridge: Intel Corporation Device 4389 (rev 11)
   Subsystem: Dell Device 0a5d
0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-H HD Audio Controller (rev 11)
   Subsystem: Dell Tiger Lake-H HD Audio Controller
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
0000:00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
   Subsystem: Dell Tiger Lake-H SMBus Controller
   Kernel driver in use: i801_smbus
0000:00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
   Subsystem: Dell Tiger Lake-H SPI Controller
0000:01:00.0 3D controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] (rev a1)
   Subsystem: Dell GA107M [GeForce RTX 3050 Mobile]
   Kernel driver in use: nouveau
0000:aa:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01)
   Subsystem: Dell RTS5260 PCI Express Card Reader
   Kernel driver in use: rtsx_pci
10000:e0:01.0 System peripheral: Intel Corporation Device 09ab
10000:e0:01.1 PCI bridge: Intel Corporation Device 9a05 (rev 05)
   Subsystem: Dell Device 0a5d
   Kernel driver in use: pcieport
10000:e1:00.0 Non-Volatile memory controller: SK hynix Gold P31 SSD
   Subsystem: SK hynix Gold P31 SSD
   Kernel driver in use: nvme


It says there are drivers and modules for it (which I think is good?).

I don't know if this is useful but here is lsmod output:
Code:

$ lsmod
Module                  Size  Used by
snd_sof_pci_intel_tgl    16384  0
snd_sof_intel_hda_common    86016  1 snd_sof_pci_intel_tgl
iwlmvm                413696  0
snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
snd_hda_codec_hdmi     69632  1
snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_sof               151552  2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_utils          16384  1 snd_sof
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
snd_soc_hdac_hda       20480  1 snd_sof_intel_hda_common
mac80211              917504  1 iwlmvm
snd_hda_ext_core       32768  3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match    65536  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
libarc4                16384  1 mac80211
snd_soc_core          303104  3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_intel          45056  0
snd_intel_dspcfg       28672  2 snd_hda_intel,snd_sof_intel_hda_common
dell_laptop            32768  0
dell_wmi               16384  0
snd_hda_codec         147456  3 snd_hda_codec_hdmi,snd_hda_intel,snd_soc_hdac_hda
iwlwifi               450560  1 iwlmvm
dell_smbios            20480  2 dell_wmi,dell_laptop
snd_hwdep              16384  1 snd_hda_codec
snd_hda_core          106496  7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
dell_wmi_sysman        36864  0
snd_pcm               135168  10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
dcdbas                 16384  1 dell_smbios
dell_wmi_descriptor    16384  2 dell_wmi,dell_smbios
firmware_attributes_class    16384  1 dell_wmi_sysman
snd_timer              36864  1 snd_pcm
snd                    90112  9 snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
cfg80211              950272  3 iwlmvm,iwlwifi,mac80211


also the alsa.conf:
Code:

$ cat /etc/modprobe.d/alsa.conf
# Alsa kernel modules' configuration file.

# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore

##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
##  ALSA portion
## alias snd-card-0 snd-interwave
## alias snd-card-1 snd-ens1371
##  OSS/Free portion
## alias sound-slot-0 snd-card-0
## alias sound-slot-1 snd-card-1
##

# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
##  OSS/Free portion - card #2
## alias sound-service-1-0 snd-mixer-oss
## alias sound-service-1-3 snd-pcm-oss
## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.
#options snd cards_limit=1
options snd cards_limit=2
options snd-hda-intel index=1,0


I have no ~/.asoundrc

When I do speaker test it doesn't work:

Code:

$ speaker-test

speaker-test 1.2.6

Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.6.1/work/alsa-lib-1.2.6.1/src/pcm/pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
Playback open error: -2,No such file or directory


also aplay doesn't show the card (I think):

Code:

$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output
hdmi:CARD=PCH,DEV=1
    HDA Intel PCH, HDMI 1
    HDMI Audio Output
hdmi:CARD=PCH,DEV=2
    HDA Intel PCH, HDMI 2
    HDMI Audio Output
hdmi:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 3
    HDMI Audio Output
hdmi:CARD=PCH,DEV=4
    HDA Intel PCH, HDMI 4
    HDMI Audio Output
hdmi:CARD=PCH,DEV=5
    HDA Intel PCH, HDMI 5
    HDMI Audio Output
hdmi:CARD=PCH,DEV=6
    HDA Intel PCH, HDMI 6
    HDMI Audio Output
hdmi:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 7
    HDMI Audio Output
hdmi:CARD=PCH,DEV=8
    HDA Intel PCH, HDMI 8
    HDMI Audio Output
hdmi:CARD=PCH,DEV=9
    HDA Intel PCH, HDMI 9
    HDMI Audio Output
hdmi:CARD=PCH,DEV=10
    HDA Intel PCH, HDMI 10
    HDMI Audio Output


And dmesg:
https://pastebin.com/unPm9dTH

Sorry if there is something really obvious I am missing or if this forum post is all wrong, I can't find any help online and I have been trying to fix this for 2 afternoons.
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 1:01 am    Post subject: Reply with quote

Forgot to say also have this installed which I think is enough:

Code:

$ qlist -I | grep firmware
sys-firmware/sof-firmware
sys-kernel/linux-firmware
$ qlist -I | grep -i alsa
media-libs/alsa-lib
media-libs/alsa-topology-conf
media-libs/alsa-ucm-conf
media-sound/alsa-utils
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Wed Jun 01, 2022 2:09 am    Post subject: Reply with quote

saltychippies22,

welcome to the Gentoo forums!

According to this post and this pull request, the notebook 'has the same audio subsystem as the 0A5E skew (RT711 headset codec, 2 RT1308 amps and RT715 for mic capture)'.

Therefore, it might help to enable the SOC modules for the Realtek RT711, RT715 and RT1308 devices.

Run 'make menuconfig' and go to:
Code:
 Main menu
  -> Device Drivers
    -> Sound card support (SOUND [=y])
      -> Advanced Linux Sound Architecture (SND [=y])
        -> ALSA for SoC audio support (SND_SOC [=y])
           -> CODEC drivers

If you don't see the modules for the Realtek RT711, RT715 and RT1308 devices, press Z. That will show hidden options
Code:
- - Realtek RT711 Codec - SDW
- - Realtek RT711 SDCA Codec - SDW
- - Realtek RT715 Codec - SDW
- - Realtek RT715 SDCA Codec - SDW
- - Realtek RT1308 Codec - SDW

Move the selection bar to one of those options and press H for help. There's a line that starts with "Depends on". You must enable all modules shown in that line before you can select the module.

Mike
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 2:38 am    Post subject: Reply with quote

Ok I had to enable soundwire for those hidden options. I tried activating the codec drivers you mentioned as modules, then as built in, then activated everything in that codec directory as both builtin and modules, but nothing made a difference, other than the HDMI entries dissapered from aplay when I switched to built in, now it just says no graphics card detected.
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 2:44 am    Post subject: Reply with quote

I was wrong, enabling soundwire as either a module or built in makes the HDMI entries in "aplay -L" disappear, not the codecs.
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 3:09 am    Post subject: Reply with quote

Actually never mind I am dumb, after enabling those there is some extra stuff in dmesg saying some stuff failed

Code:

[    1.749544] Loading firmware: intel/sof/sof-tgl-h.ri
[    1.751831] sof-audio-pci-intel-tgl 0000:00:1f.3: Direct firmware load for intel/sof/sof-tgl-h.ri failed with error -2
[    1.753018] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof firmware file is missing, you might need to
[    1.754220] sof-audio-pci-intel-tgl 0000:00:1f.3:        download it from https://github.com/thesofproject/sof-bin/
[    1.754475] PM:   Magic number: 10:350:6
[    1.755374] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware -2
[    1.757721] printk: console [netcon0] enabled
[    1.758135] irq/169-AudioDS (181) used greatest stack depth: 15136 bytes left
[    1.758254] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof_probe_work failed err: -2
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 3:40 am    Post subject: Reply with quote

Ok so I disabled almost every codec except the ones you mentioned (and some were locked) and everything under ALSA was set to a module instead of built in, then soundwire is also a module, then it finally worked, kind of. Three are no errors in dmesg, speaker test doesn't crash but doesn't play sound, and alsamixer shows a bunch of options. I think I just need to mess with more stuff now.
Thank you for helping, I probably would never have been able to figure out which codecs I was supposed to enable.
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 5:40 am    Post subject: Reply with quote

Actually I didn't get it to work. I had somehow enabled the kernel option "soundwire generic machine driver" which made it look ALSA detected the soundcard when it actually didn't
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 11:45 pm    Post subject: Reply with quote

Ok turns out I am very dumb. I just needed to install pulse audio (wasted like 5 hours messing with the kernel ): ), I though the speaker-test could work with only ALSA and not pulseaudio but I also don't really understand anything.

For future people I had all the modules Mike said to do as modules instead of built in, then installed alsa and pulseaudio then it worked.

Also here is my kernel config (for "linux-5.18.1-gentoo-r1" but it will probably work on the older ones) because I was randomly flipping on and off for a whole day so I might have something on that magically makes it works somehow and didn't notice. Also if you are using XPS 17 9710 I think it gots everything working exept the touchpad and touchscreen.

I'm going to try and mark this as solved.
Back to top
View user's profile Send private message
saltychippies22
n00b
n00b


Joined: 31 May 2022
Posts: 9

PostPosted: Wed Jun 01, 2022 11:47 pm    Post subject: Reply with quote

oops forgot to put pastebin link for current kernel config

https://pastebin.com/TtS8rX9W
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