eventlircd starts even if Lirc is disabled

  • Hello,

    I'm running LE 8.2.5 on a Raspberry Pi 3b+ and I am trying to get LE (kodi process) to use as little resources as possible. Started with stock installation where I configured nothing, except disabled Wifi + enabled SSH. The Pi is wired to the network. Lirc is also disabled in the settings.

    While strace-ing the kodi process, noticed many lines like these - and they repeat very often:

    read(18, 0x7ebbc5a8, 4112) = -1 EAGAIN (Resource temporarily unavailable)

    read(17, 0x27dcb18, 4096) = -1 EAGAIN (Resource temporarily unavailable)

    I've put a breakpoint for the read syscall (as well as in nanosleep syscall) and managed to track some of these down to Lirc component - it is like Kodi is checking for Lirc events even if Lirc is disabled in the settings.

    By stopping eventlircd service, these very often reads have disappeared from strace output ...

    As I understand, eventlircd is used in conjunction with lirc. But the service starts even if lirc is disabled, and the command line attributes "--lircdev /run/lirc/lircd" are sent to Kodi upon boot. Maybe I'm missing something why it needs to start if Lirc is disabled - as HDMI CEC works, so far it looks like a bug to me ..

    Meanwhile, I'll just stop it in the startup scripts /shrug

    Thank you,

  • eventlircd is used to translate linux input events from remotes handled by the kernel into lirc events.

    This is needed because Kodi can't cope with a bunch of linux input events, most well known being "KEY_OK". So if you use an IR or RF remote the OK button won't work unless you run eventlircd.

    More details are in the wiki: Infrared Remotes [LibreELEC.wiki]

    so long,

    Hias

  • Hello and thank you for the reply,

    I'm not using any IR / RT remote (that's why I deactivated lirc and I also expected eventlircd to be disabled).
    The remote of the TV works via HDMI CEC (Pulse CEC adapter) even with lirc / eventlirc disabled so in my case no need to also keep eventlircd enabled if lirc is disabled.

  • Well, as I wrote before eventlircd has nothing to do with lirc, it's for supporting remotes handled by the kernel. And most people absolutely need it.

    If you don't need/want it you can just run "systemctl mask eventlircd" to disable it.

    so long,

    Hias

  • Oh, I understand now :) it was not clear the separation between kernel and lircd (related to eventlircd).

    Thank you for clarification, it is now stopped in my case.