Jump to content
LaunchBox Community Forums

Retroarch Controls


Moleburt

Recommended Posts

Is it possible to make the controllers for retroarch static, so that after reboot or being plugged in/out the controllers stay ordered as player 1, 2, etc... I asked the same basic question earlier today about Mame and found my answer with the reply I got by using the stable id setup with mame, is there something similar you can do for retroarch to keep the controllers always assigned to the same player?

Link to comment
Share on other sites

Retroarch allows you to change the device index and that information is saved in the various overrides.

I have found this solution by itself to be insufficient by itself and has changed over Retroarch versions.

I use devreorder to set my device order, making sure dynamic devices are last. Then per core or game, whichever I need, set the device index in Retroarch and than save an override.

If I put my dynamic devices first, sometimes the order wasn't right, but it could have been specific to my XBOX 360 wireless devices and not always using both at the same time. I just went with the easiest solution for me.

  • Like 1
Link to comment
Share on other sites

14 hours ago, Headrush69 said:

Retroarch allows you to change the device index and that information is saved in the various overrides.

I have found this solution by itself to be insufficient by itself and has changed over Retroarch versions.

I use devreorder to set my device order, making sure dynamic devices are last. Then per core or game, whichever I need, set the device index in Retroarch and than save an override.

If I put my dynamic devices first, sometimes the order wasn't right, but it could have been specific to my XBOX 360 wireless devices and not always using both at the same time. I just went with the easiest solution for me.

I downloaded devreorder but can't seem to get it to work. I'm not sure if I set it up correctly. I downloaded the entire repo from github, but the instructions made me think that all I needed to do was put the "dinput8.dll" as well as the "devorder.ini" files in the retroarch folder where the main retroarch.exe was located. I used the devicelister.exe to list my devices to get the GUID and I put those in the order I wanted, but it isn't working. After a reboot the controllers go back to whatever order they load. Maybe I didn't understand the instructions for how to set this up?

Link to comment
Share on other sites

You don't need the entire repo, just click Releases -> Assets and grab the 1.0.3 zip file. (You did get the same files though)

Originally i had to install this in the system for Retroarch to work, but somewhere in the line of Retroarch and Windows updates, it works now just placing those files in the Retroarch directory.

Edit: Are you sure you are using the correct 32bit or 64bit version that matches Retroarch as well?

Edited by Headrush69
Add more info
Link to comment
Share on other sites

39 minutes ago, Headrush69 said:

You don't need the entire repo, just click Releases -> Assets and grab the 1.0.3 zip file. (You did get the same files though)

Originally i had to install this in the system for Retroarch to work, but somewhere in the line of Retroarch and Windows updates, it works now just placing those files in the Retroarch directory.

Edit: Are you sure you are using the correct 32bit or 64bit version that matches Retroarch as well?

I redownloaded that exact file, ran the devicelister and made sure I put my controllers in the order I wanted them in, I'm more than positive that I'm running 64bit retroarch, but tried both dll files to see if I was wrong, neither made it work. I attached my ini file, maybe I didn't set it up correctly? I've just been putting the ini and dll files in the root retroarch folder where retroarch.exe is. Not sure what or if I am doing anything wrong, if it doesn't work it isn't a big problem, would just be nice knowing which is player 1 - 4. Thanks for all the help @Headrush69

devreorder.ini

Link to comment
Share on other sites

I don't know for sure, but there could be a possibility of previous device indexes from Retroarch causing issues.

Could you temporarily rename your retroarch.cfg to something else to force a default start, and than run Retroarch (log to file) and than post the resulting file?

There have been changes to Retroarch because I see from my log it now enumerates Xinput devices as Dinput as well for the purpose of indexing while still being able to use the Xinput drivers for XBOX controllers.

Quote

[INFO] [XInput]: Found XInput v1.4.
[INFO] [XInput]: Found controller, user #0
[INFO] [XInput]: Pads connected: 1
[INFO] [DINPUT]: Enumerating joypads ...
[INFO] [DINPUT]: Device #0 PID: {CA03} VID:{046D}
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [DINPUT]: Device #1 PID: {0511} VID:{D209}
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [DINPUT]: Device #2 PID: {02A1} VID:{045E}
[INFO] [DINPUT]: Done enumerating joypads ...
[INFO] [XInput]: Attempting autoconf for "Logitech MOMO Racing USB", user #0
[INFO] [XInput]: Attempting autoconf for "Ultimarc Ultra-Stik Player 1", user #1
[INFO] [XInput]: Attempting autoconf for "XInput Controller (User 1)", user #2
[INFO] [DINPUT]: Found XInput pad at index 0 (DINPUT index 2)
[INFO] [XInput]: Found VID/PID (045E/02A1) from DINPUT index 2 for "XInput Controller (User 1)", user #2

 

Link to comment
Share on other sites

6 minutes ago, Moleburt said:

I don't have the log to file, Not sure why not.

Sorry, if you install Retroarch from the installer it adds that Start Menu shortcut.

Basically just run this from a command prompt in the Retroarch folder:

Quote

retroarch.exe -v --log-file retroarch-log.txt

 

Link to comment
Share on other sites

Here is the log file. I don't know if my configs for my cores and controllers are currently overriding the devreorder or something, I have 4 auto configs for my Xbox Controllers, They are named Xbox One Contoller (User 1), Xbox One Controller (User 2), etc... I don't know if those and the configs I have to each core are interfering or something with devreorder or what.

retroarch-log.txt

Link to comment
Share on other sites

3 hours ago, Moleburt said:

 I have 4 auto configs for my Xbox Controllers, They are named Xbox One Contoller (User 1), Xbox One Controller (User 2), etc... I don't know if those and the configs I have to each core are interfering or something with devreorder or what.

Are these the only controllers you have? Are these wireless?

 

Link to comment
Share on other sites

1 hour ago, Pixelpiper said:

Has anyone asked a Retroarch developers why their platform is still broken in this fashion?  Relying on device enumeration by an OS for input selection isn't the right thing to do. This is everyone trying to do a magic dance to overcome a design flaw in Retroarch - one that wouldn't be difficult for them to fix in the first place.

It has been requested many times.

You have to remember that although MAME has static IDs, they are enumerated on startup and don't change. Retroarch on the other hand is setup to handle dynamic device additions and removals.

It does appear with recent changes in Retroarch it enumerates even XInput devices as DInput as well (while using XInput driver still)  so much easier to order using Retroarch's device indexes.   

Link to comment
Share on other sites

Ya I can see why it's not as simple with Retroarch, even if I can't get these figured out to be ordered the way I'd like it's not really a problem, just makes you have to figure out which controller is which when you load up games, annoying but not that big of a issue, at least for me.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...