Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Realtek ALC1220 appear as generic and has no controls.
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
newin
n00b
n00b


Joined: 27 Oct 2012
Posts: 31

PostPosted: Sun Dec 08, 2024 3:53 pm    Post subject: Realtek ALC1220 appear as generic and has no controls. Reply with quote

Hi,
It's been a long time since I've posted here. This time it won't be a cryptic and deeply specific GPU thing.
In the past on all my machines my experience with sound on gentoo was very painless and quite amazing: enable snd_hda, enable the right card, install alsa and I didn't even need to play with asound.conf it just worked out of the box.
But this time, I have a quite simple setup which I know is supported (https://forums.gentoo.org/viewtopic-t-1099046-start-0.html)
My machine has two sound devices:
A GPU with HDMI output (which I do *not* want).
A motherboard embeded which lspci -k report as:
Code:

18:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
   DeviceName: Realtek ALC1220
   Subsystem: Micro-Star International Co., Ltd. [MSI] Device ed70

I also technically also something that get reported as a USB one but it's a problem for another day. It's the ALC 1220 one I want.

I'm relatively sure my kernel configuration should be okay with this but but because it will probably get asked I here is my cat .config | grep SND
Code:

CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
# CONFIG_SND_OSSEMUL is not set
CONFIG_SND_PCM_TIMER=y
# CONFIG_SND_HRTIMER is not set
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_CTL_FAST_LOOKUP=y
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_UTIMER is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_ALOOP is not set
# CONFIG_SND_PCMTEST is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_HDMI is not set
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CS8409 is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_SENARYTECH is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=3
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_PREALLOC_SIZE=3072
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_USB_US122L is not set
# CONFIG_SND_USB_6FIRE is not set
# CONFIG_SND_USB_HIFACE is not set
# CONFIG_SND_BCD2000 is not set
# CONFIG_SND_USB_POD is not set
# CONFIG_SND_USB_PODHD is not set
# CONFIG_SND_USB_TONEPORT is not set
# CONFIG_SND_USB_VARIAX is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y

about that kernel config. I'm not sure what CONFIG_SND_HDA_INPUT_BEEP and CONFIG_SND_HDA_INPUT_BEEP_MODE are but I've tried with and without it didn't help me.
Because I want only one I don't think CONFIG_SND_HDA_RECONFIG is important but I tried with and without, it didn't help me.
I've seen CONFIG_SND_HDA_PREALLOC_SIZE was 0 by default. I've seen some config with my sound card using 3072. I tried in doubt but it also didn't help.

I don't have any asound.conf. I never actually needed any and I'm quite sure it doesn't matter in my case. It seems to break *before*.
Here is my symptoms:
first when I /etc/init.d/alsasound restart it's (very) slow (like takes 15 seconds) and give me:
Code:

 * Storing ALSA Mixer Levels ...                                                                                                                                                         [ ok ]
 * Restoring Mixer Levels ...
alsactl: snd_card_iterator_sinit:257: Cannot find soundcard '1'...
 * Errors while restoring defaults, ignoring

which is something I've never seen before.
During boot amixer also complains that "Unable to find simple control 'PCM' 0" during OpenRC (after a somewhat long pause of a couple of seconds).
aplay -L give me:
Code:

null
    Discard all samples (playback) or generate zero samples (capture)
hdmi:CARD=Generic,DEV=0
    HD-Audio Generic, Generic Digital
    HDMI Audio Output

That's where it get strange, I don't know what this null is and my hdmi one is supposed to be disabled.

and /sys/class/sound/card0/id just show "Generic"
Last but not least dmesg | grep snd -i give me something interesting but I'm not sure I understand what it tries to tell me:
Code:

[    0.026429] Kernel command line: root=/dev/sda2 rootfstype=btrfs rw snd_hda_intel.enable=0,1,0
[    3.361632] snd_hda_intel 0000:03:00.1: probe with driver snd_hda_intel failed with error -2
[    3.361870] snd_hda_intel 0000:18:00.1: enabling device (0000 -> 0002)
[    3.362145] snd_hda_intel 0000:18:00.6: probe with driver snd_hda_intel failed with error -2
[    3.362370] usbcore: registered new interface driver snd-usb-audio
[    3.364365] snd_hda_codec_generic hdaudioC0D0: ignore pin 0x7, too many assigned pins
[    3.364653] snd_hda_codec_generic hdaudioC0D0: ignore pin 0x9, too many assigned pins
[    3.365042] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[    3.365252] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.365473] snd_hda_codec_generic hdaudioC0D0:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.365684] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    3.365891] snd_hda_codec_generic hdaudioC0D0:    dig-out=0x3/0x5
[    3.366096] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    3.366767] input: HD-Audio Generic HDMI as /devices/pci0000:00/0000:00:08.1/0000:18:00.1/sound/card0/input3
[    3.367074] input: HD-Audio Generic HDMI as /devices/pci0000:00/0000:00:08.1/0000:18:00.1/sound/card0/input4
[    3.376268]   #0: HD-Audio Generic at 0xfc988000 irq 137

And that's where I'm a bit lost. It's like the kernel is trying to enable the HDMI audio I disabled and just not use my onboard ALC1220. Still along those lines, snd_hda_intel I passed muting the HDMI one. Additionally I'm not exactly sure what this -2 mean... I feel like there is some stupid mistake somewhere I can't quite put my finger on. :oops: If someone has a bit of a clue on what I should try it would be lovely.
_________________
uname -a: Linux vega 6.12.2-gentoo #7 SMP PREEMPT_DYNAMIC Sun Dec 8 18:55:36 EET 2024 x86_64 AMD Ryzen 9 7950X 16-Core Processor AuthenticAMD GNU/Linux
clang : clang version 19.1.5
window manager : i3 version 4.23 (2023-10-29) (with some patches)
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Sun Dec 08, 2024 4:07 pm    Post subject: Reply with quote

What happens if you enable this ? ->
https://wiki.gentoo.org/wiki/User:Pietinger/Experimental/Manual_Configuring_Current_Kernel#Serial_Bus_Multi_Instantiate

If this does not help we would need: Boot with our GentooLIVE-CD and do a "lsmod" and a "lspci -nnk". Maybe also a "dmesg" would be helpful. And last but not least your current (complete) kernel .config.
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
newin
n00b
n00b


Joined: 27 Oct 2012
Posts: 31

PostPosted: Sun Dec 08, 2024 9:32 pm    Post subject: Reply with quote

I tried to enable the "Serial bus multi instantiate pseudo device driver" but it didn't help unfortunately.
After booting on a live usb the lspci -nnk for the ALC1220 looks like:
Code:

18:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
   DeviceName: Realtek ALC1220
   Subsystem: Micro-Star International Co., Ltd. [MSI] Family 17h (Models 10h-1fh) HD Audio Controller [1462:ed70]
   Kernel driver in use: snd_hda_intel
   Kernel modules: snd_hda_intel

Which is exactly what my gentoo have except the missing module line. Which I don't have because I have a monolithic kernel.
For lsmod. On my side I have a monolithic kernel so there is no such thing. On the live however it looks like:
Code:

