OpenSuse Tumbleweed - ALSA not seeing audio

Hey everyone,

So I’m having a little trouble with ALSA seeing my audio output from my NVIDIA card.
I moved to OpenSuse Tumbleweed from Debian 10 Buster, on buster the Display Port would send audio out to my monitor, and I would have a sound card that I could change between the internal PC audio, and the display port audio.
I’m running ALSA version k5.6.11-1-default, and kernel 5.6.11-1-default

As you can see, the output of aplay -L only sees my Intel card.

sudo aplay -L

null
Discard all samples (playback) or generate zero samples (capture)

sysdefault

Default Audio Device

speexrate

Rate Converter Plugin Using Speex Resampler

pulse

PulseAudio Sound Server

upmix

Plugin for channel upmix (4,6,8)

default

Default ALSA Output (currently PulseAudio Sound Server)

sysdefault:CARD=PCH

HDA Intel PCH, ALC233 Analog

Default Audio Device

front:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

Front speakers

surround21:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

2.1 Surround output to Front and Subwoofer speakers

surround40:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

4.0 Surround output to Front and Rear speakers

surround41:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

4.1 Surround output to Front, Rear and Subwoofer speakers

surround50:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

5.0 Surround output to Front, Center and Rear speakers

surround51:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

5.1 Surround output to Front, Center, Rear and Subwoofer speakers

surround71:CARD=PCH,DEV=0

HDA Intel PCH, ALC233 Analog

7.1 Surround output to Front, Center, Side, Rear and Woofer speakers

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


The same can be seen in /proc/asound/cards

cat /proc/asound/cards
0 [C920 ]: USB-Audio - HD Pro Webcam C920

HD Pro Webcam C920 at usb-0000:00:14.0-1.2, high speed

1 [PCH ]: HDA-Intel - HDA Intel PCH
 HDA Intel PCH at 0xb4230000 irq 142

My P400 NVIDIA Quadro card is detected and can been seen, and is working normally.

sudo lspci


[sudo] password for root:


00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)


00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)


00:02.0 Display controller: Intel Corporation UHD Graphics 630 (Desktop)


00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model


00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)


00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)


00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)


00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)


00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 (rev 10)


00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)


00:16.3 Serial controller: Intel Corporation Cannon Lake PCH Active Management Technology - SOL (rev 10)


00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10)


00:1e.0 Communication controller: Intel Corporation Cannon Lake PCH Serial IO UART Host Controller (rev 10)


00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 10)


00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)


00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)


00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)


00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10)


01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P400] (rev a1)

I’m assuming that the ALSA kernel modules are not correctly loaded, which is why tumbleweed is not seeing my NVIDIA audio card, but I am fairly new to openSuse, and only just beginning my journey into Linux.

If this is the case, then how do I update the ALSA?

Hi
I manually set the default sink here (I do use the intel display port, nvidia is used elsewhere);


{run as user}
pacmd list-sinks | grep alsa_output

name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo>

{edit default.pa as root user}
cat /etc/pulse/default.pa | grep alsa_output

set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo

Plus you system is out of date… (20200528, 5.6.14-1-default) is this because you use the repository nvidia drivers?


pinxi -GAxxz

Graphics:  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:016a 
           Device-2: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: nvidia v: 440.82 bus ID: 02:00.0 chip ID: 10de:128b 
           Device-3: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: nvidia v: 440.82 bus ID: 05:00.0 chip ID: 10de:128b 
           Device-4: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: nvidia v: 440.82 bus ID: 06:00.0 chip ID: 10de:128b 
           Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,nvidia,vesa alternate: intel,nouveau,nv 
           compositor: gnome-shell resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics P4000 (IVB GT2) v: 4.2 Mesa 20.0.7 compat-v: 3.0 direct render: Yes 
Audio:     Device-1: Intel 7 Series/C216 Family High Definition Audio driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
           chip ID: 8086:1e20 
           Device-2: NVIDIA GK208 HDMI/DP Audio vendor: ZOTAC driver: snd_hda_intel v: kernel bus ID: 02:00.1 
           chip ID: 10de:0e0f 
           Device-3: NVIDIA GK208 HDMI/DP Audio vendor: ZOTAC driver: snd_hda_intel v: kernel bus ID: 05:00.1 
           chip ID: 10de:0e0f 
           Device-4: NVIDIA GK208 HDMI/DP Audio vendor: ZOTAC driver: snd_hda_intel v: kernel bus ID: 06:00.1 
           chip ID: 10de:0e0f 
           Sound Server: ALSA v: k5.6.14-1-default 

It looks a little out of date as I wrote this issue down last week, but had trouble connecting to the forums here. I’ve actually updated the system, and kept it updated.
I am currently using the proprietary drivers, but I have also tried the ones installed from the opensuse repo. I decided to install the NVIDIA drivers the hard way to see if it would resolve the issue. (obviously it did not).

I will removed the NVIDIA drivers later, and go back to the repo ones.

I think that this may be a bug with the kernel ALSA drivers, as my intel card seems to take up all of the channels. I remember reading about this somewhere. So I am thinking that I may have to either update the ALSA drivers, or roll back to kernel 5.5.

pacmd list-sinks | grep alsa_output
        name: <**alsa_output**.pci-0000_00_1f.3.analog-stereo>

