Debian Buster – No Sound Unless Root

audiodebian

I've just done a dist upgrade on my Debian SID computer, and the sound disappeared.

I can play an audio file in root, but not as a normal user.
I've checked that I'm in the "audio" group.
I've checked to see if anything is muted by running alsamixer, but all line is up and running.

Here are the Audio output I have on the computer:

$ lspci  | grep Audio
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

I have an unplugged HDMI output (the NVIDIA controller). My audio headers are plugged on my Intel controller.
I can see this driver when I run alsamixer, but only see the HDMI output from my graphics card in the pavucontrol output devices.

enter image description here

When listing my audio sinks, I only get one null device:

$ pacmd list-sinks
1 sink(s) available.
  * index: 2
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: IDLE
    suspend cause: 
    priority: 1000
    volume: front-left: 56362 /  86% / -3,93 dB,   front-right: 55706 /  85% / -4,23 dB
            balance -0,01
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 5,63 ms
    max request: 6 KiB
    max rewind: 6 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stéréo
    used by: 0
    linked by: 1
    configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
    module: 20
    properties:
        device.description = "Sortie factice"
        device.class = "abstract"
        device.icon_name = "audio-card"

I don't really understand deeply how the sound system works in Debian, but I think I understand that my normal user does not have the right to access the Intel chip. From here, I'm stuck and can't really find out what to do…

EDIT:

I managed to get back the sound by disabling auto-mute in alsamixer. This settings has been somehow change during the system update.

But after a reboot, the problem came back, but the auto-mute was still off.

Thanks to dirkt answer, I think I have found the source of this issue:
When running aplay -L as normal user and root user, I noticed some differences:

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
$ sudo aplay -L 
default:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device

It seems that the default card is not the same when running as simple user.
I could have some sound when selecting sysdefault instead of default card as normal user.

$ aplay -D sysdefault sound.wav

But now, I'm a bit stuck. I think I've pinpoint the source of the issue, but cannot find out how to solve it…

Best Answer

I solved this issue for me by running:

sudo apt-get remove --purge timidity

Please make sure this will only remove timidity and timidity-daemon. As far as I understand the daemon grabs some resources on startup and prevents the other services from finding the sound cards. I think timidity has something to do with MIDI files so make sure you do not need this when uninstalling the packages and make sure that you know what you uninstall.

Hope this resolves the issue for some users. You might want to reinstall timidity in the future when the above mentioned issues are resolved.

Related Question