Jump to content

Shield TV -- Changing Directories in RetroArch Breaks Controller


Etheral

Recommended Posts

I was following along with the guide at http://emulationguide.com/retroarch-guides-shield-tv/retroarch-configuration and trying to set up custom directory locations.  I changed asset, autoconf, and config to something under /sdcard/ and then update assets, but then the controller stops working.  I have done this before, maybe with 1.3.4 (but this was only a few days ago, idk if I updated to 1.3.6 in the meantime without knowing) successfully.

 

So here's my first set of questions:

 

- I have a keyboard hooked up but can't figure out how to save myself from this situation other than deleting the retroarch.cfg file and starting over.  Is there an in-menu way to correct the controller settings?

- Is there a solid overall guide to setting up hyperspin on Shield TV anywhere?  I've only found guides that are incomplete.

Link to comment
Share on other sites

Sorry your having issues with my guide.

I can't test this till tonight (10pm ish uk time)

You should be able to open the retroarch.cfg with a text editor and replace the autoconfig directory path with the default one. (Until I test later I give you that path but you can lift it from one of your other default ones like cores replacing cores for autoconfig)

I don't know of a complete guide the sticky posts are the best source of info.

To check your retroarch version go to shield setting then apps and ding retroarch.

Pm me any suggestions to my guide think I need to add some warnings and a backup step for the retroarch.cfg

Link to comment
Share on other sites

So what I'd really like to do is edit the cfg in a text editor, making whatever directory changes I want and then be able to perform all updates in order to make the change effective.  Is there a way to do this?  I guess what I don't understand yet is what causes the controller to stop working exactly?  Literally things broke at one point when I changed a path to the exact same physical location but through the sdcard symlink... no reason why that should break anything imo but it did.

 

Yes I am def. on 1.3.6, and I'll PM you any feedback I have re: your guides after I have an actually working setup.  One suggestion now though is to provide a set of configs and directory structure that a user can simply drop into their shield and go!  It would be great to have a starting point vs. starting from scratch.  I did see your dir. structure download but a cfg to go with it would be great, and core cfgs also would be sweet!

Link to comment
Share on other sites

You can open the cfg file on your shield using Es file explorer. Just open and select text editor.

I find it easier just to copy stuff to my laptop and edit it with notepad++

The only thing that broke stuff for me up when changing directories was that if I closed retroarch before doing and online update for the assets or autoconfig. Because when you open again retroarch is looking for files in empty folders!!

Oh just thought you can download the files from there git pages., then drop the files into the folder your retroarch.cfg is pointing to. It will then read from them when it boots up.

Link to comment
Share on other sites

Ok so that's what I thought, that retroarch wouldn't read the directory changes until I exited (cfg saved) and re-entered -- but what is happening is I change the folders, update assets, and immediately after assets are extracted my controller stops working (keyboard does work on exit->re-entry into retroarch).  Correct me if I'm wrong, but it seems like what is happening is this:

 

- Update directories

- Run online update for assets

- Running binary is now looking at new directories because online update made it so

 

And maybe what I need to be doing is running the update for autoconfigs first before assets.  Then again, I'm really pointing at the same folders but through a symlink so it shouldn't matter at all!

 

I am able to edit the files directly (I just use ssh and vi) but this doesn't seem feasible since if I do this, I won't be able to open retroarch to perform the online updates which will result in a non-working install.

 

Are there logfiles that I can look at to see exactly what the heck is breaking?

Link to comment
Share on other sites

I remember seeing retroarch logs being hard to find. I have never looked.

Anyway I have tested it now with just assets and autoconfig directories. I recreated your fault.

The fault happened for me like this

If I changed assets AND autoconfig directory. Then done online update for assets my controller stopped working.

The correct process is this

1. Change assets directory ONLY

2. Do online update to new folder

(Controller keeps working)

3. Go straight back to directories and change autoconfig directory

4. Go back and do an online update of autoconfig. Everything works ok

To fix your current problem of not having a controller. There are plenty of options, what I done when testing was this

As long as you know the folder locations that are in you broken retroarch.cfg

1. Back up your broken retroarch.cfg (or change its name)

2. Run retroarch and it will create a new retroarch.cfg (fresh install one)

3. Follow the procedure above of changing one directory and online updating after each change

4. Your folder should now be populated with all the files retroarch needs to work

5. Delete the fresh retroarch.cfg and replace for your original backed up one that had stopped working.

Then when you run retroarch it should have the correct files.

Mine are all on internal storage never used symlinks so can't comment on that. The above worked for me only took a couple of minuites

Link to comment
Share on other sites

No worries hopefully it works.

If it does and you have time to return the favour, I would love son info on symlinks and ssh, where you found how to do it or the rough steps.

I did try ssh I think before and using an FTP client but didn't keep connected properly so just use the setup in my site.

Link to comment
Share on other sites

I could not get the controller to keep working when using anything other than the default path for assets, even using your instructions :(  I was able to use my usb keyboard to revert the paths to default and then re-update, and that fixed my controller at least. 

 

For ssh I am using sshelper android app (sideloaded iirc) and connecting via linux.  Mostly this just makes it easy to manage things on the device instead of having to transfer back and forth, but I used teamviewer before and it worked pretty well for that.  I use vi to do file editing but haven't been able to make symlinks due to permissions errors but I'm not rooted.  Quite strangely, I cannot navigate to some filesystem locations that are accessible by retroarch, and also I cannot create symlinks at /sdcard but I can create actual folders -- no idea what's up with that.  The fun continues!

Link to comment
Share on other sites

I could not get the controller to keep working when using anything other than the default path for assets, even using your instructions :(  I was able to use my usb keyboard to revert the paths to default and then re-update, and that fixed my controller at least. 

 

For ssh I am using sshelper android app (sideloaded iirc) and connecting via linux.  Mostly this just makes it easy to manage things on the device instead of having to transfer back and forth, but I used teamviewer before and it worked pretty well for that.  I use vi to do file editing but haven't been able to make symlinks due to permissions errors but I'm not rooted.  Quite strangely, I cannot navigate to some filesystem locations that are accessible by retroarch, and also I cannot create symlinks at /sdcard but I can create actual folders -- no idea what's up with that.  The fun continues!

The fun certainly continues! Just before bed I finished off changing my directories as I have not had a chance to set up 1.3.6 and it seems like in doing that it has cocked up launching retroarch from Hyperspin. Launches the game and controller won't work and even after force closing both apps if I open retroarch directly it boots straight into the game I have just closed!!!

I turned it off for another day.

For now I would suggest not changing directories for ANYTHING

Well shaders and overlays would be a good place to start as the configs are now saved in the RetroArch folder so we can access most things needed without rooting. (I have not rooted either)

Wierd those steps I used before didn't work for you. Were you changing them directly in retroarch?

The "application" directory as labeled in retroarch is within the root file structure of the shield. Android permissions is a strange one.

Link to comment
Share on other sites

Update

Tried testing abut again but don't get much time on the Shield. Are you loading retroarch directly or through Hyperspin?

It happened to me once again. I think these problems happen if you change the directory in the Hyperspin launched retroarch.cfg as it points to the root app folders. Couldn't get it to do it again.

This trick I found may help you with things like this in the future

http://www.hyperspin-fe.com/topic/27358-retroarch-dual-config-trick/

Link to comment
Share on other sites

I've not even gotten into Hyperspin yet actually except for some limited testing... I'm trying to get RA working, assuming that's a prereq to getting Hyperspin to work.  I'm thinking more and more that RA is just really buggy and untested with directory changes on Android and I'm going to just leave the defaults where possible.

Link to comment
Share on other sites

Yeah it seems the directory change is a bit more buggy than I thought.

I have changed most things now. Left assets alone, cored won't change anyway, left core info, cache and that's about it. Maybe one or two other things I won't need to access.

Just be careful when you start launching from Hyperspin as it uses the retroarch.cfg that's in the root folder so that's the one that really needs some directories changing otherwise you have to set the whole thing up again without any mistakes

Link to comment
Share on other sites

Like I said I haven't gotten to hyperspin yet, but can I not just copy the RA cfg to the hyperspin cfg folder and go?  And why does HS use a separate cfg anyway?  All questions that I'm sure could be answered elsewhere of course, but might as well ask while I have your ear :)

 

And what do you mean by "without any mistakes"?  

Link to comment
Share on other sites

No worries. Just about to turn in for the night so last reply right now.

When retroarch is launched from a frontend it reads the retroarch.cfg located in root data/user/0/com.retroarch (not just HS don't think it will change anytime soon) this means all the directories are set to folders within in root file system. So unless your device is rooted you can't copy things around. Best you can do is open RA from Hyperspin and change the directories. That's why my guide on that subject came about.

So if you don't change the directories then you must set everything up perfect 1st time because without root you can't delete anything if you make a mistake. Like messing you inputs up rendering HS launched RA useless!

I found a trick out recently that could help. Think I posted it on here if not its in the emulators section under "retroarch dual config trick"

All you have to do is change the directories in the root retroarch.cfg to point at the same folders as the normal retroarch.cfg (storage/emulated/0/android/data/com.retroarch/files/) that way they will both read from the same folders for your overrides, per core configs, remaps and system/bios folder etc.

Link to comment
Share on other sites

Ah thanks, that makes a lot of sense, especially considering the amount of times I've had to blow away my RA cfg file to start over!  That also explains why I can't just copy over the RA cfg file for use through HS.  I may end up rooting though just to make this easier.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...