RetroELEC Kodi+Wayland+Emulationstation+RetroArch (x86/XU4/RPi)

  • Did quite a bit of polishing for this last release, enjoy :)

    20161208:

    Code
    - The "Emulationstation" shortcut on the main menu is now renamed to "Emulators" which starts ES by default but is configurable through /storage/.config/emulator-frontend.conf
    - Use scrolling sound from ES theme as Kodi sounds
    - Removed extra ES theme for a slimmer image
    - Start applications maximized by default
    - Freeze Kodi instead of stopping it when launching applications for much faster startup times
    - Enabled scanlines in FS-UAE default configuration
    - Fixed an issue with Chrome failing to start because of missing libxkcb.so
    - Updated packages: emulationstation-theme-carbon, dolphin, glupen64-libretro, mupen64plus-libretro, core-info, libretro-database, retroarch-assets, retroarch, mesa, SDL2, xf86-video-intel

    Edited once, last by escalade (December 8, 2016 at 12:40 AM).

  • Hello. I've been testing out this build and everything is working great except for one problem. I'm currently unable to use 2 ps3 controllers via bluetooth. I can navigate with both controllers before launching an emulator but afterwards whichever controller I started the rom with is player 2 and i'm unable to control player 1 with the other controller. The keyboard input is being used.

    When the emulator starts I see the yellow text saying it configured one controller to port #1 and the other to port #2. It also detects my dongle as port #0 and unconfigured. In the retroarch log I see:


    RetroArch [INFO] :: [udev]: Plugged pad: Microsoft Microsoft® Nano Transceiver v2.0 (1118:1861) on port #0.
    RetroArch [INFO] :: Autodetect: 142 profiles found.
    RetroArch [INFO] :: Autodetect: no profiles found for Microsoft Microsoft® Nano Transceiver v2.0 (1118/1861).
    RetroArch [INFO] :: [udev]: Pad #0 (/dev/input/event7) supports 0 force feedback effects.
    RetroArch [INFO] :: [udev]: Plugged pad: PLAYSTATION(R)3 Controller (3315:12293) on port #1.
    RetroArch [INFO] :: Autodetect: 142 profiles found.
    RetroArch [INFO] :: Autodetect: selected configuration: /tmp/autoconfig/udev/Sony-PlayStation3-DualShock3-Controller-Bluetooth.cfg
    RetroArch [INFO] :: [udev]: Pad #1 (/dev/input/event12) supports force feedback.
    RetroArch [INFO] :: [udev]: Pad #1 (/dev/input/event12) supports 16 force feedback effects.
    RetroArch [INFO] :: [udev]: Plugged pad: PLAYSTATION(R)3 Controller (3315:12293) on port #2.
    RetroArch [INFO] :: Autodetect: 142 profiles found.
    RetroArch [INFO] :: Autodetect: selected configuration: /tmp/autoconfig/udev/Sony-PlayStation3-DualShock3-Controller-Bluetooth.cfg
    RetroArch [INFO] :: [udev]: Pad #2 (/dev/input/event13) supports force feedback.
    RetroArch [INFO] :: [udev]: Pad #2 (/dev/input/event13) supports 16 force feedback effects.
    RetroArch [INFO] :: Found joypad driver: "udev".

    The non-working controller is the one on port #2. I was able to see it turn off when it ran out of battery:
    RetroArch [INFO] :: Autodetect: Device disconnected from port #2 (Sony PLAYSTATION(R)3 Controller).

    Thanks.

    Edited once, last by bdunning (December 8, 2016 at 1:09 AM).

  • Looks like you have 3 pads detected: event7, event12 and event13. I'm guessing one of your DS3's is an asian "fake" model which for some reason identifies as two devices. You might be able to reconfigure so that the real joystick devices are on 1-2 in RetroArch and other emus, but you're on your own there :)


  • Did quite a bit of polishing for this last release, enjoy :)

    20161208:

    Code
    - The "Emulationstation" shortcut on the main menu is now renamed to "Emulators" which starts ES by default but is configurable through /storage/.config/emulator-frontend.conf
    - Use scrolling sound from ES theme as Kodi sounds
    - Removed extra ES theme for a slimmer image
    - Start applications maximized by default
    - Freeze Kodi instead of stopping it when launching applications for much faster startup times
    - Enabled scanlines in FS-UAE default configuration
    - Fixed an issue with Chrome failing to start because of missing libxkcb.so
    - Updated packages: emulationstation-theme-carbon, dolphin, glupen64-libretro, mupen64plus-libretro, core-info, libretro-database, retroarch-assets, retroarch, mesa, SDL2, xf86-video-intel

    Will freezing instead of stopping have an adverse impact to performance on pi 2/3?


  • Looks like you have 3 pads detected: event7, event12 and event13. I'm guessing one of your DS3's is an asian "fake" model which for some reason identifies as two devices. You might be able to reconfigure so that the real joystick devices are on 1-2 in RetroArch and other emus, but you're on your own there :)

    They are definitely both genuine PS3 controllers. One came with the system and the other in a game bundle. What didn't make sense to me was Event7. That is the usb bluetooth dongle that I plugged in to get bluetooth support on the PC and connect the controllers through. I wasn't expecting it to be detected as a gamepad. It shows up in udev as JS0 which is why I assume it is taking up controller 1's spot:

    Main:~ # udevadm info -q all -n /dev/input/js0
    P: /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.2/0003:045E:0745.0003/input/i nput7/js0
    N: input/js0
    S: input/by-id/usb-Microsoft_Microsoft®_Nano_Transceiver_v2.0-if02-joystick
    S: input/by-path/pci-0000:00:1d.3-usb-0:2:1.2-joystick
    E: DEVLINKS=/dev/input/by-path/pci-0000:00:1d.3-usb-0:2:1.2-joystick /dev/input/ by-id/usb-Microsoft_Microsoft®_Nano_Transceiver_v2.0-if02-joystick

    I guess I'll keep looking into how to hardcode the input order: [all variants] How to assign specific joystick device path to specific joystick or controller?. I've also got a pi kicking around somewhere I'll dig it out and see if the same issue happens there.

  • Indeed, I missed that. Let me know what you find regards to controller ordering.

    Found an issue with 20161128, Kodi got unfrozen after exiting a game in Emulationstation. A revised build is being compiled and uploaded soon.


  • Indeed, I missed that. Let me know what you find regards to controller ordering.

    Found an issue with 20161128, Kodi got unfrozen after exiting a game in Emulationstation. A revised build is being compiled and uploaded soon.

    I found more information and this is a longstanding issue: Bug #390959 “045e:00b0 Microsoft keyboard and 045e:0745 nano tra...” : Bugs : linux package : Ubuntu

    There is a workaround listed here. You may want to include this file in your future builds since looking at the list there are many devices that jack up the controller detection: GitHub - denilsonsa/udev-joystick-blacklist: Fix for keyboard/mouse/tablet being detected as joystick in Linux

    I was able to fix this issue for myself by running the following command: curl -o /etc/udev/rules.d/51-these-are-not-joysticks.rules \ 51-these-are-not-joysticks.rules

    This is also apparently fixed in kernel 4.9 for Microsoft devices: kernel/git/jikos/hid.git - HID tree

    I was amused by the comment in the fix :)

    Some lazy vendors declare 255 usages for System Control, leading to the creation of ABS_X|Y axis and too many others. It wouldn't be a problem if joydev doesn't consider the device as a joystick then.


  • Indeed, I missed that. Let me know what you find regards to controller ordering.

    Found an issue with 20161128, Kodi got unfrozen after exiting a game in Emulationstation. A revised build is being compiled and uploaded soon.

    I compiled myself and tested out a bit (including commit f59bbe9). When I select emulators, Kodi freezes but emulationstation doesn't launch. If I ssh in and type killall -SIGCONT Kodi.bin then emulationstation launches. Upon exiting emulationstation, Kodi is functioning but appears to have been accepting input from controller while emulationstation was running.

    Reverting for now.

  • That's odd, I guess one of two things is happening:

    - Freezing Kodi prevents the script from running any further (shouldn't happen as emulationstation.start is spawned as a separate process by systemd)

    - Freezing Kodi somehow occupies the framebuffer on the Pi preventing Emulationstation to spawn

    Could you try the following command through SSH on any build:

    Code
    # echo step 1 && kodi-send --action="RunScript(/usr/bin/audio-suspend.py)" && echo step 2 && usleep 500000 && echo step 3 && killall -SIGSTOP kodi.bin && echo step 4 && emulationstation --debug && echo step 5 && killall -SIGCONT kodi.bin && echo step 6 && kodi-send --action="RunScript(/usr/bin/audio-resume.py)"

    Then paste the output here?

    Also test the 20161208-2 build for the RPi which reverts to the old behaviour of fully stopping Kodi.

  • Hi escalade,

    first: sry my english is not very well
    Second: how i can update your New Version out of libreelec? Only with USB stick or is the custom update function available in libreelec configuration tool?

    Third: very cool work

  • Hi,

    i installed the lasted build. When i open Spotify i get a notification that it will be downloaded. In the logs i've found

    Code
    wget server returned error: HTTP/1.1 404 Not Found

    When i want to open Chrome i get this in the logs:

    Code
    /opt/google/chrome/chrome: error while loading shared libraries: libxcb.so.1: cannot open shared object file: No such file or directory

    Thanks

  • Could some one help me with Moonlight and with Sonarr. You've mentioned that after last update mono needs to be instaled from plugin. So I did this, jest both plugins stoped, and won't start. Am I doing sth wrong?