Module                  Size  Used by
tls                   147456  0
rfcomm                 98304  4
cmac                   16384  3
algif_hash             20480  1
algif_skcipher         16384  1
af_alg                 32768  6 algif_hash,algif_skcipher
bnep                   32768  2
binfmt_misc            24576  1
zfs                  4603904  8
zunicode              352256  1 zfs
zzstd                 589824  1 zfs
zlua                  229376  1 zfs
zavl                   24576  1 zfs
icp                   368640  1 zfs
zcommon               131072  2 zfs,icp
znvpair               135168  2 zfs,zcommon
spl                   163840  6 zfs,icp,zzstd,znvpair,zcommon,zavl
snd_hda_codec_hdmi     94208  2
intel_rapl_msr         20480  0
mt7921e                28672  0
snd_hda_intel          61440  3
snd_usb_audio         421888  3
intel_rapl_common      40960  1 intel_rapl_msr
mt7921_common         114688  1 mt7921e
snd_intel_dspcfg       36864  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_hda_codec         204800  2 snd_hda_codec_hdmi,snd_hda_intel
mt76_connac_lib        90112  2 mt7921e,mt7921_common
mt76                  122880  3 mt7921e,mt7921_common,mt76_connac_lib
snd_hda_core          135168  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_usbmidi_lib        53248  1 snd_usb_audio
mc                     81920  1 snd_usb_audio
snd_hwdep              20480  2 snd_usb_audio,snd_hda_codec
edac_mce_amd           45056  0
mac80211             1617920  3 mt76,mt7921_common,mt76_connac_lib
snd_pcm               192512  5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
btusb                  69632  0
kvm_amd               204800  0
btrtl                  28672  1 btusb
btbcm                  24576  1 btusb
snd_seq_midi           20480  0
btintel                53248  1 btusb
snd_seq_midi_event     16384  1 snd_seq_midi
btmtk                  16384  1 btusb
bluetooth            1036288  34 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
snd_rawmidi            53248  2 snd_seq_midi,snd_usbmidi_lib
kvm                  1347584  1 kvm_amd
cfg80211             1241088  4 mt76,mac80211,mt7921_common,mt76_connac_lib
snd_seq                94208  2 snd_seq_midi,snd_seq_midi_event
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              49152  2 snd_seq,snd_pcm
ecdh_generic           16384  2 bluetooth
ecc                    45056  1 ecdh_generic
snd                   135168  23 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi
hid_magicmouse         20480  0
apple_mfi_fastcharge    20480  0
input_leds             16384  0
joydev                 32768  0
libarc4                16384  1 mac80211
soundcore              16384  1 snd
irqbypass              16384  1 kvm
ucsi_ccg               24576  0
typec_ucsi             53248  1 ucsi_ccg
typec                 106496  1 typec_ucsi
rapl                   20480  0
ccp                   131072  1 kvm_amd
wmi_bmof               16384  0
k10temp                16384  0
mac_hid                16384  0
sch_fq_codel           24576  2
msr                    16384  0
parport_pc             53248  0
ppdev                  24576  0
lp                     28672  0
parport                73728  3 parport_pc,lp,ppdev
ramoops                36864  0
pstore_blk             16384  0
efi_pstore             16384  0
reed_solomon           28672  1 ramoops
pstore_zone            36864  1 pstore_blk
ip_tables              36864  0
x_tables               65536  1 ip_tables
autofs4                57344  2
overlay               188416  1
nls_iso8859_1          16384  1
btrfs                1921024  1
blake2b_generic        20480  0
xor                    24576  1 btrfs
raid6_pq              126976  1 btrfs
libcrc32c              16384  1 btrfs
dm_mirror              24576  0
dm_region_hash         24576  1 dm_mirror
dm_log                 20480  2 dm_region_hash,dm_mirror
wacom                 159744  0
amdgpu              14491648  13
hid_generic            16384  0
iommu_v2               24576  1 amdgpu
drm_buddy              20480  1 amdgpu
gpu_sched              61440  1 amdgpu
i2c_algo_bit           16384  1 amdgpu
drm_ttm_helper         16384  1 amdgpu
ttm                   110592  2 amdgpu,drm_ttm_helper
drm_display_helper    212992  1 amdgpu
cec                    94208  1 drm_display_helper
rc_core                77824  1 cec
drm_kms_helper        249856  5 drm_display_helper,amdgpu
uas                    28672  0
usbhid                 73728  1 wacom
usb_storage            86016  2 uas
hid                   176128  4 wacom,usbhid,hid_generic,hid_magicmouse
syscopyarea            16384  1 drm_kms_helper
sysfillrect            20480  1 drm_kms_helper
nvme                   61440  0
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
polyval_clmulni        16384  0
polyval_generic        16384  1 polyval_clmulni
ghash_clmulni_intel    16384  0
sha512_ssse3           53248  0
aesni_intel           397312  4
sysimgblt              20480  1 drm_kms_helper
crypto_simd            20480  1 aesni_intel
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel
nvme_core             208896  1 nvme
drm                   696320  13 gpu_sched,drm_kms_helper,drm_display_helper,drm_buddy,amdgpu,drm_ttm_helper,ttm
r8169                 114688  0
i2c_piix4              28672  0
ahci                   49152  1
nvme_common            28672  1 nvme_core
libahci                57344  1 ahci
realtek                36864  1
xhci_pci               24576  0
i2c_designware_pci     16384  0
xhci_pci_renesas       20480  1 xhci_pci
i2c_ccgx_ucsi          16384  1 i2c_designware_pci
video                  73728  1 amdgpu
wmi                    40960  2 video,wmi_bmof
gpio_amdpt             20480  0

