Moleburt Posted March 29, 2020 Share Posted March 29, 2020 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? Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 29, 2020 Share Posted March 29, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 29, 2020 Author Share Posted March 29, 2020 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? Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 29, 2020 Share Posted March 29, 2020 (edited) 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 March 29, 2020 by Headrush69 Add more info Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 29, 2020 Author Share Posted March 29, 2020 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 Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 29, 2020 Share Posted March 29, 2020 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 Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 29, 2020 Author Share Posted March 29, 2020 I don't have the log to file, Not sure why not. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 29, 2020 Share Posted March 29, 2020 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 Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 29, 2020 Author Share Posted March 29, 2020 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 Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 30, 2020 Share Posted March 30, 2020 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? Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 30, 2020 Author Share Posted March 30, 2020 Yes they are the only controllers I have, I have 4 PDP brand Xbox One Controllers, they are wired not wireless. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted March 30, 2020 Share Posted March 30, 2020 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. Quote Link to comment Share on other sites More sharing options...
Moleburt Posted March 31, 2020 Author Share Posted March 31, 2020 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.