[TESTING] Remote repeat filter changes

This test is available for Raspberry Pi 2/3 and all Vero models only.

We’ve had a few users recently reporting that remotes feel too slow to respond when repeatedly scrolling through menus. We’re keen on improving the response, but would like to get a consensus from a few users before we make any changes in an OSMC update.

This seems to affect all remotes using eventlircd as a uinput aggregator.
While Kodi also has a repeat button filter; we have one in eventlircd to prevent duplicate presses.

This was originally used to prevent sporadic behaviour when using highly sensitive TSOP IR receivers on Raspberry Pi GPIO but it may make sense to revisit this.

Test #1: this reverts some of the changes made to the repeat filter in late 2015. A repeat filter will still be active; but will be less aggressive.

  1. Login via the command line.
  2. Run the following commands:
wget "http://download.osmc.tv/debs/241059302-armv7-eventlircd-osmc-no-repeat.deb" -O eventlircd.deb
sudo dpkg -i eventlircd.deb
rm -f eventlircd.deb
sudo reboot

Test #2: this disables the eventlircd repeat filter entirely. Try this if Test #1 doesn’t get the results you expect.

  1. Login via the command line
  2. Edit this file: /lib/systemd/system/eventlircd.service

Changing this line:

ExecStart = /usr/sbin/eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --repeat-filter --release=_UP -f

to

ExecStart = /usr/sbin/eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --release=_UP -f

And then reboot.

We’re looking forward to your feedback.

Sam

Hi,

I’m using a Vero 4K + external IR receiver and Logitech Harmony 650 (chosen the device profile OSMC Vero provided by Logitech)

I tried both methods and even with the removed repeat-filter the OSMC response is unreliable means sometimes there is no reaction to the IR remote at all. Also after I increased the Logitech device command repeat level from 0 to 3 it did not improved the behavior much.

With the second method it seems to be somewhat faster (if a keystroke is understood at all).

Only pressing the keys on the Harmony somewhat longer seems to guarantee that all inputs are recognized but this is a quite strange way to use a remote control (wife acceptance factor is zero).

The RF remote control works excellent compared to an IR one.

Try another profile. I didn’t write the OSMC Vero one and don’t know who did.

Try for example the Xbox 360 profile.

These improvements are mainly aimed at those using the included RF remote or Bluetooth remotes; as they will benefit the most from the increased responsiveness.

Sam

Many thx for tip to use my Harmony as XBOX 360 remote with the Vero 4K, works like a champ … as long as I DO NOT remove the –repeat-filter parm from the service.

Without the filter and even with the Logitech device command repeat level 0 very often a single key press is interpreted as several key strokes. In that case

  • you hear several key clicks
  • double or even triple moves within the menus
  • unable to jump to a specific timestamp of a running video by pressing PAUSE + (the digits of the timestamp)

So, I hope improving the RF remote usage does not mean to make IR remotes unusable in future.

Hi,

Now you know why we have the repeat filter.

I think our best option is Test #1

I don’t know who wrote the Vero profile for Harmony, but we definitely need to get that updated.

Sam

Any benefit for CEC?

CEC doesn’t go through the eventlircd layer so won’t benefit from any of the changes suggested above

Sam

Thanks, thought so, but wasn’t sure :slight_smile:

Just tested with a Vero 4K and the radio-based remote that ships with it. After test #1 I couldn’t notice any difference (if anything it felt slower, but that might be me being sleepy).
Test #2 however made one hell of a difference, it feels much more responsive and scrolling is faster and feels more natural.
I didn’t notice any accidental double presses, but I didn’t test for too long, so don’t take my word for it yet. I’ll keep using it and report back if anything comes up.

Hi

Thanks for testing some of the remote improvements that I made available earlier.

Can you revert the changes you made before and try these improvements? Is this remote still as responsive?

wget "https://www.dropbox.com/s/zxm2eqpweg7aeti/armv7-eventlircd-osmc.deb?dl=1" -O eventlircd.deb
sudo dpkg -i eventlircd.deb
reboot

