[HowTo] Installing RetroPie alongside OSMC RC (the easy way)

Great work!

Since Sam and the team have their concerns: Would it be a huge waste of resources to sort of dual boot between retropie and osmc? (and how much space are we talking about?)

I mean, if you had them on different partitions you wouldn’t run into them interfering with each other. You could set it to default to boot OSMC but would you be able to boot to the other os within kodi (and boot back from retropie)

The OSMC team will work on an adequate solution in time

Sam

i dont mind wasting my time doing stupid stuff so far it works perfect and im sure that Sam and the gang will work out a solution that works either with Retropie or Retroplayer.

Aslong as i can play now with my wiimotes and do some scripting for fun im good :slight_smile:

Any chance of getting this to run on openelec? On a raspberry pi 2?

Openelec is based on openembedded, not debian. It will nit work out of the box I’m afraid.

And there are addons if you look in the OpenElec forums :wink:

If anyone is interessed i managed to make PS3 controllers working in this Setup. Let me know and i will provide instructions.

mcobit, i having some issues when quitting Emulationstation, it hangs on black screen and doesn’t get back to Kodi, this only happens if i play at least one game, and then exit. Any clues on this?

dishkins is that Bluetooth or USB?

bluetooth., for sure!

That is good, I have never even tried this out because of the lack of a decent way to control it. Due to my refusal to have a keyboard or any wired controller for the Pi.

I would like the instructions posted so I can try out RetroPie on the OSMC. My only other time I tried it was a separate card with a NES controller but only for a day to try then never played again because I hated having to use a 15 foot hdmi cable to put the Pi strung across the room to get it close enough to have the controller plugged into the GPIO pins.

Hi Dishins!
I can get the controller to work via usb but noway to get it connected via Bluetooth. How did you manage it? I tried 2 methods:

  • run the option “317 Pair PS3 Controller” in the retropie Setup but without any result
  • run the script manually in console
    osmc@osmc:/opt/retropie/supplementary/ps3controller$ sudo ./ps3pair.sh
    ./ps3pair.sh: line 4: /opt/retropie/supplementary/ps3controller/sixpair: No such file or directory

For some reason the sixpai script is not present :frowning:

do you have bluez installed?

i managed to put it to work following this link:

please note that there are some packages that are already installed by OSMC so you won’t need it.