I don’t have any NVIDIA spund card, or pass through sound card listed.


 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xb4230000 irq 142
 1 [C920           ]: USB-Audio - HD Pro Webcam C920
                      HD Pro Webcam C920 at usb-0000:00:14.0-7.2, high speed

Hi
I use the ‘hard way’ here :wink: I would guess it’s a bug, but you would need to switch back to the nouveau driver and duplicate before creating a bug report…

So I have removed the NVIDIA drivers, and reinstalled them via the OpenSuse repository.

I am reading through the document here https://download.nvidia.com/XFree86/gpu-hdmi-audio-document/#issues_in_alsa
In section 10.3 it talks about under emulation of logical devices, and I’m wondering it this could be the issue.

when I run aplay -L

aplay -L      
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
speexrate
    Rate Converter Plugin Using Speex Resampler
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
default
    Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=PCH
    HDA Intel PCH, ALC233 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC233 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
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


I don’t see any NVIDIA here at all, only my onboard Intel.

I’m thinking that to test if this is the issue, I either need to upgrade ALSA, or roll back the kernel.
Neither of these I have done before, as I am fairly new to Linux. Do you think this could be the issue?

I would like to be able to identify exactly where the problem is, before I raise a bug report.

I wonder if you’re impacted by this regression perhaps…
https://lists.opensuse.org/opensuse-factory/2020-02/msg00307.html

If you’re dealing with HDMI audio with Nvidia binary driver, there was
a known regression regarding HDMI hotplug notification on 5.5 kernel,
and it got already fixed in the later 5.5.y kernel. You can try the
kernel package from OBS Kernel:stable repo.

The problem I’m seeing is that yast doesn’t even see my NVIDIA audio output. There is no card registered at all.
I know it works as I’ve had it running under Debian 10, POP_OS, Fedora and Ubuntu.

I’m running the 5.6 kernel

Linux BPOSTP 5.6.14-1-default #1 SMP Wed May 20 08:32:48 UTC 2020 (b0ab48a) x86_64 x86_64 x86_64 GNU/Linux

Post the output from…

inxi -Axx

Uninstall nouveau drivers before installing Nvidia’s drivers.

inxi -Axx
Audio:     Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           chip ID: 8086:a348 
           Device-2: Logitech HD Pro Webcam C920 type: USB driver: snd-usb-audio,uvcvideo bus ID: 1-7.2:6 chip ID: 046d:082d 
           Sound Server: ALSA v: k5.6.14-1-default 

Do I really need to remove the nouveau driver, or can I just black list it?
I have no need to use the nouveau driver, so what is the best way to remove it?

As you can see from the output below, the nouveau driver is not active.


sudo hwinfo --gfxcard
[sudo] password for root:  
14: PCI 100.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.386]
  Unique ID: VCu0.g+ylvXnVp14
  Parent ID: vSkL.dL7kjuV0b+6
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia GP107GL [Quadro P400]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1cb3 "GP107GL [Quadro P400]"
  SubVendor: pci 0x10de "nVidia Corporation"
  SubDevice: pci 0x11be  
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xb3000000-0xb3ffffff (rw,non-prefetchable)
  Memory Range: 0xa0000000-0xafffffff (ro,non-prefetchable)
  Memory Range: 0xb0000000-0xb1ffffff (ro,non-prefetchable)
  I/O Ports: 0x3000-0x3fff (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 143 (12205 events)
  Module Alias: "pci:v000010DEd00001CB3sv000010DEsd000011BEbc03sc00i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_drm is active
    Driver Activation Cmd: "modprobe nvidia_drm"
  Driver Info #2:
    Driver Status: nvidia is active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #11 (PCI bridge)

23: PCI 02.0: 0380 Display controller
  [Created at pci.386]
  Unique ID: _Znp.NfGdP8D8WA5
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "Onboard - Video"
  Model: "Intel UHD Graphics 630 (Desktop)"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x3e92 "UHD Graphics 630 (Desktop)"
  SubVendor: pci 0x17aa "Lenovo"
  SubDevice: pci 0x3138  
  Driver: "i915"
  Driver Modules: "i915"
  Memory Range: 0xb2000000-0xb2ffffff (rw,non-prefetchable)
  Memory Range: 0x90000000-0x9fffffff (ro,non-prefetchable)
  I/O Ports: 0x4000-0x403f (rw)
  IRQ: 125 (227 events)
  Module Alias: "pci:v00008086d00003E92sv000017AAsd00003138bc03sc80i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #14

I have also been in contact with the NVIDIA support team, below is the response from them.

If this is still not working, I reasonable next step would be to upgrade your alsa driver per 12.1 in the document.

“For other distributions, the ALSA driver is relatively easy to build on its own, for many arbitrary kernel versions. See http://alsa-project.org/ for details.”

If this is a possible solution, then any help in doing this would be appreciated, as its new territory for me.

Regards

If you install the alsa firmware it might help.

I have this problem too; switched from an AMD to an nVidia card (Geforce GTX 950), and now I can’t output sound to HDMI anymore. No idea what to do. I don’t have nvidia in /proc/asound/cards or in hwinfo, but it is there in lspci -H1.

Nevermind, the AMD card is broken in the other computer I put it in as well, so I had to switch back.
Never nvidia!!!