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

New script already with Quake 1, Doom 2.
But it has no Retropie setup script with advanced options. Maybe because it’s alpha realize!

Got everything working … made a custom Amber skin shortcut and RetroPie runs perfect with sound and wireless ps3 controllers :smile:

3 Likes

Great work @Theetjuh, that’s exactly what I’m trying to accomplish but having quite a bit of issues. Which build and HW are you using?

I am running 2015.06-1 + retrosmc on a RPi2 and an ASUS Bluetooth adapter. My BT adapter does detect other devices but not my PS3 controllers.

what new script?

Look at the first post - it’s “retrosmc alpha 0.001” from mcobit for RPI2

Thats quite old though.

thats cause he editied the first post and inserted the new link

in anycase retrosmc is the version thats gonna get updated and supported in the future

I’m running a fresh latest build on a RPi2 and used the alpha retrosmc aswell, but with an IOGear BT adapter.

I used a combination of these guides:

Make sure that you enable BT support in OSMC network settings and build tools installed!

Yeah but its been there for at least a week. Also Ive solved the lack of retropie-setup script.

Follow this link: RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi - petrockblock

BUT it will break when it tries to install gcc. After you git clone the setup stript, go into /home/osmc/RetroPie-Setup/scriptmodules/system.sh and edit line 77. Change 4.7 to 4.9 and run the setup script as documented in the above link.

This will let you run the stock setup script to install other emulators such as advanced mame.

The retropie setup script is not used for a reason in the new version.
If you use it, at least on a rpi2, it will install all kind of stuff and most of that cannot be found in the debian jessie repos, so my first script was a try to solve that with using the raspbian repo. It was not safe hiwever and could destroy your installation.
It might still work fine on a rpi 1. There you can use my first script to get everything setup but be aware that it could mess up your system as osmc on rpi1 is based on raspbian but still ships many custom pavkages you could overwrite with it rendering your system unuseable.

What features from the retropiesetup script are you missing exactly?
Just post them and I will try to implement them.

Also, what emulators should be readded most urgently?

There are loads of options there of course, one that would make it a lot easier is the ps3 controller script.

I’m making an howto at the moment, but if that could be implemented, that would be sweet :smile:

Plug-in USB Bluetooth dongle
Go to My OSMC → Network → Bluetooth
Enable Bluetooth

If Bluetooth isn’t listed you probably don’t have a compatible dongle.

SSH into your RPi device

The command ‘hciconfig’ should display something like this:

hci0:	Type: BR/EDR  Bus: USB
	BD Address: XX:XX:XX:XX:XX:XX  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING 
	RX bytes:1212 acl:0 sco:0 events:72 errors:0
	TX bytes:2150 acl:0 sco:0 commands:72 errors:0

All necessary build and tool packages:

sudo apt-get update
sudo apt-get install build-essential checkinstall pkg-config joystick lib-usbdev libbluetooth-dev -y

Build the tool which pairs your PS3 controller with your bluetooth device:

wget http://www.pabr.org/sixlinux/sixpair.c
gcc -o sixpair sixpair.c -lusb

Build the Sixaxis Manager which will let use use the controller as an input over bluetooth and USB:

wget http://sourceforge.net/projects/qtsixa/files/QtSixA%201.5.1/QtSixA-1.5.1-src.tar.gz
tar xfvz QtSixA-1.5.1-src.tar.gz

wget https://bugs.launchpad.net/qtsixa/+bug/1036744/+attachment/3260906/+files/compilation_sid.patch
patch ~/QtSixA-1.5.1/sixad/shared.h < compilation_sid.patch

cd QtSixA-1.5.1/sixad
make
sudo mkdir -p /var/lib/sixad/profiles
sudo checkinstall

Create a profile for the controller:

sudo nano /var/lib/sixad/profiles/default
enable_leds 1
enable_joystick 1
enable_input 0
enable_remote 0
enable_rumble 1
enable_timeout 0
led_n_auto 1
led_n_number 1
led_anim 1
enable_buttons 1
enable_sbuttons 1
enable_axis 1
enable_accel 0
enable_accon 0
enable_speed 0
enable_pos 0

Connect your controller with USB to the RPi and run the following command:

cd /home/osmc
sudo ./sixpair

If that succeeded, you can unplug the controller and test if the controller connects with your bluetooth device:

sudo hciconfig hci0 pscan
sudo sixad —start

If the worked you can setup Sixaxis Manager as a service and start it

sudo update-rc.d sixad defaults
sudo service sixad start

You can use the joystick test utility to see of all buttons work:

sudo jstest /dev/input/js0

I tried to make some udev rules to make everybody’s life easier, but that didn’t work for one.
Add ‘hciconfig hci0 pscan’ at the end of /etc/rc.local just before exit 0.

To make it automatically that when you attach an controller with usb to the system, make this udev rule:

sudo nano /etc/udev/rules.d/99-sixpair.rules
ACTION=="add", KERNEL=="js[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="usb", RUN+="/home/osmc/sixpair"

Hope this helps most of you, there is still some controller configuration to be done, please have a look here where I got most of the stuff from.

2 Likes

Thanks @Theetjuh

This is great - will try this out.

Hey, you can write instructions on how you adjust Amber skin? Thank you for your help… :slight_smile:

[quote=“Mayki, post:458, topic:1921, full:true”]Hey, you can write instructions on how you adjust Amber skin? Thank you for your help… :slight_smile:
[/quote]

Just go to settings and then Home menu, pick one of the empty slots and edit the name (no action) to RetroPie
When you have that done, go with SSH into your Pi and edit the file .kodi/userdata/guisettings.xml and look for RetroPie.
Underneath the name you find the property path, just use this command between the values

System.Exec(/home/osmc/RetroPie/scripts/retropie.sh)

Then it will look something like this:

<setting type="string" name="skin.amber.CustomHome.9.Label">RetroPie</setting>
<setting type="string" name="skin.amber.CustomHome.9.Background"></setting>
<setting type="string" name="skin.amber.CustomHome.9.Path">System.Exec(/home/osmc/RetroPie/scripts/retropie.sh)</setting>

Good job, thank you.

Thanks @Theetjuh, I was able to follow your instructions and all went well without any issues until I try to pair the controller:

Plug the PS3 controller to the RPi.

osmc@osmc:~$ sudo ./sixpair
Current Bluetooth master: 13:fa:5d:c9:11:a6
Setting master bd_addr to 13:fa:5d:c9:11:a6
osmc@osmc:~$ sudo hciconfig hci0 pscan
osmc@osmc:~$ hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 13:FA:5D:C9:11:A6 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:5564 acl:36 sco:0 events:193 errors:0
TX bytes:1724 acl:44 sco:0 commands:63 errors:0

I unplug the controller from the USB.

osmc@osmc:~$ sudo sixad -start
sixad-bin[594]: started
sixad-bin[594]: sixad started, press the PS button now

I press the PS button but It just stays at that prompt and doesn’t do anything. I’ll keep troubleshooting but any insight would be great.

The sixad --start is more for a test if the controller connects through BT after you have paired it through the sixpair command.

If it connects (you’ll notice because of the force feedback and led 1 lights up) you can simply press ctrl+c to abort the application and go further with guide :smile:

:exclamation: Btw this only works with original ps3 controllers :exclamation:

I just tried this twice from a fresh install last night and never had success. Trying to figure out where I’m going wrong…
I always end up with this issue, similar to another user:

Building dependency tree
Reading state information… Done
Correcting dependencies… failed.
The following packages have unmet dependencies:
libsdl1.2debian : Depends: libts-0.0-0 (>= 1.0) but it is not installable
Depends: libxrandr2 but it is not installed
Depends: libxrender1 but it is not installed
libsdl2 : Depends: libts-0.0-0 (>= 1.0) but it is not installable
Depends: libxcursor1 (> 1.1.2) but it is not installed
Depends: libxinerama1 but it is not installed
Depends: libxrandr2 (>= 2:1.2.0) but it is not installed
Depends: libxss1 but it is not installed
Depends: libxxf86vm1 but it is not installed
Depends: libudev0 but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

How do I go about fixing this? Also never hit the retropie_setup script. It always seems to be something I need to run myself (which I see you say to avoid). I thought it may be something switching gcc to 4.9, but that never seemed to affect anything- can you help me out please!