after that, install rfkill (sudo apt-get install rfkill) and remove the software block that OSMC puts on bluetooth (you can do it also via OMSC interface in MY OSMC.

let me know if you struggle with something in the way and i will help you.

cheers.

Hi mate,
I followed the guide in your link but encounter several pb. I managed to install all packages but this

 E: Unable to locate package bluez-compat

Then

osmc@osmc:~/QtSixA-1.5.1/sixad$ sudo update-rc.d sixad defaults
update-rc.d: error: initscript does not exist: /etc/init.d/sixad

  osmc@osmc:~/QtSixA-1.5.1/sixad$ sudo make
    mkdir -p bins
    g++ -O2 -Wall -Wl,-Bsymbolic-functions sixad-bin.cpp bluetooth.cpp shared.cpp textfile.cpp -o bins/sixad-bin `pkg-config --cflags --libs bluez` -lpthread -fpermissive
    sixad-bin.cpp: In function 'int main(int, char**)':
    sixad-bin.cpp:84:20: warning: taking address of temporary [-fpermissive]
    sixad-bin.cpp:89:18: error: 'close' was not declared in this scope
    sixad-bin.cpp:100:20: error: 'sleep' was not declared in this scope
    sixad-bin.cpp:109:22: error: 'close' was not declared in this scope
    sixad-bin.cpp:117:22: error: 'close' was not declared in this scope
    sixad-bin.cpp:140:18: error: 'close' was not declared in this scope
    sixad-bin.cpp:144:14: error: 'close' was not declared in this scope
    bluetooth.cpp: In function 'void do_connect(int, bdaddr_t*, bdaddr_t*, int)':
    bluetooth.cpp:104:30: error: 'close' was not declared in this scope
    bluetooth.cpp:110:24: error: 'dup2' was not declared in this scope
    bluetooth.cpp:111:22: error: 'close' was not declared in this scope
    bluetooth.cpp: In function 'int l2cap_listen(const bdaddr_t*, short unsigned int, int, int)':
    bluetooth.cpp:148:17: error: 'close' was not declared in this scope
    bluetooth.cpp:162:17: error: 'close' was not declared in this scope
    bluetooth.cpp: In function 'void l2cap_accept(int, int, int, int, int)':
    bluetooth.cpp:195:26: error: 'close' was not declared in this scope
    bluetooth.cpp:201:26: error: 'close' was not declared in this scope
    bluetooth.cpp:221:26: error: 'fork' was not declared in this scope
    bluetooth.cpp:228:32: error: 'dup2' was not declared in this scope
    bluetooth.cpp:229:30: error: 'close' was not declared in this scope
    bluetooth.cpp:242:57: error: 'execve' was not declared in this scope
    bluetooth.cpp:254:26: error: 'close' was not declared in this scope
    bluetooth.cpp: In function 'int l2cap_connect(bdaddr_t*, bdaddr_t*, short unsigned int)':
    bluetooth.cpp:274:25: error: 'close' was not declared in this scope
    bluetooth.cpp:291:25: error: 'close' was not declared in this scope
    Makefile:10: recipe for target 'sixad_bins' failed
    make: *** [sixad_bins] Error 1

I tried to run sixad but no success neither:

osmc@osmc:~/QtSixA-1.5.1/sixad$ sudo service sixad start
Failed to start sixad.service: Unit sixad.service failed to load: No such file or directory.

I am not really a Linux user so make the explanations noob proof :stuck_out_tongue: Thanks.

Ok i had to burn a fresh install to remember every step, so its better to do on a fresh install. I’m assuming you already installed mcobit script and

Follow these steps and you will be golden

install dependencies:

sudo apt-get update
sudo apt-get install libusb-dev libbluetooth-dev joystick git dialog rfkill usbutils libusb-1.0-0-dev -y

now install PS3 controller driver by Retropie Setup script, Options 3 and 317

now lets remove Bluetooth software block:

rfkill list
sudo rfkill unblock all
rfkill list
sudo nano /var/lib/connman/settings

make your file look like this:

[global]
OfflineMode=false

[Bluetooth]
Enable=true
Tethering=false

[Wired]
Enable=true
Tethering=false

now enable your Bluetooth dongle:

sudo hciconfig hci0 up
hciconfig

you should see something like “UP RUNNING” among other information

now you can pair your PS3 controller with your dongle:

plug your controller via USB and pair ir with six pair

cd /opt/retropie/supplementary/ps3controller

sudo ./sixpair

If everything goes ok, you can unplug your controller and enjoy some wirelessly gaming :slight_smile:

I got your script working, including the shortcut - great work!! However, I can’t get mame to work. I am using the 0.37b5 rom set, which are in the \home\osmc\Retropie\roms\mame-mame4all\ directory, but the games won’t load. I am getting the following error when trying to run tiger heli for instance:

/opt/retropie/supplementary/runcommand/runcommand.sh: line 671: 743 Illegal instruction /opt/retropie/emulators/mame4all/mame “tigerh”

All my other emulators work fine. Any help would be greatly appreciated!

Thanks dishins for all the procedure!
It worked great until the very last step, when I unplugged the controller, the leds keep flashing and despite all the PS button pressing nothing happens, no way to pair it :frowning:

I have this afte rthe ./sixpair

7 devices in list
0A12:0001
Nothing found at this address...
Freeing device config descriptor...
Device config descriptor free.
054C:0268
Number of possible configurations: 1
Device class: 0
Vendor ID: 1356
Product ID: 616
Interfaces: 1
Number of alternate settings: 1
Interface number: 0
Interface endpoints: 2
Descriptor Type: 5
EP Address: 2
Current Bluetooth master: 00:00:00:1A:7D:DA
Setting master bd_addr to 00:1A:7D:DA:71:13
Master BD_ADDR set to 00:1A:7D:DA:71:13
Device closed, attempting to flush all busses...
Number of possible configurations: 1
Device class: 0
Vendor ID: 1356
Product ID: 616
Interfaces: 109
Number of alternate settings: 1
Interface number: 0
Interface endpoints: 2
Descriptor Type: 5
EP Address: 129
Current Bluetooth master: 00:00:00:1A:7D:DA
Setting master bd_addr to 00:1A:7D:DA:71:13
Master BD_ADDR set to 00:1A:7D:DA:71:13
Device closed, attempting to flush all busses...
osmc@osmc:/opt/retropie/supplementary/ps3controller$ cd /dev/input/

@mcobit As with my earlier post. This issue still exists. If you allow RetroPie to make a shortcut (which you need!) then it breaks the default skin. You cannot use the editor to customise the main menu. I’ve not tried NOT making the shortcut so it is possible some other part of the script is causing this issue but unlikely. I do think we need to be able to customise the main menu. I really want to reduce the number of items on the menu list.

I did a manual edit on Confluence but it operates differently from the OSMC skin and refused to boot if I used the modded Home.XML file so I obv. didnt get that right.

guess your right on that point, doesn’t break skins that has skit.shortcuts installed. the issue could be resolved with a simple yes no question.

like are you using default skin install launcher if not install shortcut

I wish I understood what you were saying. What is this “skin.shortcuts”? Do you mean had I installed using the script generating the shortcut on the default OSMC skin (“yes” I did and “no” it breaks things very reliably).