RetroArch on Enigma2

I’m added RetroArch latest git version in my Enigma2, and for now is working good. I’m maked small changes in RetroArch for use the STB Remote Controller to navegate MENU, but of some reason the RetroArch is receiving input as a double input (example: I press DOWN, and in RetroArch is a double DOWN).

I’m not have this problem with a PC Keyboard or a Xbox One Controller. Any ideia for solve this?

RetroArch changes:

diff --git a/input/drivers/udev_input.c b/input/drivers/udev_input.c
old mode 100644
new mode 100755
index ca947d9243..d0a311da7a
--- a/input/drivers/udev_input.c
+++ b/input/drivers/udev_input.c
@@ -164,10 +164,21 @@ static unsigned input_unify_ev_key_code(unsigned code)
       so unify remote control keysyms to keyboard keysyms here.  */
    switch (code)
    {
-      case KEY_OK:
-         return KEY_ENTER;
       case KEY_BACK:
+      case KEY_EXIT:
          return KEY_BACKSPACE;
+      case KEY_MENU:
+         return KEY_F1;
+      case KEY_MUTE:
+         return KEY_F9;
+      case KEY_OK:
+         return KEY_ENTER;
+      case KEY_POWER:
+         return KEY_ESC;
+      case KEY_VOLUMEDOWN:
+         return KEY_KPMINUS;
+      case KEY_VOLUMEUP:
+         return KEY_KPPLUS;
       default:
          return code;
    }

Already solved, thanks.

Hey, sorry for not responding to your first post. What ended up being the issue?

It’s all right, the problem is a delay time in menu input, the response time of a PC keyboard is more fast comparated to a STB RC and because of this I get the problem of double input event when using STB RC.

For fix this I made this changes:

diff --git a/menu/menu_input.c b/menu/menu_input.c
index e82438a842..8e4d902c7d
--- a/menu/menu_input.c
+++ b/menu/menu_input.c
@@ -197,7 +197,7 @@ unsigned menu_event(input_bits_t *p_input, input_bits_t *p_trigger_input)
           * for old_input_state. */

          first_held  = true;
-         delay_timer = initial_held ? 200 : 100;
+         delay_timer = initial_held ? 300 : 150;
          delay_count = 0;
       }

This solve my problem without any issue with PC keyboard.

Ah, ok. I’ll run this by some other folks and see if it’s a change we can make upstream for you

Thank you, Can you tell me if I implement HW Video Decoder I will have a better performance in emulators?

For now emulators like Game Boy Advanced, Mega Drive, Super Nintendo, MAME and some other’s I tested is okay. But for example DeSmuME runs game in a very slow mode.

My STB is a Hisilicon hi3798Cv200 2.0GHz Quad with 2GB RAM.

It depends. Unfortunately, desmume is just very slow. My Nvidia Shield ATV only runs some games full speed, and even those are borderline.

So, I will keep this for other time. I think with HW Video Decoder will save CPU Usage, but for now not is very necessary.

Thanks

Hi @hunterk, Today I only need this patch to run lastest RetroArch version on my E2, like this I can navigate on MENU using STB RemoteControl, but when I open Virtual Keyboard the STB RemoteControl stop working.

You have any idea on how to put STB RemoteControl working with Virtual Keyboard? Thanks

diff --git a/input/drivers/udev_input.c b/input/drivers/udev_input.c
index 0dd54091d3..549445f383 100644
--- a/input/drivers/udev_input.c
+++ b/input/drivers/udev_input.c
@@ -162,10 +162,21 @@ static unsigned input_unify_ev_key_code(unsigned code)
       so unify remote control keysyms to keyboard keysyms here.  */
    switch (code)
    {
+      case KEY_BACK:
+      case KEY_EXIT:
+          return KEY_BACKSPACE;
+      case KEY_MENU:
+         return KEY_F1;
+      case KEY_MUTE:
+         return KEY_F9;
       case KEY_OK:
          return KEY_ENTER;
-      case KEY_BACK:
-         return KEY_BACKSPACE;
+      case KEY_POWER:
+         return KEY_ESC;
+      case KEY_VOLUMEDOWN:
+         return KEY_KPMINUS;
+      case KEY_VOLUMEUP:
+         return KEY_KPPLUS;
       default:
          return code;
    }

tell me how you can run RetroArch on Enigma2. Amiko Viper 4k receiver Hisilicon Hi3798Mv200 processor

You will need linux and your box need have mali support. You can check this patch for retroarch:

And this git:

I can not install RetroArch, you can give detailed instructions on how to run on Enigma2

Why is it only Arm TVBox? where can I get this for mips32?