New install, missing sound

new_vintage

New Member
Joined
May 2, 2024
Messages
11
Reaction score
6
Credits
98
I am trying to bring up a new machine. AMD 5700G, ASUS Prime B550-Plus mobo. OS is openSuSE Leap 15.5 . Everything works except sound.

The motherboard manual says:

Realtek ALC 887 7.1-Channel High Definition Audio CODEC

inxi -Axx says:

Code:
user@opensuse:~> inxi -Axx
Audio:
  Device-1: AMD Renoir Radeon High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 07:00.1 chip-ID: 1002:1637
  Device-2: AMD Family 17h/19h HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 07:00.6 chip-ID: 1022:15e3
  Sound API: ALSA v: k5.14.21-150500.55.59-default running: yes
  Sound Server-1: PulseAudio v: 15.0 running: yes
  Sound Server-2: PipeWire v: 0.3.64 running: yes

These devices seem to be built into the CPU for audio through HDMI to the monitor speakers. Doesn't help me since I have a separate 5.1 speaker system.

opensuse's yast sound app says:

Sound Configuration

Index Card Model
Not configured Family 17h (Models 10h-1fh) HD Audio Controller
Not configured ATI Technologies Inc

These can be manually configured or autoconfigured but of course it makes no difference.

So it sure looks like the Realtek ALC 887 is not being detected. It almost seems like I need a driver, but the Realtex ALC 887 has been around for years, so I would expect it to be in the kernel. Any ideas?
 


I had visited that page earlier. I didn't expect it to work:

1) The original post is 14 years old, although there was followup. Hopefully since then that particular problem has been addressed.
2) The directory mentioned in opensuse leap 15.5 does not contain a file named alsa-base.conf, nor does the entire filesystem.

I tried it anyway with no success. No error messages, no detectable difference. I've renamed alsa-based.conf to avoid possible future complications.

alsamixer runs on this system without error messages but does not teach me anything useful.

Another tidbit I saw: someone found that
Code:
pulseaudio --kill
pulseaudio --start
fixed the problem.

Not in my case.
 
For some sound codecs, the RPM "alsa-firmware" (which is not installed by default; I think) is needed to provide sound functionality The journal can be checked for messages relating to firmware if necessary.
sudo journalctl -b | grep firmware
To see if you have alsa-firmware installed, type the following command in a terminal:
rpm -q alsa alsa-utils alsa-firmware
If it is not installed
sudo zypper in alsa-firmware
Reboot
 
Frustrating issue. Some suggestions for more info:

Check the codecs that the system has provided:
Code:
cat /proc/asound/card*/codec* | grep Codec

Check for missing firmware
Code:
dmesg | grep - firmware

Check sound server status:
Code:
systemctl --user status pulseaudio.service

Check what's controlling the sound devices:
Code:
lsof /dev/snd/*

If you paste the output here in code tags, readers may have some ideas.
 
For some sound codecs, the RPM "alsa-firmware" (which is not installed by default; I think) is needed to provide sound functionality The journal can be checked for messages relating to firmware if necessary.

To see if you have alsa-firmware installed, type the following command in a terminal:

If it is not installed

Reboot
Code:
mad_hatter@rabbit_hole:~> sudo journalctl -b | grep firmware

May 12 20:47:38 rabbit_hole kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
May 12 20:47:41 rabbit_hole kernel: [drm] Loading DMUB firmware via PSP: version=0x01010027
May 12 20:47:41 rabbit_hole kernel: [drm] Found VCN firmware Version ENC: 1.20 DEC: 6 VEP: 0 Revision: 0
May 12 20:47:41 rabbit_hole kernel: amdgpu 0000:07:00.0: amdgpu: Will use PSP to load VCN firmware
May 12 20:47:43 rabbit_hole NetworkManager[1077]: <info>  [1715561263.7959] manager[0x5627d0aa8000]: monitoring kernel firmware directory '/lib/firmware'.
May 12 20:47:48 rabbit_hole systemd[1]: Startup finished in 9.541s (firmware) + 2.234s (loader) + 983ms (kernel) + 4.981s (initrd) + 5.361s (userspace) = 23.102s.

mad_hatter@rabbit_hole:~> rpm -q alsa-utils alsa-firmware
alsa-utils-1.2.8-150500.1.2.x86_64
package alsa-firmware is not installed

mad_hatter@rabbit_hole:~> sudo zypper in alsa-firmware
Checking for file conflicts: .................................................................[done]
(1/1) Installing: alsa-firmware-1.2.4-1.41.noarch ............................................[done]

Rebooted, bottom line, no change.

Frustrating issue. Some suggestions for more info:

Check the codecs that the system has provided:
Code:
cat /proc/asound/card*/codec* | grep Codec