The strange thing is that usb audio thing. Earlier I was assuming it was my Zoom H5 which can act as a USB speaker, a microphone and also do a bunch of other sound stuff. The (very) surprising thing here is I unplugged it this time, yet I see a snd_usb_audio loaded.
So (still on the live) I did an aplay -L (note, it's not a gentoo live but a ubuntu live):
Code:

null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
hw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=7
    HDA ATI HDMI, HDMI 1
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=8
    HDA ATI HDMI, HDMI 2
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=9
    HDA ATI HDMI, HDMI 3
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=10
    HDA ATI HDMI, HDMI 4
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=11
    HDA ATI HDMI, HDMI 5
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=7
    HDA ATI HDMI, HDMI 1
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=8
    HDA ATI HDMI, HDMI 2
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=9
    HDA ATI HDMI, HDMI 3
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=10
    HDA ATI HDMI, HDMI 4
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=11
    HDA ATI HDMI, HDMI 5
    Hardware device with all software conversions
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA ATI HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA ATI HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA ATI HDMI, HDMI 4
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
    HDA ATI HDMI, HDMI 5
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample mixing device
dmix:CARD=HDMI,DEV=7
    HDA ATI HDMI, HDMI 1
    Direct sample mixing device
dmix:CARD=HDMI,DEV=8
    HDA ATI HDMI, HDMI 2
    Direct sample mixing device
dmix:CARD=HDMI,DEV=9
    HDA ATI HDMI, HDMI 3
    Direct sample mixing device
dmix:CARD=HDMI,DEV=10
    HDA ATI HDMI, HDMI 4
    Direct sample mixing device
dmix:CARD=HDMI,DEV=11
    HDA ATI HDMI, HDMI 5
    Direct sample mixing device
usbstream:CARD=HDMI
    HDA ATI HDMI
    USB Stream Output
hw:CARD=Generic_1,DEV=3
    HD-Audio Generic, HDMI 0
    Direct hardware device without any conversions
hw:CARD=Generic_1,DEV=7
    HD-Audio Generic, HDMI 1
    Direct hardware device without any conversions
hw:CARD=Generic_1,DEV=8
    HD-Audio Generic, HDMI 2
    Direct hardware device without any conversions
hw:CARD=Generic_1,DEV=9
    HD-Audio Generic, HDMI 3
    Direct hardware device without any conversions
plughw:CARD=Generic_1,DEV=3
    HD-Audio Generic, HDMI 0
    Hardware device with all software conversions
plughw:CARD=Generic_1,DEV=7
    HD-Audio Generic, HDMI 1
    Hardware device with all software conversions
plughw:CARD=Generic_1,DEV=8
    HD-Audio Generic, HDMI 2
    Hardware device with all software conversions
plughw:CARD=Generic_1,DEV=9
    HD-Audio Generic, HDMI 3
    Hardware device with all software conversions
hdmi:CARD=Generic_1,DEV=0
    HD-Audio Generic, HDMI 0
    HDMI Audio Output
hdmi:CARD=Generic_1,DEV=1
    HD-Audio Generic, HDMI 1
    HDMI Audio Output
hdmi:CARD=Generic_1,DEV=2
    HD-Audio Generic, HDMI 2
    HDMI Audio Output
hdmi:CARD=Generic_1,DEV=3
    HD-Audio Generic, HDMI 3
    HDMI Audio Output
dmix:CARD=Generic_1,DEV=3
    HD-Audio Generic, HDMI 0
    Direct sample mixing device
dmix:CARD=Generic_1,DEV=7
    HD-Audio Generic, HDMI 1
    Direct sample mixing device
dmix:CARD=Generic_1,DEV=8
    HD-Audio Generic, HDMI 2
    Direct sample mixing device
dmix:CARD=Generic_1,DEV=9
    HD-Audio Generic, HDMI 3
    Direct sample mixing device
usbstream:CARD=Generic_1
    HD-Audio Generic
    USB Stream Output
front:CARD=Generic
    Front output / input
surround21:CARD=Generic
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=Generic
    HD-Audio Generic
    USB Stream Output
hw:CARD=Audio,DEV=0
    USB Audio, USB Audio
    Direct hardware device without any conversions
hw:CARD=Audio,DEV=1
    USB Audio, USB Audio #1
    Direct hardware device without any conversions
hw:CARD=Audio,DEV=2
    USB Audio, USB Audio #2
    Direct hardware device without any conversions
hw:CARD=Audio,DEV=3
    USB Audio, USB Audio #3
    Direct hardware device without any conversions
plughw:CARD=Audio,DEV=0
    USB Audio, USB Audio
    Hardware device with all software conversions
plughw:CARD=Audio,DEV=1
    USB Audio, USB Audio #1
    Hardware device with all software conversions
plughw:CARD=Audio,DEV=2
    USB Audio, USB Audio #2
    Hardware device with all software conversions
plughw:CARD=Audio,DEV=3
    USB Audio, USB Audio #3
    Hardware device with all software conversions
default:CARD=Audio
    USB Audio, USB Audio
    Default Audio Device
sysdefault:CARD=Audio
    USB Audio, USB Audio
    Default Audio Device
front:CARD=Audio,DEV=0
    USB Audio, USB Audio
    Front output / input
surround21:CARD=Audio,DEV=0
    USB Audio, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Audio,DEV=0
    USB Audio, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Audio,DEV=0
    USB Audio, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Audio,DEV=0
    USB Audio, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Audio,DEV=0
    USB Audio, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Audio,DEV=0
    USB Audio, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Audio,DEV=0
    USB Audio, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
iec958:CARD=Audio,DEV=1
    USB Audio, USB Audio #1
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Audio,DEV=0
    USB Audio, USB Audio
    Direct sample mixing device
dmix:CARD=Audio,DEV=1
    USB Audio, USB Audio #1
    Direct sample mixing device
dmix:CARD=Audio,DEV=2
    USB Audio, USB Audio #2
    Direct sample mixing device
dmix:CARD=Audio,DEV=3
    USB Audio, USB Audio #3
    Direct sample mixing device
usbstream:CARD=Audio
    USB Audio
    USB Stream Output

Alsamixer also showed me two HDMI sound device but I have only one GPU. The other one could an onboard graphics on my motherboard but I have a (MPG-X670E-CARBON-WIFI) which do support it but through APUs but mine (AMD Ryzen 9 7950X) doesn't have one so I don't know where that second one came from. Even stranger, with my Zoom H5 unplugged I don't know where that USB one came from. I'm starting to believe that MSI wired that sound card on a USB bus and that's why I'm so confused.
This is where it's staring to get funny because scrolling the internet it looks like my sound card (an ALC4080) is getting consistently reported as a ALC1220 (e.g. https://www.reddit.com/r/linuxquestions/comments/p7xbna/no_headphone_sound_alc4080/)
Still scrolling the internet deeper I'm finding stuff like: https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/USB-Audio/Realtek/ALC4080-HiFi.conf which is leading me to believe my sound card is wired on the USB bus in the motherboard for some reason.
This finding lead me to investigate if that's actually a thing for me and it looks like, indeed it is wired as a usb device in the motherboard. I have to admit, that's something I have never seen before. Here is the piece of lsusb to show what I'm talking about:
Code:

/:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 002: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 056a:033b Wacom Co., Ltd CTL-490 [Intuos Draw (S)]
    |__ Port 002: Dev 002, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 056a:033b Wacom Co., Ltd CTL-490 [Intuos Draw (S)]
    |__ Port 002: Dev 002, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        ID 056a:033b Wacom Co., Ltd CTL-490 [Intuos Draw (S)]
    |__ Port 003: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID fffe:0005
    |__ Port 003: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID fffe:0005
    |__ Port 008: Dev 004, If 0, Class=Wireless, Driver=[none], 480M
        ID 0e8d:0616 MediaTek Inc.
    |__ Port 008: Dev 004, If 1, Class=Wireless, Driver=[none], 480M
        ID 0e8d:0616 MediaTek Inc.
    |__ Port 008: Dev 004, If 2, Class=Wireless, Driver=[none], 480M
        ID 0e8d:0616 MediaTek Inc.
    |__ Port 009: Dev 005, If 0, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 1, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 2, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 3, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 4, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 5, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 6, Class=Audio, Driver=snd-usb-audio, 480M
        ID 0db0:d6e7 Micro Star International
    |__ Port 009: Dev 005, If 7, Class=Human Interface Device, Driver=usbhid, 480M
        ID 0db0:d6e7 Micro Star International

Sadly, even after those discoveries, it looks like the problem remain. alsamixer doesn't give me any control on that sound device.
That being said, after knowing all that I enabled snd_usb_audio so now I get an aplay -L output that makes sense (somewhat):
Code:

null
    Discard all samples (playback) or generate zero samples (capture)
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, Generic Digital
    HDMI Audio Output
hdmi:CARD=Generic_1,DEV=0
    HD-Audio Generic, Generic Digital
    HDMI Audio Output
front:CARD=Generic
    Front output / input
surround21:CARD=Generic
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers

I also now have mistery on why the HDMI one is getting reported twice (or where the other come from) but it's neither the topic of this thread and I'm okay not knowing why as I don't intend to use HDMI audio at all. I'm going to just remove them through kernel commandline later anyway. On that USB card though, I've never dealt with usb sound card before and the documentation (https://wiki.gentoo.org/wiki/ALSA) doesn't seems to say I should do anything particular about it so I'm not sure why it wouldn't work not that aplay is showing something sensible.

Also, you asked me for my full dmesg: https://pastebin.com/raw/6ygNS1S6
and my .config: https://pastebin.com/raw/sNTP3hCQ
_________________
uname -a: Linux vega 6.12.2-gentoo #7 SMP PREEMPT_DYNAMIC Sun Dec 8 18:55:36 EET 2024 x86_64 AMD Ryzen 9 7950X 16-Core Processor AuthenticAMD GNU/Linux
clang : clang version 19.1.5
window manager : i3 version 4.23 (2023-10-29) (with some patches)
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Sun Dec 08, 2024 10:38 pm    Post subject: Reply with quote

I can see from your kernel .config that you already have a lot of experience with configuring a kernel. You have already done what I always recommend: Boot with a LiveCD and check with “lsmod” which modules have been loaded. That will certainly help here.

It may already help if you enable CONFIG_SND_HDA_CODEC_HDMI ... but I suspect that we need even more. Have a look at this module list:
Code:
i2c_piix4              28672  0
i2c_designware_pci     16384  0
xhci_pci_renesas       20480  1 xhci_pci
i2c_ccgx_ucsi          16384  1 i2c_designware_pci
gpio_amdpt

... and then at your settings in the .config:
Code:
# DesignWare-based PCIe controllers
#
...
# CONFIG_PCIE_DW_PLAT_HOST is not set

CONFIG_I2C_I801=y   (1)
# CONFIG_I2C_PIIX4 is not set    (2)
# CONFIG_I2C_DESIGNWARE_CORE is not set
# CONFIG_PINCTRL_AMD is not set    (3)
# CONFIG_USB_XHCI_PCI_RENESAS is not set

I suspect that the CONFIG_USB_XHCI_PCI_RENESAS could be very important BECAUSE your sound is connected via USB. Also, you have enabled the i2c driver for Intel (1) instead of the one for AMD (2). pinctrl (3) is completely missing (i2c requires pinctrl!)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Sun Dec 08, 2024 11:03 pm    Post subject: Reply with quote

P.S.: I forgot something ... :oops:

Please do a "cpuid | grep x2APIC". If you get "x2APIC: extended xAPIC support = true" THEN you MUST do:
1. enable CONFIG_IRQ_REMAP
2. enable CONFIG_X86_X2APIC
(you must first enable 1, because 2 depends on 1)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Sun Dec 08, 2024 11:12 pm    Post subject: Reply with quote

P.P.S.:

I have only checked Sound, USB and system ... now I have accidentally seen this (in case you have problems with the graphics):
Code:
[    3.177743] Loading firmware: amdgpu/psp_13_0_5_toc.bin
[    3.177760] amdgpu 0000:18:00.0: Direct firmware load for amdgpu/psp_13_0_5_toc.bin failed with error -2
[    3.177769] [drm:amdgpu_device_init.cold] *ERROR* early_init of IP block <psp> failed -19
[    3.177779] Loading firmware: amdgpu/dcn_3_1_5_dmcub.bin
[    3.177790] amdgpu 0000:18:00.0: Direct firmware load for amdgpu/dcn_3_1_5_dmcub.bin failed with error -2
[    3.177798] [drm:amdgpu_device_init.cold] *ERROR* early_init of IP block <dm> failed -19
[    3.177806] Loading firmware: amdgpu/gc_10_3_6_pfp.bin
[    3.177816] amdgpu 0000:18:00.0: Direct firmware load for amdgpu/gc_10_3_6_pfp.bin failed with error -2
[    3.177823] [drm:amdgpu_device_init.cold] *ERROR* early_init of IP block <gfx_v10_0> failed -19
[    3.177832] Loading firmware: amdgpu/sdma_5_2_6.bin
[    3.177842] amdgpu 0000:18:00.0: Direct firmware load for amdgpu/sdma_5_2_6.bin failed with error -2
[    3.177849] [drm:amdgpu_device_init.cold] *ERROR* early_init of IP block <sdma_v5_2> failed -19
[    3.177858] Loading firmware: amdgpu/vcn_3_1_2.bin
[    3.177868] amdgpu 0000:18:00.0: Direct firmware load for amdgpu/vcn_3_1_2.bin failed with error -2

(I assume you know what to do ;-) )
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
newin
n00b
n00b


