Description of problem: Timidity in alsa mode can easily play music with rosegarden , but from user: $ timidity -iA -Os Requested buffer size 32768, fragment size 8192 ALSA pcm 'default' set buffer size 32768, period size 8192 bytes TiMidity starting in ALSA server mode ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied error in snd_seq_open from root timidity can play: $ su - password [root@amdA4 ~]# timidity -iA -Os Requested buffer size 32768, fragment size 8192 ALSA pcm 'default' set buffer size 32768, period size 8192 bytes TiMidity starting in ALSA server mode Opening sequencer port: 128:0 128:1 128:2 128:3 Version-Release number of selected component (if applicable): mageia4 RC How reproducible: Steps to Reproduce: 1. 2. 3. Reproducible: Steps to Reproduce:
Did you make the mistake to first run a sound app as root? It can results in sound device no more usable by regular users....
Keywords: (none) => NEEDINFOCC: (none) => mageia, thierry.vignaud
Yeah the permissions on /dev/snd/seq are a bit of a problem. It's not treated like other device nodes, but we *should* (eventually) have a nice way of dealing with this now in the form of the static nodes support in udev. The /usr/lib/udev/rules.d/50-udev-default.rules file contains: SUBSYSTEM=="sound", GROUP="audio", \ OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer" So both snd/seq and snd/timer *should* have ACLs. On my system it appears only snd/timer does. Does that tally with you? I've tried changing that rule to: SUBSYSTEM=="sound", GROUP="audio", OPTIONS+="static_node=snd/seq" SUBSYSTEM=="sound", GROUP="audio", OPTIONS+="static_node=snd/timer" but it didn't help. I'll have to check upstream as to why it's not applying to the snd/seq node.
OK, so it seems the problem is somewhat simple. The static nodes stuff in udev should be providing a mechanism to autoload the snd-seq module. Sadly users can only trigger this if they have access to the node and this is where a chicken and egg scenario comes in. The ACL is only applied if the module is loaded, so users cannot trigger the autoload to give themselves permission. This is ultimately a bug in the static nodes code. A simply work around in the mean time is adding snd-seq to a *.conf file in /etc/modules-load.d/
Assignee: bugsquad => mageiaSource RPM: timidity ++ ? => systemd
Actually I lied above. The rule change DOES work, but I spoke to Kay upstream and he's now pushed a fix. Testing that shortly.
Yup, that works. Should be fixed in next systemd.
Freeze push requested.
Status: NEW => RESOLVEDResolution: (none) => FIXED