Sound problems from suse 12.3 on

I have seen quite a few questions about no sound on distributions from Suse 12.3 on.
This has been my experience since 12.3. Under Yast2, the sound test works but
as a non root user there is no sound. pavucontrol gives no output devices - just dummy output.

I have installed versions of suse beyond 12.2 on three different asus motherboards: P6X58D, Z9PE-D8_WS and
a mini atx (all I believe have Realtek ALC 8988).

By no sound, I mean after a vanilla installation there is no sound on flashplayer, amarok, vlc, mplayer, etc, etc.
Swapping pulse audio in or out has no effect. (I have read the forums) Also swapping primary sound between intel and nvidia.

I use /etc/init.d/alsasound restart after easy yast2 edit (just to be sure).

Window system (motif or kdm) has no effect.

**Install with suse 12.2 - everything works ok.
**
On VLC if pulse audio is enabled, audio device gives “dummy output”), if not tries to connect to default ALSA pulse audio.

However, what I did notice today was that** I got sound just fine if I was root.**

I would really appreciate some suggestions here - I cannot believe I am the only one to have experienced these problems.
It looks like a permission problem.

Just another test I did:

Run smplayer as myself: no sound.

ssh -X -l root to the machine from my X window, run smplayer: there is sound.

Mike

As this seems to be a permission issue in your case, try to add your user to the “audio” group, either in YaST->Security and Users->User and Group Management, or with:

sudo usermod -a -G audio $USER

Then logout/login (or reboot) and audio should work.

Normally, logind should grant your user access to the audio device when you login, but that doesn’t seem to work in your case.
If that doesn’t work for some reason (i.e. your login session doesn’t get registered with logind), you don’t get those privileges, and also not others like installing updates as user with the update applet or mounting external drives/media. So if that’s really the case, you should better fix the cause, not the symptoms.
Please post the output of:

loginctl
getfacl /dev/snd/*

loginctl
SESSION UID USER SEAT
1 0 root seat0

1 sessions listed.

getfacl /dev/snd/*

getfacl: Removing leading ‘/’ from absolute path names

file: dev/snd/by-id

owner: root

group: root

user::rwx
group::r-x
other::r-x

file: dev/snd/by-path

owner: root

group: root

user::rwx
group::r-x
other::r-x

file: dev/snd/controlC0

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/controlC1

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/controlC2

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/hwC0D0

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/hwC1D0

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC0D0c

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC0D0p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC0D1p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC0D2c

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC1D3p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC1D7p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC1D8p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC1D9p

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/pcmC2D0c

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/seq

owner: root

group: audio

user::rw-
group::rw-
other::—

file: dev/snd/timer

owner: root

group: audio

user::rw-
group::rw-
other::—

Note this was obtained after I added myself to the audio group.

Now I will check for the results of adding audio group.

Here are the outputs:

Adding users to audio group fixed the problem.

Many thanks for that!

However, if other people out there have experienced this difficult and what the root cause is.

Mike

Note all updates installed as root (via yast2)

As suspected, your user’s session is not listed.
So we should fix this.

Some questions first:

  • Were you logged in as user at that point?
    If not, that output (and the one from getfacl) is useless. In that case: login as user, and post the output of “loginctl” and “getfacl /dev/snd/*” again.

  • How are you starting the graphical session?
    Are you booting to runlevel5/graphical.target?
    Are you booting to text mode and start X manually? If so, how exactly? (startx? rcxdm? init 5?)

  • If you have been logged in as user (see question 1), then please post the output of:

grep systemd /etc/pam.d/*

getfacl /dev/snd/*

As is to be expected (because the user session is not registered), your user has not been given permission to access those devices.
If your user session is registered with logind, it should look like this:

# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
user:wolfi:rw-
group::rw-
mask::rw-
other::---

and so on.

Note this was obtained after I added myself to the audio group.

That doesn’t change the permissions of those files.
But it will allow to access them, as they are owned by root:audio.

Some other comments:

Installation I use: I do not choose the “automatic option” as I set up disk partitions but the partitioning I use is absolutely
standard (ext4 etc). I add one user apart from root - myself. The installation only allows selection of user name and password
(I use the defaults for password encryption).

I also select software - adding gnome and all the development and technical writing software.
Initially I boot to runlevel3 until any problems with nvidia card or drivers are
fixed. I enable ssh (which by default is disabled)

As part of the initial installation I usually run the online update (not always - -t makes no difference)
I typically add the packman repository - though not always and the sound problem
exists if I do not add it (and install mplayer, vlc).

I always do online updates using yast2. Once the system is installed (with the updates) I usually
run yast2 from my own directory using: “ssh -l root machine”.

Mike

It seems the problem - at least on suse 13.1 - was caused by my running kdm at runlevel 3.
If, instead, I ran init 5 (automatically going into kdm) permissions look correct and sound works
after I had removed myself from group audio and then rebooted.

I am a bit surprised as I believe the sound was not working when I did runlevel5 boots (but that was
on suse 12.3).

Here are the current outputs you asked for

/home/mike->loginctl
SESSION UID USER SEAT
1 1000 mike seat0

1 sessions listed.

getfacl /dev/snd/*
getfacl: Removing leading ‘/’ from absolute path names

file: dev/snd/by-id

owner: root

group: root

user::rwx
group::r-x
other::r-x

file: dev/snd/by-path

owner: root

group: root

user::rwx
group::r-x
other::r-x

file: dev/snd/controlC0

owner: root

group: audio

user::rw-
user:mike:rw-
group::rw-
mask::rw-
other::—

file: dev/snd/controlC1

owner: root

group: audio

user::rw-
user:mike:rw-
group::rw-
mask::rw-
other::—

file: dev/snd/controlC2

owner: root

group: audio

user::rw-
user:mike:rw-
group::rw-
mask::rw-
other::—

etc

and

grep systemd /etc/pam.d/*

/etc/pam.d/common-session:session optional pam_systemd.so
/etc/pam.d/common-session.pam-config-backup:session optional pam_systemd.so
/etc/pam.d/common-session-pc:session optional pam_systemd.so
/etc/pam.d/systemd-user:# Used by systemd when launching systemd user instances.

I hope this is fixed now. Many thanks for all your help.

Mike

Can you try to disable plymouth? (by adding “plymouth.enable=0” to the boot options)
Is your user session registered then?

There has been a bug report for 12.3 where the problem could be tracked down to be caused by plymouth (it mainly happened when booting to rl3 and switching to rl5 manually from text mode). This should have been fixed with an update, but who knows?
https://bugzilla.novell.com/show_bug.cgi?id=811185

grep systemd /etc/pam.d/*

/home/mike->grep systemd /etc/pam.d/*
/etc/pam.d/common-session:session optional pam_systemd.so
/etc/pam.d/common-session.pam-config-backup:session optional pam_systemd.so
/etc/pam.d/common-session-pc:session optional pam_systemd.so
/etc/pam.d/systemd-user:# Used by systemd when launching systemd user instances.

This is ok.
I helped some people with the same problem a year ago, and mostly the cause was a missing pam_systemd.so line in /etc/pam.d/common-session.

But that’s obviously not the problem here.

The output contains no user:
eg:
user::rwx or user::rw-

Yes.
That is added by logind, when you’re user session is registered.

As part of the initial installation I usually run the online update (not always - -t makes no difference)

I typically add the packman repository - though not always and the sound problem
exists if I do not add it (and install mplayer, vlc).

Yes, that problem is completely unrelated to Packman of course.

Hm, so you are on 13.1 now?
That problem with the missing “pam_systemd.so” only occured on 12.3 under certain circumstances. For 13.1 there have been changes to further prevent this from happening.

Well, but your description now really sounds like the bug report above. But this should be fixed. I could not reproduce that problem any more since that 12.3 update was released, neither on 12.3 nor 13.1.
You might try to disable plymouth (or even uninstall it) to see if it fixes the runlevel 3 case if you care about that.

I hope this is fixed now. Many thanks for all your help.

The output looks ok now. Your session is correctly registered and your user should get all required permissions.