yuzu
yuzu copied to clipboard
Project Lime - yuzu Android Port
This PR includes everything for “Project Lime”, the official port of yuzu to Android! This branch reflects exactly what was uploaded to the Play Store today, for both mainline and Early Access. Yuzu Android development will happen out of the main project repository, so it is our anticipation that this change will be quickly merged and that we can start automatically releasing daily Android builds to GitHub releases out of our main branch.
This branch includes about 6 months of work from various members of the team, so I will not go in depth into the changes here. Most work has already been reviewed internally. But to summarize, the main components of work include:
- Reworking our source code to compile on Android Studio’s compiler. This includes many build system fixes (some of which were just directly merged to master), as well as integrating a newer, more complete version of LLVM standard C++. Big thanks to @FearlessTobi, @liamwhite for help with this work.
- Building an Android frontend for yuzu. This work started by porting Citra’s frontend, which was originally based on a very old version of Dolphin. This has been largely rewritten to use Kotlin and modern UI patterns. Big thanks to @t895 for most of the development work, and @Schplee for the design work.
- Adapting yuzu’s Vulkan backend to render on Adreno GPUs. Largely, the team did not spend a ton of time optimizing or improving the GPU specifically for mobile, but there were a lot of smaller changes to get what we had running. Big thanks to @liamwhite and @GPUCode for help here, and also Skyline devs for providing LibAdrenoTools, fixes to yuzu’s shader backend for Adreno, and various guidance.
- Adapting yuzu’s user input for use with Android. Big thanks to @german77 for the development work here.
- Integrating Dynarmic’s Aarch64 backend into yuzu, and various fixes as we got things up and going on Android. Big thanks to @liamwhite and @merryhime for help here.
And lastly big kudos to yuzu’s test team for also helping us get this as polished as we could for an initial release. Please consider this beta software. Expect games not to work, things to crash, and performance to not be great. This is a work and progress, and the basis for this release is to establish a strong foundation that the project can continuously improve through open source development.
The APKs for both the mainline and EA flavors of this PR can be downloaded (for free) from our Patreon announcement post.