Tagged: reicast xbox controller
goodjaerbParticipant02/01/2016 at 14:37Post count: 5
First off I am using RetroPie on a pc with Ubuntu per the instructions in the wiki. I have the controller working fine in Emulationstation and other emulators. However I’m having strange interaction with Reicast. I spent a lot of time fooling around with this and at this point I think there’s either something wrong with my installation or with emulationstation.
To the point, emulationstation appears to rewrite my ~/.reicast/emu.cfg when I start reicast.
Here’s a picture of my emu.cfg
Doing the emulationstation controller config does not seem to update emu.cfg. I know the evdev_device_id_1 needs to point to my controller.
Here’s the part I figured out. I can change the value of evdev_device_id_1 to 13 and run reicast directly outside of emulationstation from /opt/retropie/emulators/dreamcast/reicast/bin/reicast and the controller works.
So that’s great, but then I run emulationstation, choose dreamcast and run a game and no controller. I check the emu.cfg and it’s reverted back to whats in the picture.
So the question is why does emulationstation rewrite my emu.cfg (and only the input part.. if I change the fullscreen setting that stays fine). OR how can I make emulationstation set it up correctly.
Further, I thought that I needed to set a evdev_device_mapping to point to a file, but when running reicast directly and looking up in the text it outputs, it would never find the file. If I just did what I described above with the evdev_device_id_1 = 13 and no mapping reicast will detect the controller and automatically use the mapping for controller_xboxdrv.cfg and work fine.
I hope this makes sense and I appreciate your help.labelwhoreParticipant02/01/2016 at 14:46Post count: 526
That emu.cfg doesn’t look quite right. Here’s mine. I’m also using an xbox360 controller. Notice the evdev_mapping_1 entry.
[audio] backend = oss disable = 0 [config] Debug.SerialConsoleEnabled = 0 Dreamcast.Broadcast = 4 Dreamcast.Cable = 3 Dreamcast.RTC = 1543276800 Dreamcast.Region = 3 Dynarec.Enabled = 1 Dynarec.idleskip = 1 Dynarec.unstable-opt = 0 aica.LimitFPS = 1 aica.NoBatch = 0 aica.NoSound = 0 bios.UseReios = 0 pvr.MaxThreads = 3 pvr.Subdivide = 0 pvr.SynchronousRendering = 0 pvr.rend = 0 rend.UseMipmaps = 1 rend.WideScreen = 0 ta.skip = 0 [input] evdev_device_id_1 = 8 evdev_device_id_2 = -1 evdev_device_id_3 = -1 evdev_device_id_4 = -1 evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad(userspacedriver).cfg joystick_device_id = -1 [reios] ElfFile = [validate] OpenGlChecks = 0
Now you also will need to take a look at the controller_XboxGamepad(userspacedriver).cfg file. Here’s min again for reference:
[emulator] mapping_name = Xbox Gamepad (userspace driver) btn_escape = 0x13a [dreamcast] btn_a = 0x130 btn_b = 0x131 btn_c = 0x136 btn_d = 0x137 btn_x = 0x133 btn_y = 0x134 btn_z = 0x13d btn_start = 0x13b axis_x = 0x00 axis_y = 0x01 axis_trigger_left = 0x0a axis_trigger_right = 0x09 [compat] axis_dpad1_x = 0x10 axis_dpad1_y = 0x11 axis_dpad2_x = axis_dpad2_y = axis_x_inverted = no axis_y_inverted = no axis_trigger_left_inverted = axis_trigger_right_inverted = axis_dpad1_y_inverted = no axis_dpad1_x_inverted = nogoodjaerbParticipant02/01/2016 at 14:56Post count: 5
That’s the thing. I try using the evdev_mapping_1 = yaddayaddayadda and I run reicast from /opt/retropie/emulators and in the output it says it can’t find the mapping file. If I only set the evdev_device_id_1 it works. But again that’s outside of emulationstation. If I set up my emu.cfg like yours, run emulationstation and then run dreamcast from within, emulationstation rewrites my emu.cfg and removes any device id or mapping I had in there.labelwhoreParticipant02/01/2016 at 15:33Post count: 526
I noticed that as well. I had to fix my controller last night because my settings in controller_XboxGamepad(userspacedriver).cfg got blown away. There is one thing to try; after you edit the files, change the ownership of them and/or remove write permissions.
I haven’t tried that yet myself, but it should work.goodjaerbParticipant02/01/2016 at 15:43Post count: 5
I can try that tonight. I just wish I knew if it was something wrong with my ubuntu based setup or with emulationstation. I’d say I’m a hobbyist developer but I’m not good enough with github to dig into the source and figure anything out.
I don’t have a pi2 but I have retropie on an old pi, if I can get reicast on there maybe I can see how it behaves, even if it doesn’t run well.labelwhoreParticipant02/01/2016 at 16:09Post count: 526
Likewise. This stuff is mostly trial an error for me, along with a healthy dose of consulting the oracle at the Google Institute of Technology.donfalconeParticipant02/10/2016 at 12:54Post count: 5
hello I’m trying to run Reicast as well.
I’m using Retropie 3.3 and a xbox controller (wire and wireless). Each time I’m running the systemManager or any other file I can’t go over the time/date screen. The controller sometimes can move and change the date but no way to validate it.
I looked at the emu.cfg file and the associate mapping. I tried to change it but it seems that Reicast change emu.cfg at startup (automatic setup maybe) even if I remove the write mode.goodjaerbParticipant02/10/2016 at 13:08Post count: 5
In my case I had to run the command
sudo chattr +i emu.cfgto make the file completely unmodifiable. This means either you have to edit it first or if you need to edit it later you’ll have to do
sudo chattr -i emu.cfgto allow modifications. I also changed ownership to root and made it all read only permissions to be extra safe.
I didn’t have to use a mapping as reicast chooses one on its own. If I ever set a mapping value reicast would say it couldn’t find it. I just had to make sure the value for evdev_device_id_1 pointed to my joystick.
- The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.