Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
  • goodjaerb
    Post 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.

    Post 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.

    backend = oss
    disable = 0
    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
    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
    ElfFile = 
    OpenGlChecks = 0

    Now you also will need to take a look at the controller_XboxGamepad(userspacedriver).cfg file. Here’s min again for reference:

    mapping_name = Xbox Gamepad (userspace driver)
    btn_escape = 0x13a
    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 
    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 = no
    Post 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.

    Post 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.

    Post 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.

    Post 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.

    Post 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.

    Post count: 5

    In my case I had to run the command sudo chattr +i emu.cfg to 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.cfg to 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.

    Post count: 5

    Thanks a lot I didn’t know that before.

    I can manage to go further thank you.

Viewing 9 posts - 1 through 9 (of 9 total)
  • The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.