Joined: 27 Oct 2012
Posts: 31

PostPosted: Mon Dec 09, 2024 12:01 am    Post subject: Reply with quote

That's some very nice catch you got ! I didn't know about CONFIG_IRQ_REMAP and x2APIC thanks !
I also saw those a while ago then forgot about them, surprisingly I don't have any issue with my graphics. Which is very surprising seeing the type of error and what I do with my GPU (I'm a graphics programmer). I'll probably fix that when I/we are done with that sound issue.

I also came across a snd_hda_intel 0000:18:00.6: no codecs found! that I missed in my dmesg before which would point into the CONFIG_SND_HDA_CODEC_HDMI you mentioned. I tried, didn't fix the issue, so I tried to go ballistic and just enable all codec. Which still didn't help.
Then I got the very nice idea to actually try my audio on the livecd, here is what I found:
It looks like alsa is reporting one sound device per screen despite being plugged on the same GPU. That's one mystery down.
Now alsamixer on the live do have the right controls but (and that's the interesting part) I the sound doesn't work. It does no problem on HDMI but it doesn't on the jack.
That lead me to check why it wouldn't work on the live... and a dmesg later I came across that line same line:
Code:

snd_hda_intel 0000:18:00.6: no codecs found!

At this point I would start to believe my sound card is just not supported but I'm seeing people on the internet talking like it is.
That's where I started to dig deeper into the world wide web. Then I found this: https://bugzilla.kernel.org/show_bug.cgi?id=211273
Am I rock bottom and that's a driver bug ? :(
_________________
uname -a: Linux vega 6.12.2-gentoo #7 SMP PREEMPT_DYNAMIC Sun Dec 8 18:55:36 EET 2024 x86_64 AMD Ryzen 9 7950X 16-Core Processor AuthenticAMD GNU/Linux
clang : clang version 19.1.5
window manager : i3 version 4.23 (2023-10-29) (with some patches)
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Mon Dec 09, 2024 2:35 am    Post subject: Reply with quote

Hmmm ... if it works with Ubuntu it has to work with Gentoo also ...

The reason I asked for "lspci -nnk" is that we can see there the Manufactor ID ... and sometimes you will find interesting pages when you google for "1022:15e3" (or "linux 1022:15e3" or gentoo ...) ... Oh no ... we have two machines with that sound in our Wiki:

https://wiki.gentoo.org/wiki/ROG_Zephyrus_G14_(2022)_GA402#Kernel
https://wiki.gentoo.org/wiki/HP_Elitebook_845_G10

... and I found also: https://cateee.net/lkddb/web-lkddb/SND_SOC_AMD_ACP3x.html
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
newin
n00b
n00b


Joined: 27 Oct 2012
Posts: 31

PostPosted: Mon Dec 09, 2024 6:53 pm    Post subject: Reply with quote

I just realised what I said earlier was looking a bit confused. I couldn't get sound on the ubuntu live I have of that sound card. Both my gentoo and my ubuntu live are giving me the same "no codecs found!" error. I couldn't get sound with that card on both.
Also, the two example you linked are laptop and the kernel SND_SOC_AMD_ACP* are described as SOC, that also include the link I posted at the very beginning.
That lead me to believe the card doesn't work outside of an SOC configuration.
The only instance of that card mentioned on linux is this HW probe: https://linux-hardware.org/?probe=f57c7238f4 (which is exactly my motherboard surprisingly). It only mention a "detected" not "works".
In doubt I tried the SOC_AMD_ACP in version 3x like you linked or with the v6 that is mentioned in the ROG setup but none of them worked.
At this point, I kind of lost hope to see it getting it to work at all. This lead me to change my setup and use my HDMI output instead. I could get it working in a couple minutes. I just have one strange bug where the meters in alsamixer I've configured in my /etc/asound.conf don't appear until I start speaker-test for some reason, but I guess that's another story.

If you don't have any ideas anymore I think I will close this on a Jean Luc Picard quote “It is possible to commit no mistakes and still lose.” :(
_________________
uname -a: Linux vega 6.12.2-gentoo #7 SMP PREEMPT_DYNAMIC Sun Dec 8 18:55:36 EET 2024 x86_64 AMD Ryzen 9 7950X 16-Core Processor AuthenticAMD GNU/Linux
clang : clang version 19.1.5
window manager : i3 version 4.23 (2023-10-29) (with some patches)
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Mon Dec 09, 2024 10:29 pm    Post subject: Reply with quote

If a hardware does not work under Ubuntu it usually means that:

a) it is too new and no kernel drivers exist for it yet (because Ubuntu patches the kernel extensively), or
b) an old Ubuntu version is still being used.

