Run Nintendo Switch homebrew & games on your Android device!
Go to file
PixelyIon 0ea02f2d56 Fix Non-Cooperative Core Migration + Fix yieldWithCoreMigration + Improve Mutex Locking in ConditionalVariableWait
The case of a thread not being in the core queue during a non-cooperative core affinity change would break things as the thread was non-conditionally removed and inserted, this has been fixed by adding a check to see if the thread exists in the core's queue prior to migration. In addition, `yieldWithCoreMigration` was broken by the previous commit as the fallthrough was intentional and removing it cause core migration without a yield which led to breakage in certain circumstances. The mutex locking logic was also improved in `ConditionalVariableWait` to use atomics in a more effective manner with less atomic operations being performed overall.
2021-03-05 14:55:34 +05:30
.github/workflows Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
.idea Fix Non-Cooperative Core Migration + Fix yieldWithCoreMigration + Improve Mutex Locking in ConditionalVariableWait 2021-03-05 14:55:34 +05:30
app Fix Non-Cooperative Core Migration + Fix yieldWithCoreMigration + Improve Mutex Locking in ConditionalVariableWait 2021-03-05 14:55:34 +05:30
gradle/wrapper Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
.gitignore Fix GroupMutex and Clock Rescaling 2020-02-15 10:25:14 +00:00
.gitmodules Update NDK, Gradle and dependencies + Improve Settings API + Migrate to PugiXML 2021-03-05 14:55:34 +05:30
build.gradle Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
CONTRIBUTING.md Implement C++ Support for Controller Configuration 2020-08-21 11:48:29 +00:00
gradle.properties Fix Logger Settings + Use Java 8 + Update Kotlin + Extract Native SOs 2021-03-05 14:55:34 +05:30
gradlew add files, cannot figure out why native lib is broken 2019-06-28 20:35:14 -04:00
gradlew.bat add files, cannot figure out why native lib is broken 2019-06-28 20:35:14 -04:00
LICENSE.md Move to MPL-2.0 2020-04-23 22:26:27 +05:30
README.md Correct 'libNX' to 'libnx' in readme as per their branding 2020-07-01 06:24:41 +00:00
settings.gradle add files, cannot figure out why native lib is broken 2019-06-28 20:35:14 -04:00



Skyline is an experimental emulator that runs on ARMv8 Android™ devices and emulates the functionality of a Nintendo Switch™ system. It's licensed under the MPL, refer to the license file for more information.

Contact

You can contact the core developers of Skyline at our Discord. If you have any questions, feel free to ask. It's also a good place to just keep up with the emulator, as most talk regarding development goes on over there.

Credit

Ryujinx
We've used Ryujinx throughout the project for reference, the amount of accuracy of their HLE kernel implementation is what makes them such an amazing reference. In addition, the team behind the project has been really helpful with any queries we had.

Team yuzu
We have recieved a fair share of advice from the team behind yuzu. Just like the Ryujinx team, they've been really receptive and helpful for any queries we've had and have provided feedback on our code which was extremely useful during the early stages of the emulator.

Switchbrew
We've extensively used Switchbrew whether that be their wiki with it's collosal amount of information on the Switch that has saved us countless hours of time or libnx which was crucial to initial development of the emulator to ensure that our implementations were correct.

Disclaimer

  • Nintendo Switch is a trademark of Nintendo Co., Ltd.
  • Android is a trademark of Google LLC.