Check for missing firmware
Code:
dmesg | grep - firmware

Check sound server status:
Code:
systemctl --user status pulseaudio.service

Check what's controlling the sound devices:
Code:
lsof /dev/snd/*

If you paste the output here in code tags, readers may have some ideas.

Code:
mad_hatter@rabbit_hole:~> cat /proc/asound/card*/codec* | grep Codec
Codec: ATI R6xx HDMI

mad_hatter@rabbit_hole:~> cd /proc/asound/
mad_hatter@rabbit_hole:/proc/asound> ls
card0  card1  cards  devices  Generic  Generic_1  hwdep  modules  oss  pcm  seq  timers  version

mad_hatter@rabbit_hole:/proc/asound> cd card0

mad_hatter@rabbit_hole:/proc/asound/card0> ls
codec#0  eld#0.0  eld#0.1  id  pcm3p  pcm7p

mad_hatter@rabbit_hole:/proc/asound/card0> cat codec#0
Codec: ATI R6xx HDMI

Ominous. I snipped the lengthy specs since it's all ATI/AMD stuff.

Code:
mad_hatter@rabbit_hole:/proc/asound> cd card1

mad_hatter@rabbit_hole:/proc/asound/card1> ls
id

mad_hatter@rabbit_hole:/proc/asound/card1> cat id
Generic

mad_hatter@rabbit_hole:/proc/asound/card1> cd ..

mad_hatter@rabbit_hole:/proc/asound> ls
card0  card1  cards  devices  Generic  Generic_1  hwdep  modules  oss  pcm  seq  timers  version

