Anbernic 35xx moving away from stock
from MystikIncarnate@lemmy.ca to retrogaming@lemmy.world on 19 Aug 2023 04:16
https://lemmy.ca/post/3531778

Looking for some advice here, I’m out to complete two things:

  1. restore saves from the games I played using the stock firmware to GarlicOS
  2. get two player/two controllers working for couch gaming over HDMI

Specifics: I picked up a 16G microSD for the OS, and a 64G for ROMs, pulled the original (kinda garbage) SD and replaced it with the 16G that I loaded with GarlicOS. I copied the relevant roms that I loaded onto the original SD to the new set and moved the save files ( .sav) over to the saves folder in the relevant subfolder. Launching the game results in a blank save. I can’t continue the save.

For dual controller/two player, I haven’t tested HDMI yet (on the list) I’m just trying to get controllers working at the moment; I have an Anker USB 3 hub. What works right now, is if I plug my Stadia controller in, it gets picked up, no problem. but my xbox controller will mess everything up. If I just do my OTG adapter to the stadia controller, it works, OTG to hub to stadia, no problem. If I either go OTG to the xbox controller, or OTG to hub to controller, it does not come up in GarlicOS. If I plug OTG to hub to both controller, neither shows up. I added waitForUSB (I also tried waitforUSB) file to the OS SD card, with no effect (the file still exists).

With stock, I was able to use a controller (just the stadia controller), over USB OTG with HDMI, so I know that works, and it should still work. The Xbox Controller I’m using is almost brand new, it’s an XBOX One controller, connected by a USB A to C cable, I picked up 10ft cables from Anker for the purpose. I’m fine with wired, but I also have a USB xbox wireless dongle for PC that I can’t seem to find right now, and I’m wondering if that would do any better (and I would prefer this since it would be wireless).

Does anyone have any hits or tricks or information related to this that I can use to push this along? is the new series of xbox controllers not compatible? do I need to change the drivers or something to make it work better? I’m new to retroArch, and GarlicOS, and the 35xx is my first dedicated retro handheld. I’m refreshingly not new to linux or SBC’s, so I’m very comfortable with making changes and taking chances. All my saves are archived on that original SD card, and I have a backup on my laptop, so I’m not worried about losing saves or data at all. If the controllers are not viable, I’m sure I can find something that works and pick that up, maybe something from 8bitdo.

Thanks in advance.

#retrogaming

threaded - newest

MystikIncarnate@lemmy.ca on 21 Aug 2023 09:24 collapse

Well, in lieu of anyone else furthering discussion on this, I’ve hit a strange issue, but I’ve solved a few things as well.

For saves, I found that the problem stemmed from having multiple emulation options, and I was simply placing the files under the wrong emulator save directory. Some back and forth experimentation got it working. Bear in mind, I only had a handful of saves, so no big deal for me, but the stock OS generally puts the save files into the same folder as the game file itself, so it’s fairly easy to find. It needs to be relocated to the saves folder under the applicable consoles engine. Once I sorted that out, all is well, my games now have their save files back. One quirk that’s worthy of note for anyone struggling with this, is that you need to fully restart the game in garlic OS for the save files to be picked up, which can be done rather easily by simply pressing the start button to launch the game, rather than the A button (which loads the most recent state file). Once the game loads in fresh, it should pick up the save file without any further trouble.

For controllers, I’ve made some progress. I found my Xbox one era usb dongle for my controller. I tested it on my PC, which also allowed me to sync my controller to the dongle for testing. No issue there. All buttons work as far as I can tell, the gamepad comes up and works on my PC without issue. Plugging the dongle into the anbernic, I don’t get any feedback and the controller will not sync to the dongle. I am guessing there’s some kind of initialization needed on the host (PC) side before the dongle fully comes alive, and allows controllers to connect, which the anbernic isn’t doing (unsurprisingly). IMO, without custom drivers added, this won’t happen. I’m no stranger to adding stuff like this to strange Linux versions, but I haven’t done the required work to even find an open source, or Linux/ARM compatible version of the driver, and honestly… It seems like more trouble than it’s worth.

To the best of my ability, Xbox one and newer controllers do not work with the 35xx.

I do, however, have a set of Xbox 360 controllers. I asked around and happened to get a 360 specific PC dongle too. Someone had it laying around, unused, and was happy to lend/give it to me. The good news here is that it works right out of the gate. Plug it into your otg cable and poof, four controller inputs. There is some strange behaviour here with the official Xbox controllers but it works. Whether you have four controllers connected or not, you’ll get four in the interface. I think these phantom controllers are just a quirk of how this dongle works. Sure enough, when I got a controller to connect, its input was recieved. The Xbox 360 controllers don’t show what “slot” they’re on - if you don’t recall, 360 controllers would light up one of four quadrants around the Xbox logo button to indicate whether you’re player 1, 2, 3, or 4. This doesn’t work. Instead it stays at a slow blink on the entire ring around the button. I’m guessing this is a software thing that is missing from the xinput driver in the anbernic, but I have no idea. It works, so we move on.

Two issues stem from the 360 controllers… To date, despite having the wireless controllers play+charge cable adapter, the controllers will not show up if they’re wired. I know others have used the dedicated wired only Xbox 360 controllers with success, so this is an oddity… Maybe something else is wrong, further testing is required. The second issue is with garlic OS…

In the latest version of garlic OS, the integrated controller shows up as a discrete item on the controller selection window. In and of itself, this isn’t a problem. The problem occurs when you try to change player 1’s controller. It will instantly change the management controls exclusively to the controller selected. And for me, the button mapping does not work. So as soon as I select the external controller, I lose all ability to control the device. All buttons on the integrated controller are not mapped to any input, and the new controller has the wrong mapping. The unit still works, and if I reset it, I can use the integrated controller to select a game, once in game, P1 can’t do anything.

The worst part is that if I go back into the retro arch menu to fix it, the controller on the unit stops working again, and I’m trapped in the retro arch menu with no way to exit or literally do anything.

I’ve fixed the problem by pulling the sd card and modifying the retroarch.cfg file manually and setting the controller designation to “0”, which is the RG35xx integrated controller static designation.

What this means is that for two player couch gaming, I need to pull the SD, copy/paste the control mappings from player 2 (which has already been assigned to the Xbox controller), to player 1, and change the controller assignment t