Documentation bug regarding roms directory on macOS
Opened this issue · 4 comments
Describe the bug
On the "search path" section of the ROMs documentation page, here, it is stated that the roms
directory can be located in one of the following locations:
roms
subdirectory in the VM pathroms
subdirectory in the same directory as the emulator executable- Platform-specific locations
However, in macOS (13.4.1) if the roms
directory is in the same location as 86Box.app
(e.g. ~/dev/86box/
) the "86Box cannot determine the emulated machine's location due to a macOS security feature" error is displayed when trying to launch 86Box. If the roms
directory is moved to ~/Application\ Support/net.86box.86Box/
then 86Box.app
can be launched successfully.
Confirmed on build 4701.
To Reproduce
- Make sure
~/Library/Application\ Support/net.86box.86Box/roms/
does not exist (or move it temporarily) - Place the
roms
directory in the same location as86Box.app
- Launch
86Box.app
Expected behavior
The documentation states the the roms
directory may be located "in the same directory as the emulator executable", yet that does not seem to be a valid configuration. Either the documentation needs to be updated to reflect the requirement that the roms
directory be placed in ~/Application\ Support/net.86box.86Box/
or the software needs to correctly check the " roms
subdirectory in the same directory as the emulator executable".
Desktop (please complete the following information):
- OS: macOS 13.4.1 on a 2020 14" MacBook Pro
- 86Box version: v4.0 build 4711
I can't seem to reproduce this. Ventura 13.1. Followed the reproduction steps. I also downloaded the latest 86box from CI (4748) to test.
- Made sure
~/Library/Application\ Support/net.86box.86Box/roms
did not exist - Placed roms directory in the same directory
- Launched in various ways
ls -ld 86Box.app roms
drwxr-xr-x 3 myusername staff 96 Jul 27 11:05 86Box.app
drwxr-xr-x 16 myusername staff 512 Sep 2 2022 roms
I tried launching by:
- Double clicking in finder
- Using
open 86Box.app
in a terminal - Directly calling the binary contained in the bundle (
./86Box.app/Contents/MacOS/86Box
) in a terminal
In every case it correctly found the roms directory in the current folder.
What may help: Could you run 86Box directly from a terminal and paste the output here? There's some extra information which may help us track this down. I'm not sure why your scenario is triggering that message.
In a terminal:
cd /path/to/dir
./86Box.app/Contents/MacOS/86Box
and paste the contents here.
Side note: When I moved it to a new location (removable drive) I did receive the 86Box would like to access files on a removable volume
message, to which I granted permission. I wonder if for some reason the executable does not have sufficient permissions to read the current directory?
It might be worthwhile to check System Settings -> Privacy -> Files and Folders -> 86Box.
Checking back in here - will you be able to run the commands I noted to help us track the issue down? Otherwise I can't reproduce.
@cold-brewed yes, I'm happy to test more - let me run through it again and make sure it's still happening.
Well, that is interesting. So I have just downloaded the latest stable release (4.0.1). If I run it from Finder I get following error, no matter where I move the app:
86Box cannot determine the emulated machine's location due to a macOS security feature. Please move the 86Box app to another folder (not /Applications), or make a copy of it and open that copy instead.
when I do what @cold-brewed suggested, I got:
86Box could not find any usable ROM images. Please [download](https://github.com/86Box/roms/releases/latest) a ROM set and extract it into the "roms" directory.
error
and after downloading the roms, and putting them side-by-side with 86Box.app
it worked from the command line, yet if I try to run it from Finder I still get the same error as initially.