Cheers

Sam

Hi Sam,

  • Vero 4K + external IR receiver and Logitech Harmony 650 (configured as XBOX 360)
  • also connected the original OSMC Remote Control shipped with Vero2/4 (hope they are the same since I cannot distinguish them and do not know what is connected to what Vero box here)
  • –repeat-filter flag placed in /lib/systemd/system/eventlircd.service before and after the new package installation

After installing the new package the original OSMC Remote Control works like before but this wasn’t a problem here in the past at all.
But … the IR remote control stopped working; I checked in MyOSMC whether XBOX 360 is still configured but it is. Removing the repeat-filter parm in /lib/systemd/system/eventlircd.service does not change the non-functioning behavior of the IR remote control.

Went back to previous state using the package in your initial post of this thread.

That’s odd.
Sounds like eventlircd actually stopped working. If that’s the case then the context menu wouldn’t work on the OSMC remote after installing the new package.

Can you confirm?

Sam

Confirmed, something is failing …

root@osmc-vero4k:~# systemctl status eventlircd.service -l
* eventlircd.service - eventlircd remote support
   Loaded: loaded (/lib/systemd/system/eventlircd.service; enabled)
   Active: failed (Result: resources) since Mon 2017-11-20 06:43:09 CET; 4min 20s ago
  Process: 456 ExecStartPost=/bin/sh -c for f in /var/run/lirc/lircd-*.sh; do if [ -e $f ]; then s=$(basename $f .sh | sed 's/lircd-//g'); systemctl start lircd_helper@$s; fi; done (code=exited, status=0/SUCCESS)
  Process: 454 ExecStart=/usr/sbin/eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --repeat-filter --release=_UP -f (code=killed, signal=SEGV)
  Process: 426 ExecStartPre=/bin/mkdir -p /var/run/lirc (code=exited, status=0/SUCCESS)
 Main PID: 454 (code=killed, signal=SEGV)

Nov 20 06:43:09 osmc-vero4k systemd[1]: eventlircd.service: main process exited, code=killed, status=11/SEGV
Nov 20 06:43:09 osmc-vero4k systemd[1]: Unit eventlircd.service entered failed state.
Nov 20 06:43:09 osmc-vero4k systemd[1]: eventlircd.service holdoff time over, scheduling restart.
Nov 20 06:43:09 osmc-vero4k systemd[1]: eventlircd.service failed to schedule restart job: Transaction is destructive.
Nov 20 06:43:09 osmc-vero4k systemd[1]: Unit eventlircd.service entered failed state.

Do not know what you mean exactly by the “context menu” but being in the Films menue the box is not reacting on the info- or menu-button of the OSMC Remote Control.

The context menu is the button with three lines on it.

Sam

Confirmed this and the info-button did not work, I’m back to previous package.

Ok – looks like it needs checking again.

My Vero4 tells me that there is a update pending …

...
Reading package lists... Done
root@osmc-vero4k:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  armv7-eventlircd-osmc
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.3 kB of archives.
After this operation, 1024 B disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

Is this the faulty eventlircd distributed to all OSMC users, now?

There has been no update to eventlircd since August 2016 and nothing new is in the repository.

@sam_nazarko

Got your message.
Using OSMC remote, tried:

Test #1 - No improvement
Test #2 - Nice improvement. No Hesitation and delay when scrolling thru large lists of files.
Nearly as good a the repeat filter used with LibreELEC and the BT Xiaomi Remote combo :+1:

However Volume Up / Down control is still needs multiple button pressings. You cannot hold an Up remote button to inc. Volume for example with the remote. That works smoothly with LE Xiaomi combo.

Thanks for confirming. I had a look at LE’s remote implementation and they don’t have any filter for eventlircd. This is fine for RF remotes but will cause a lot of duplicate presses for IR remotes, so isn’t really suitable for us as we have a lot of users using GPIO TSOPs