So if you have used the latest Ubuntu ... I see black ...and we probably have to wait for new kernel versions. :(


P.S.: I am (also) a big fan of Jean Luc Picard. :D
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
jrittenh
Tux's lil' helper
Tux's lil' helper


Joined: 10 Feb 2005
Posts: 94

PostPosted: Fri Jan 10, 2025 8:29 pm    Post subject: Reply with quote

Just wanted to come in and say that this thread may not have solved OP's issue, but it solved mine! Who would've thunk onboard audio might be wired as a USB device?! Why isn't CONFIG_IRQ_REMAP required for CONFIG_X86_X2APIC to be enabled? Regardless, I now have sound, so thank you!
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5338
Location: Bavaria

PostPosted: Sat Jan 11, 2025 2:52 am    Post subject: Reply with quote

jrittenh wrote:
[...] Why isn't CONFIG_IRQ_REMAP required for CONFIG_X86_X2APIC to be enabled?

If you look into the <Help> of CONFIG_X86_X2APIC you will see this dependency:
Code:
Depends on: X86_LOCAL_APIC [=y] && X86_64 [=y] && (IRQ_REMAP [=y] || HYPERVISOR_GUEST [=n])

The || is a logicol OR - one of them must be enabled to get this option ... and because PO had no CONFIG_HYPERVISOR_GUEST enabled (just like me), I therefore have recommended to enable CONFIG_IRQ_REMAP (I have also) to get this option.

jrittenh wrote:
[...] Regardless, I now have sound, so thank you!

Happy to hear that. You are very Welcome! :D
_________________
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