RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

1.20.0 - No access to User folder on filesystem on macOS Appstore version

Open benjamindahl opened this issue 11 months ago • 15 comments

Is there an existing issue for this?

  • [X] This is a bug in RetroArch frontend
  • [x] I have searched the existing issues

Description

When I try to scan my ROM directory to import games I'm not able to access the User folder although full disk access permissions are granted. This only happens with the AppStore version on macOS. Directory is not found

Bildschirmfoto 2025-01-12 um 15 18 08

Expected behavior

Have access to the whole file system on macOS

Steps to reproduce the bug

Just try to import ROMs from the menu

Version/Commit

1.20.0 macOS AppStore

Bisect Results

No response

Check in the nightly version

I don't know

Platform & operating system

macOS 14.5

Affected Cores

No response

Environment information

No response

Relevant log output

No response

benjamindahl avatar Jan 12 '25 14:01 benjamindahl

I edited the ~/Library/Containers/com.libretro.dist.RetroArch/Data/Library/Application Support/RetroArch/config/retroarch.cfg manually to the path ~/Library/Containers/com.libretro.dist.RetroArch/Data/Documents/RetroArch and I can Access the directory but when I navigate to parent folders those can not be found again.

Bildschirmfoto 2025-01-12 um 15 25 29

Bildschirmfoto 2025-01-12 um 15 24 43

benjamindahl avatar Jan 12 '25 14:01 benjamindahl

Am also seeing this. I even tried giving RetroArch full disk access, but still encountered the same issue. Using the CMD-O shortcut to load content, I was able to select a ROM file but the program simply crashes.

Sammcb avatar Jan 12 '25 17:01 Sammcb

Hm, this was working for me at one point. It does have the "User Selected File (Read/Write)" permission selected. I'm seeing the same thing though. I'll see what's going on. In the mean time you can always manually copy things into its sandbox.

warmenhoven avatar Jan 12 '25 23:01 warmenhoven

Thanks for reporting this. I'm experiencing the same issue on Macbook M1 Air on Ventura. Retroarch 1.20.0 downloaded from macOS app store.

ceedveed avatar Feb 14 '25 03:02 ceedveed

Same here unfortunately.

namquang93 avatar Feb 19 '25 08:02 namquang93

Yes, me too. I keep my collection in my Documents folder and have no idea how to access anything from within the AppStore version. I even tried creating an alias folder (aka Shortcut) to my collection folder and place it inside the RetroArch app folder. Doesn't even show up! Yes, I too gave RetroArch permission to my whole system.

Keekoca avatar Mar 06 '25 00:03 Keekoca

Same here, cant access User

DukeofDhaka avatar Mar 12 '25 02:03 DukeofDhaka

I know this problem should be solved with 1.21.0 but for those who are still on 1.20.0 I found as a solution to create symbolic links to the folders in a location where retroarch has access to.

for example:

benny@mbp ~ % mkdir /Library/Application\ Support/RetroArch
benny@mbp ~ % cd /Library/Application\ Support/RetroArch
benny@mbp RetroArch % ln -s /Users/benny/Library/Containers/com.libretro.dist.RetroArch/Data/Library/Application\ Support/RetroArch Sandbox
benny@mbp RetroArch % ln -s /Users/benny/Library/Containers/com.libretro.dist.RetroArch/Data/Documents/RetroArch Data

benjamindahl avatar May 08 '25 13:05 benjamindahl

Good to know that. Anyone know when the App Store version is updated to 1.21.0?

namquang93 avatar May 08 '25 13:05 namquang93

Looks like 1.21.0 was released for macOS on the Appstore about 1 week ago. Is anyone able to select a folder outside Retroarch when importing content through the Playlist function?

I tried to load content (one ROM) using the Load Content function. It works by using the Open using System File Picker option to select a folder outside Retroarch. However, I could not use the mouse and needed to navigate the file browser with the keyboard.

ceedveed avatar May 28 '25 14:05 ceedveed

The app is sandboxed similar to how it is on iOS so it can't directly access the files outside its folder without using the Open... dialog in Load Content.

warmenhoven avatar May 28 '25 14:05 warmenhoven

The app is sandboxed similar to how it is on iOS so it can't directly access the files outside its folder without using the Open... dialog in Load Content.

Thanks for your work on the app. Can you explain how to copy files to the sandbox?

EDIT: I'm uncertain if I should be seeing the same behavior between macOS and iOS. On iOS, I can see a list a folders when I select the Retroarch folder through Playlist -> Import Content -> Manual Scan -> Content Directory. But on macOS, the folder list is empty doing the same workflow. I attached videos to make it clearer. Full Disk Access was enabled through macOS Settings.

https://github.com/user-attachments/assets/84b99f1d-b49c-4be3-8b86-694b4c8bf3a8

https://github.com/user-attachments/assets/21a8e811-63a4-4dae-b61d-5d2c55ddf75b

ceedveed avatar May 28 '25 14:05 ceedveed

same issue on 1.21.0, it seems the App Store version is completely broken

maefiosii avatar Oct 04 '25 17:10 maefiosii

The easiest way I found to get this working is to create a content directory within the RetroArch sandbox. And then manually set the rgui_browser_directory to that content directory. Then drag all content in there and Import Content. Here are some steps:

  1. Close RetroArch first.
  2. I created my content directory in: ~/Library/Containers/com.libretro.dist.RetroArch/Data/Documents/RetroArch/
  3. You'll find the config file here: ~/Library/Containers/com.libretro.dist.RetroArch/Data/Library/Application Support/RetroArch/config/retroarch.cfg
  4. In retroarch.cfg, find the rgui_browser_directory and update it to: rgui_browser_directory = "~/Documents/RetroArch/content"
  5. Restart RetroArch and Import Content. You should start from your content directory.

Note that the directory looks like you're setting it to the user's Documents directory. However, it seems to be relative to the app's sandbox in this context.

I hope this helps!

fostah avatar Oct 10 '25 11:10 fostah

The easiest way I found to get this working is to create a content directory within the RetroArch sandbox. And then manually set the rgui_browser_directory to that content directory. Then drag all content in there and Import Content. Here are some steps:

  1. Close RetroArch first.
  2. I created my content directory in: ~/Library/Containers/com.libretro.dist.RetroArch/Data/Documents/RetroArch/
  3. You'll find the config file here: ~/Library/Containers/com.libretro.dist.RetroArch/Data/Library/Application Support/RetroArch/config/retroarch.cfg
  4. In retroarch.cfg, find the rgui_browser_directory and update it to: rgui_browser_directory = "~/Documents/RetroArch/content"
  5. Restart RetroArch and Import Content. You should start from your content directory.

Note that the directory looks like you're setting it to the user's Documents directory. However, it seems to be relative to the app's sandbox in this context.

I hope this helps!

Thank you so much for giving such a detailed but simple to follow set of instructions! This works for me on 1.21.0. Can finally load my roms easily through the retroarch menu.

ceedveed avatar Oct 11 '25 03:10 ceedveed