[HowTo] RetroPie and OSMC: Retrosmc - Retrogaming on OSMC

New release.
Hope the input problems are fixed now.

For this update the configfiles need to be resetted unfortunately.

The script ran successfully and I am able to successfully enter Retropie so thanks a million for making this script. I’m wondering how I access the retropie setup script though (retropie_setup.sh). It is usually in the RetroPie-Setup folder but that folder doesn’t seem to exist. I need to access it to be to install testing versions of mupen64plus.

Edit: it also seems as though the retropie doesn’t recognize the keyboard when installed this way.

Did you even read the first post?

If your answer is yes, read it again please.

Thank you mcobit, this new build is working great. Still busily transferring and tweaking or I’d have said so sooner.

Hi, I just tried the alpha 0.005. The psx emulator in retroarch no longer recognises my xbox 360 wired (microsoft) controller. Whereas it did in yesterday’s release (think this was 0.003 or 0.002).

I haven’t worked out how to deal with xboxdrv yet, which I think I now need to do. However, thought I would mention the above anyway. I’m not sure where xboxdrv needs to go, given that in retrosmc, the pi boots into retrosmc and out of osmc.

Fwiw, emulation station still allows me to use the input configurer thingy to learn the xbox 360 controller’s buttons, but then forgets again when I go back in.

[Edit] I installed xboxdrv with apt-get, then used method 1 of 3 here. However, it seems not to have made any difference. This is the first time delving into stuff like sudo nano, so I’m probably a bit out of my depth. However, if anyone managed to get a wired xbox 360 controller working, then please let me know.

I’d also love to know how to insert a line to symlink a ROM to my nasdrive. I’m sure it’s easy, but I’m finding it hard to follow stuff I see on the interweb.

hey,

for me, most of my snes games wont start. tested all kind of downloads.
Read-write permissions are ok (644).
no special characters in filename
and no error in es_log.

any idea?

The easyest way to do that will be to copy the Roms folder to your NAS with the whole structure and sort your games in there. After that you can remove the Roms folder by doing rm -rf ~/RetroPie/roms

Now you type ln -s /path/of/rom/folder/ ~/RetroPie/

That’s it. Be sure to use nfs, cause that’s much faster than samba

Don’t know how I missed that one, thanks. Fixed the keyboard by doing a reinstall so everything works there. I know you are going to be adding more than just retroarch emulators at a later date, will you also be adding the rest of the script files?

This is perfect! Thanks!

Great stuff. Finally managed to get both my rumblepad and my DS3 pad working. And couldn’t get any FBA game to run but found out that I was using a wrong romset.

But like erikdietz, I’m running into some trouble with snes roms. In particular, can’t get any rom to load under the snes9x-next emulator, as it freezes with a sound buffer frames error message. And the other emulators are hit and miss. Same thing with genesis/megadrive. Can it be something missing on the scripts or is it just poor compatibility in general with retropie?

Thanks GodHunt3r!

Hi Turgon,
Can I ask you how you get your DS3 working ?
Mine is an official Sony Dualshock 3. I plugged it with a mini-usb cable. The controller is detected by EmulationStation after pressing the ‘Playstation’ button. I configured all controlls. Then, when I launch Super Nintendo emulator with for example Super Mario World, all mey key press are ignored, I can’t do anything in game.
Did I miss something ?
Thank you.

Doesn’t sound good if stuff isn’t running anymore that was before.
Will investigate a bit.

@berturion:

i’ll just repost theetjuh’s instructions from the other thread, with the correction of one typo he made that was preventing the Sixaxis manager from compiling (lib-usbdev instead of the correct libusb-dev). Just follow the instructions, entering one command at a time:

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 libusb-dev 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

Paste this into the file:

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

Save and exit.

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

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 it 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
3 Likes

Thanks. Snes and genesis/megadrive emulation is where I’m having trouble. I’ve tried several different roms from several romsets and can’t run games like Super Metroid, Super Mario (All-Stars and World), Star Wars and many many others.

Are you on latest version?

Try a complete uninstallation and reinstallation saving your roms first.

I am on the latest version, yes. Been having this problem since the first version.

Just to make sure: snes9x-next runs well for you?

Thank you @Turgon,
I followed all your post and my PS3 Controller is now connected in bluetooth. But I have the same problem: when I am in game and I press any key of my controller, nothing happens. I will try other game and emulator to see if it comes from them.
Very helpful post though :slight_smile:

EDIT:
The problem is also there with “megadrive” and “ports” emulators. I can’t press anything once the emulator is launched.
Googling this, I found that it can be a problem with retroarch gamepad config, do I need to configure my PS3 controller for each emulator ?

Normally, when setting up the controller configuration in emulationstation, it should automatically create a config fir your controller in retropie.

Could you set up your joypad in emulationstation again?

After that check in /opt/retroarch/configs/all/retropie-joypads/
If there is a file named after your joypad.

Copy and Paste the following at the end of “/opt/retropie/contour/all/retroarch.cfg”

MAKE ANALOG STICK WORKS

input_libretro_device_p1 = 5
input_libretro_device_p2 = 5
input_libretro_device_p3 = 5
input_libretro_device_p4 = 5
input_player1_analog_dpad_mode = 1
input_player2_analog_dpad_mode = 1
input_player3_analog_dpad_mode = 1
input_player4_analog_dpad_mode = 1

SHORTCUT INPUT

input_enable_hotkey = “0”
input_exit_emulator_btn = “3”
input_load_state_btn = “14”
input_save_state_btn = “13”
input_volume_up = “11”
input_volume_down = “10”
input_menu_toggle = “12”

INPUT SETTINGS

input_player1_a_btn = “13”
input_player1_b_btn = “14”
input_player1_x_btn = “12”
input_player1_y_btn = “15”
input_player1_l_btn = “10”
input_player1_r_btn = “11”
input_player1_l2_btn = “8”
input_player1_r2_btn = “9”
input_player1_l3_btn = “1”
input_player1_r3_btn = “2”
input_player1_start_btn = “3”
input_player1_select_btn = “0”
input_player1_left_btn = “7”
input_player1_up_btn = “4”
input_player1_right_btn = “5”
input_player1_down_btn = “6”
input_player1_l_x_plus_axis = “+0”
input_player1_l_y_plus_axis = “+1”
input_player1_l_x_minus_axis = “-0”
input_player1_l_y_minus_axis = “-1”
input_player1_r_x_plus_axis = “+2”
input_player1_r_y_plus_axis = “+3”
input_player1_r_x_minus_axis = “-2”
input_player1_r_x_minus_axis = “-3”

input_player2_a_btn = “13”
input_player2_b_btn = “14”
input_player2_x_btn = “12”
input_player2_y_btn = “15”
input_player2_l_btn = “10”
input_player2_r_btn = “11”
input_player2_l2_btn = “8”
input_player2_r2_btn = “9”
input_player2_l3_btn = “1”
input_player2_r3_btn = “2”
input_player2_start_btn = “3”
input_player2_select_btn = “0”
input_player2_left_btn = “7”
input_player2_up_btn = “4”
input_player2_right_btn = “5”
input_player2_down_btn = “6”
input_player2_l_x_plus_axis = “+0”
input_player2_l_y_plus_axis = “+1”
input_player2_l_x_minus_axis = “-0”
input_player2_l_y_minus_axis = “-1”
input_player2_r_x_plus_axis = “+2”
input_player2_r_y_plus_axis = “+3”
input_player2_r_x_minus_axis = “-2”
input_player2_r_x_minus_axis = “-3”

1 Like