Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


triggerhappy and volume
#1
Hello,
I use triggerhappy daemon for buttons,  infrared remote controls and a rotary encoder.
I have rpi3 with hifiberry dac+ and use hardware volume.

I have a problem with volume. The commad is /var/www/vol.sh -dn 2. Triggerhappy daemon is started as nobody user.
Code:
sudo -u nobody /var/www/vol.sh -dn 2
Invalid card number.


I think triggerhappy.service should be overridden in /etc to starts as pi user. Maybe rewrite vol.sh or add rights for nobody user.

Code:
for example /etc/systemd/system/triggerhappy.d/customexec.conf:
[Service]
ExecStart=
ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user pi --deviceglob /dev/in
put/event*
Reply
#2
We ship a default drop file for triggerhappy that uses vol.sh. I just ran a quick test with a USB volume control and no issues.

Code:
pi@moode:~ $ cat /etc/triggerhappy/triggers.d/media.conf
KEY_VOLUMEUP     1 /var/www/vol.sh -up 1
KEY_VOLUMEDOWN   1 /var/www/vol.sh -dn 1
KEY_MUTE         1 /var/www/vol.sh -mute

Keep in mind that any userid can be created during image prep and so the userid "pi" cannot be assumed.There are no dependencies on the user "pi" in the codebase.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
I have installed moode 8.3.3.

If I set Volume type: software it works. If I set Volume type: hardware it does not.
The problem is that user nobody has not access to the hardware mixer. I have hifiberry dac+. I don't know if it also applies to other dacs.

Code:
pi@moode:~/t $ sudo -u nobody amixer
amixer: Mixer attach default error: No such file or directory

The command amixer is in /var/www/vol.sh.

Solution is adding nobody to the audio group.
Code:
sudo usermod -a -G audio nobody

It is also possible to start the triggerhappy as another user from the audio group. For example mpd user.
Reply
#4
(07-11-2023, 06:00 PM)mezcal Wrote: I have installed moode 8.3.3.

If I set Volume type: software it works. If I set Volume type: hardware it does not.
The problem is that user nobody has not access to the hardware mixer. I have hifiberry dac+. I don't know if it also applies to other dacs.

Code:
pi@moode:~/t $ sudo -u nobody amixer
amixer: Mixer attach default error: No such file or directory

The command amixer is in /var/www/vol.sh.

Solution is adding nobody to the audio group.
Code:
sudo usermod -a -G audio nobody

It is also possible to start the triggerhappy as another user from the audio group. For example mpd user.

I'm able to repro the issue when configuring Hardware volume. My earlier test was using Software volume.

I'll ad to the TODO list to investigate but your suggestion to add userid "nobody" to the audio group looks promising.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply


Forum Jump: