libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.41k stars 1.84k forks source link

Android N - Limited Experience when trying to run off an external SD card #5086

Open abraxas86 opened 7 years ago

abraxas86 commented 7 years ago

Description

Re-creating the file-tree on an external SD card, and setting paths to these new directories leads to a very limited experience

Expected behavior

Actual behavior

Steps to reproduce the bug

  1. Create a new directory on your SD Card. I called mine "Emulation"
  2. Create two new directories within this directory: a. One to mimic the layout of /data/data/com.retroarch b. One to mimic the layout of /storage/emulated/0/RetroArch
  3. Update the Directories section of Retroarch to point to your new directories
  4. Run the online updater - nothing is populated.

[Attempt 2]

  1. Go into the commandline
  2. Copy the contents of /data/data/com.retroarch onto the SD Card folder
  3. Run the updater*
  4. Scan a directory * Not sure if this did anything at all

Bisect Results

Fresh install - happened with the Playstore download and the nightly Wondering if this is due to Android 7 file access/write restrictions? Retroarch asks for write permissions when its opened, but never allows me to grant it access to read/write from the SD card

I am able to play ROMs, and the history playlist seem to work fine. I can also save/load states without issue. Might be an issue with reading/writing the rdb database?

Version/Commit

You can find this information under Information/System Information

Environment information

andres-asm commented 7 years ago

Apps can't write to the sdcard unless they are system apps or you go thru a bunch of Java interfaces.

RetroArch is mostly C and while it can be done it's a lot of effort.

Everything works fine if you apply sdfix to your device so the only solution is to ask Google to stop sending idiotic.

On Wed, Jun 21, 2017, 1:44 PM wardrich notifications@github.com wrote:

First and foremost consider this:

  • Only RetroArch bugs should be filed here. Not core bugs or game bugs
  • This is not a forum or a help section, this is strictly developer oriented

Description

Setting paths to an SD card leads to a very limited experience Expected behavior

  • Collections should be built after scanning a directory. Works fine when directories are set to their defaults
  • Configurations save without issue
  • Online updater will re-create folders on the SD card
  • Remove content stored on the phone, and everything will run from SD

Actual behavior

  • Collections do not build
  • Configurations still try to save to the old default location
  • Scanning directories doesn't seem to do anything despite it taking a while to parse a directory
  • The Online Updater doesn't seem to do anything after it downloads the content

Steps to reproduce the bug

  1. Create a new directory on your SD Card. I called mine "Emulation"
  2. Create two new directories within this directory: a. One to mimic the layout of /data/data/com.retroarch b. One to mimic the layout of /storage/emulated/0/RetroArch
  3. Update the Directories section of Retroarch to point to your new directories
  4. Run the online updater - nothing is populated.

[Attempt 2]

  1. Go into the commandline
  2. Copy the contents of /data/data/com.retroarch onto the SD Card folder
  3. Run the updater*
  4. Scan a directory
    • Not sure if this did anything at all

Bisect Results

Fresh install - happened with the Playstore download and the nightly Wondering if this is due to Android 7 file access/write restrictions? Retroarch asks for write permissions when its opened, but never allows me to grant it access to read/write from the SD card Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.6.0
  • Build: Jun 21, 2017

Environment information

  • OS: Android 7.1.2 (LineageOS)
  • Compiler: Clang/LLVM (3.8.256229) 32-bit
  • Device: Galaxy S5

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/5086, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0Hr6BozqtpS9tKBvQhcJbRjpoKs_ks5sGWR4gaJpZM4OBXRH .

abraxas86 commented 7 years ago

I've tried a few things I've seen online for SDFix, and I can't get any of them to work. Do you know of any that work well?

In the meantime, I think I'm just going to get everything set up on the internal memory, then move it all over to SD once it's done.

andres-asm commented 7 years ago

You need root for SDfix to work

On Thu, Jun 22, 2017, 6:34 AM wardrich notifications@github.com wrote:

I've tried a few things I've seen online for SDFix, and I can't get any of them to work. Do you know of any that work well?

In the meantime, I think I'm just going to get everything set up on the internal memory, then move it all over to SD once it's done.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/5086#issuecomment-310354345, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0PGnqqPOiYsb_5UKPMnvTFbWfQrAks5sGlFJgaJpZM4OBXRH .