Repository navigation
apple: Fix mishandling of iOS/tvOS simulator core dylibs - #19935
Open
OpenSauce04 wants to merge 1 commit into
Open
OpenSauce04 wants to merge 1 commit into
OpenSauce04 wants to merge 1 commit into
Conversation
Contributor
Author
|
It seems like there's an upstream bug in MoltenVK which is preventing any cores from actually running due to an unrelated rendering crash, but they do load. That issue is entirely unrelated to what's being addressed in this PR, which is simply getting the cores to load at all, so this PR can probably be freely merged pending a fix for the other issue in MoltenVK. I will report the problem upstream. |
OpenSauce04
marked this pull request as draft
October 28, 2026 12:31
OpenSauce04
marked this pull request as ready for review
October 28, 2026 12:55
Contributor
Author
|
|
OpenSauce04
marked this pull request as draft
October 28, 2026 13:43
OpenSauce04
marked this pull request as ready for review
October 28, 2026 23:40
warmenhoven
approved these changes
Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Guidelines
C89_BUILD=1Description
Currently, the
make-frameworks.shscript makes the assumption that all supplied iOS core dylibs should have their platform set toIOSwhen runningvtool. This makes sense and works perfectly fine when working with real iPhone hardware, but dylibs targeting theIOSplatform are not binary compatible with iOS simulators. Apple's iOS simulators require the dylib to be built targetingIOSSIMULATORinstead, and if this is not respected, dlopen calls will fail. RetroArch doesn't currently handle this distinction, meaning that it is currently impossible to test RetroArch cores inside of an iOS simulator because cores will never successfully load, even if the core was originally built targeting the correct platform.This PR addresses this by checking whether or not the current target is a simulator beforehand, and adjusting the argument passed to
vtoolaccordingly. This is achieved via a new variableVTOOL_PLATFORM, which takes the place ofPLATFORM; this is becausePLATFORMis a widely used name throughout the rest of RetroArch, and the newVTOOL_PLATFORMvariable functions differently from the former, and may contain different values. Using a new variable name instead reduces confusion.Even though it is no longer used in the script, I have left
PLATFORMas it is just in case it is needed in the script at some point in the future.I have also applied the same fixes mentioned above to tvOS.
Reviewers
@warmenhoven