mad_hatter@rabbit_hole:/proc/asound> cat cards
 0 [Generic_1      ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfcc88000 irq 100
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfcc80000 irq 101

Related to the Intel/Realtek chip I need to get working, I think.

Code:
mad_hatter@rabbit_hole:/proc/asound> cat devices
  2: [ 1]   : control
  3: [ 0- 3]: digital audio playback
  4: [ 0- 7]: digital audio playback
  5: [ 0- 0]: hardware dependent
  6: [ 0]   : control
 33:        : timer

mad_hatter@rabbit_hole:/proc/asound> cat hwdep
00-00: HDA Codec 0

mad_hatter@rabbit_hole:/proc/asound> cat modules
 0 snd_hda_intel
 1 snd_hda_intel

mad_hatter@rabbit_hole:/proc/asound> cat pcm
00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1

mad_hatter@rabbit_hole:/proc/asound> cat timers
G0: system timer : 4000.000us (10000000 ticks)
P0-3-0: PCM playback 0-3-0 : SLAVE
P0-7-0: PCM playback 0-7-0 : SLAVE

mad_hatter@rabbit_hole:/proc/asound> cat version
Advanced Linux Sound Architecture Driver Version k5.14.21-150500.55.59-default.

mad_hatter@rabbit_hole:/proc/asound> sudo dmesg | grep - firmware
grep: firmware: No such file or directory

mad_hatter@rabbit_hole:/proc/asound> systemctl --user status pulseaudio.service
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-05-13 08:40:56 EDT; 22min ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 1928 (pulseaudio)
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/pulseaudio.service
             └─ 1928 /usr/bin/pulseaudio --daemonize=no --log-target=journal

mad_hatter@rabbit_hole:/proc/asound> lsof /dev/snd/*
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 1928 mad_hatter   18u   CHR  116,6      0t0  762 /dev/snd/controlC0
pulseaudi 1928 mad_hatter   23u   CHR  116,6      0t0  762 /dev/snd/controlC0

I think the problem is AMD CPU audio vs Realtek/Intel motherboard audio. I already check the BIOS CPU configuration to see whether I could turn audio off. No joy.
 
@new_vintage
According to your output in your post #6 pulseaudio service is disabled.

So you might want to enabled it with:

Bash:
systemctl --user enable pulseaudio

#Make sure it was enabled with
systemctl --user status pulseaudio

# If not run and check again
sudo systemctl enable pulseaudio

And then reboot system if the service was enabled.
 
@new_vintage
According to your output in your post #6 pulseaudio service is disabled.

So you might want to enabled it with:

Bash:
systemctl --user enable pulseaudio

#Make sure it was enabled with
systemctl --user status pulseaudio

# If not run and check again
sudo systemctl enable pulseaudio

And then reboot system if the service was enabled.
Code:
mad_hatter@rabbit_hole:~> systemctl --user enable pulseaudio
Created symlink /home/mad_hatter/.config/systemd/user/default.target.wants/pulseaudio.service → /usr/lib/systemd/user/pulseaudio.service.
Created symlink /home/mad_hatter/.config/systemd/user/sockets.target.wants/pulseaudio.socket → /usr/lib/systemd/user/pulseaudio.socket.
mad_hatter@rabbit_hole:~> systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-05-13 11:44:24 EDT; 19min ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 26801 (pulseaudio)
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/pulseaudio.service
             └─ 26801 /usr/bin/pulseaudio --daemonize=no --log-target=journal

reboot

Code:
mad_hatter@rabbit_hole:~> systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-05-13 12:16:52 EDT; 39s ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 1797 (pulseaudio)
     CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/pulseaudio.service
             └─ 1797 /usr/bin/pulseaudio --daemonize=no --log-target=journal

Still no sound, but at least pulseaudio is autostarting at boot time. Now if I could only figure out how to tell it which chip to use. I wish I had a monitor with speakers so I could at least verify my suspicion that the AMD/ATI CPU sound is actually working.
 
@new_vintage , here are some considerations.

The system appears to not see the codec for the system sound card, but only the audio codec on the Radeon video card from the output in your post #6:
Code:
mad_hatter@rabbit_hole:~> cat /proc/asound/card*/codec* | grep Codec
Codec: ATI R6xx HDMI

This is similar to what it ought to look like (e.g. with nvidia instead of amd and a slightly different codec):
Code:
cat /proc/asound/card*/codec* | grep Codec
Codec: Realtek ALC897
Codec: Nvidia GPU 51 HDMI/DP

You likely don't need to download any separate drivers for your Realtek ALC887 audio card since most modern linux distros include generic audio drivers that work well with this sound card.

To check that the sound card can run, run:
Code:
aplay -l
This command lists all the sound cards available on your system. If you see something like
"card 0: PCH [HDA Intel PCH],"
then your ALC887 is being recognized by the system.

If not, then not.

Here's an example on a machine here with a similar card:
Code:
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC897 Analog [ALC897 Analog]
<snip>

I note that the alsa version on your machine is k5.14.21-150500.55.59-default.
It may be worth upgrading the alsa software. Here the current version is:
k6.7.12-amd64.

A possible solution from my notes from a few years ago was this:

Write a file /etc/modprobe.d/alsa-base.conf as root:
Add the following line at the end of the file:
Code:
options snd-hda-intel model=generic
No guarantees on this, since it was proposed some time in the past.

The other issue is that two sound servers are running, pulseaudio and pipewire according the output in post #1.

It may be worth using pipewire exclusively since it's more advanced than pulseaudio. For pipewire to run the system ought to have at least these packages (or opensuse equivalents) installed:

libpipewire-#
libpipewire-#-common
libpipewire-#-modules
pipewire-alsa
pipewire-audio
pipewire-bin
pipewire-pulse
pipewire
wireplumber

where # is some version number

And note that the pipewire-pulse package starts a pulseaudio-compatible daemon that integrates with the pipewire media server, by running a pipewire process through a systemd service. This daemon is a drop-in replacement for the pulseaudio daemon, so pipewire should handle any pulseaudio on the system.

You can control pipewire and pulseaudio with the systemctl commands:

Code:
systemctl --user <option> pulseaudio.service
systemctl --user <option> pipewire.service
where <option> is one of: start, stop, enable, disable, status.

It may be useful to try only running one sound server, preferably pipeware.
 
Last edited:
To check that the sound card can run, run:
Code:
aplay -l
This command lists all the sound cards available on your system. If you see something like
"card 0: PCH [HDA Intel PCH],"
then your ALC887 is being recognized by the system.

If not, then not.

osprey, thank you for staying interested in this problem.

In light of this:

Code:
mad_hatter@rabbit_hole:~> aplay -l
aplay: device_list:274: no soundcards found...

do you think it worthwhile to try any of your suggestions?

The business with alsa-base.conf in /etc/modprobe.d I had already tried on my own and in response to GatorsFan's post #2 and my response #3 above. openSuSE seems determined to use the CPU sound and ignore the Realtek chip.
 
osprey, thank you for staying interested in this problem.

In light of this:

Code:
mad_hatter@rabbit_hole:~> aplay -l
aplay: device_list:274: no soundcards found...

do you think it worthwhile to try any of your suggestions?

That resulting output from the aplay command is rather decisive. If alsa can't see the sound card, the kernel can't do anything with audio. I should have included that investigation in post #5. What comes to mind is to upgrade the kernel to the latest possible one so that the system gets the latest alsa drivers which hopefully would see the sound card.
 
That resulting output from the aplay command is rather decisive. If alsa can't see the sound card, the kernel can't do anything with audio. I should have included that investigation in post #5. What comes to mind is to upgrade the kernel to the latest possible one so that the system gets the latest alsa drivers which hopefully would see the sound card.
Just to be very clear, there are no cards in this machine. The Realtek is on the motherboard, while the AMD/ATI is in the 5700G CPU. Not that it matters.

openSuSE Leap 15.5 is using a 5.14.x version of the kernel. I could install Tumbleweed (maybe the Slowroll variant). In fact, let me fire up a VM...

Tumbleweed Slowroll VM:

Code:
mad_hatter@slowroll:~> inxi -Axx
Audio:
  Device-1: Intel 82801AA AC97 Audio vendor: Dell driver: snd_intel8x0
    v: kernel bus-ID: 00:05.0 chip-ID: 8086:2415
  API: ALSA v: k6.8.8-1-default status: kernel-api with: aoss
    type: oss-emulator
  Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
mad_hatter@slowroll:~> ^C
mad_hatter@slowroll:~> uname -r
6.8.8-1-default

Looks promising. All Pipewire. Version 6.8.8 of the kernel. But it is only a VM. Worth a shot I guess. I'm getting pretty fast at configuring openSuSE after an install. :)
 
@new_vintage wrote:
Code:
The Realtek is on the motherboard, while the AMD/ATI is in the 5700G CPU
The Realtek appears be a sound card integrated into the motherboard ... which is nevertheless generally referred to as a "sound card" in my parts, and the other sound device appears to be integrated into the video card, the GPU. That's how I understand it, but as you say it doesn't matter in terms of the current proposals :)
 

Members online


Top