Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

TriggerHappy Daemon (THD) doesn't work on my Pi running Retropie ! Help



  • Maybe should i past it before "exit 0" line ?


  • Global Moderator

    @djon Does the process shows up when your run ps -ef from the terminal ?
    EDIT: Yes, of course you need to add it before the exit, otherwise it's not executed.



  • Ok so i add it before "exit 0" this time and run ps -ef @mitu
    And i think the line you're interested in is
    "nobody 364 1 0 03:26 ? 00:00:00 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*"


  • Global Moderator

    @djon Doesn't seem to be correct. Have you disabled the service ? The process shown there seems the one started from the built-in service script. Post your rc.local file contents, surrounded by code tags (```).



  • No prob ! @mitu

    
    #
    
    # rc.local
    
    #
    
    # This script is executed at the end of each multiuser runlevel.
    
    # Make sure that the script will "exit 0" on success or any other
    
    # value on error.
    
    #
    
    # In order to enable or disable this script just change the execution
    
    # bits.
    
    #
    
    # By default this script does nothing.
    
    
    
    # Print the IP address
    
    _IP=$(hostname -I) || true
    
    if [ "$_IP" ]; then
    
      printf "My IP address is %s\n" "$_IP"
    
    fi
    
    
    
    /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --devicelob /dev/input/event* &
    
    
    
    exit 0

  • Global Moderator

    @djon Just change it to

    # Start THD as user pi
    nohup /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --user pi --deviceglob /dev/input/event* &
    
    exit 0
    

    and reboot. Disable the service with sudo systemctl disable triggerhappy first.



  • I'll do it in a sec, so i'll change all the file just with these lines ? @mitu



  • Okay so i made the mistake to erase all the file, to put just your line...
    So i did it again, with just your line at the end, and i can say... that... it is workinggggggggggg !!!!!!! @mitu

    I think that i will start again from stratch with a brand new retropie image, next time i'll just need to put :

    # Start THD as user pi
    nohup /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --user pi --deviceglob /dev/input/event* &
    
    exit 0
    

    Or i'll need to take all the steps we made ?



  • Since you're here @mitu and that your the best guy ever, i need to change a bit the script to make the brightness increase by 25% each time, i was thinking :

    sudo chmod 777 /sys/class/backlight/rpi_backlight/brightness && echo 25% > /sys/class/backlight/rpi_backlight/brightness
    

    ... hum no i just test it and they say "invalid argument"

    FYI the brightness can go from 0 to 250



  • I ran into the same issue trying to get triggerhappy to process the VOLUME_UP and VOLUME_DOWN events from my Dell AC511 soundbar.

    No matter whether I set the user to run the process as in /etc/defaults/triggerhappy, or /etc/init.d/triggerhappy, it would always run as user nobody.

    The process would run, but because nobody doesn't have privileges, my commands to amixer would not run.

    The solution I found was to edit /etc/systemd/system/multi-user.target.wants/triggerhappy.service and set the user in there to pi.

    After doing that and restarting the daemon, the triggerhappy process ran under user pi and everything worked.

    Edit: Future updates my overwrite changes to this file, I don't know.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.