Working in android?

is this working on adroid devices?

No, and to explain why, here’s my favorite copypasta from @jroweboy.

You’d have to make some extremely minor code changes to disable both the cpu jit and the shader jit as they both only emit x86_64 and do NOT have an aarch64 backend. Worded differently, a 64 bit phone is not the same as a 64 bit pc as a 64bit phone is 64bit ARM and the pc is 64bit x86.
So its still possible? If I disabled those two things then it’ll run right? Well once you’ve disabled both of those, then your performance will go straight down the toilet. I’m talking seconds per frame.
So what is needed to get citra running on mobile? Lets just talk about the most viable route to get a decently fast version of citra running on the highest end android devices.

  • Add an aarch64 backend to dynarmic (the cpu jit). (also port it from xbyak to asmjit so you can even do that.) I’d estimate somewhere in the low hundreds of hours.
  • Add a vulkan backend to citra. low to mid range of hundreds of hours. A huge undertaking! You would need someone whos both very familiar with the 3ds gpu and vulkan and is willing to put in a bunch of time to write all that. my head is spinning thinking about that :stuck_out_tongue: (Good thing about a vulkan backend is it can be used on both pc and phone!)
  • Add a few things like an android ui. things like a menu or whatever. I’d say 10 hours. You can just rip most of that from PPSSPP for a start and it wouldn’t be too hard to adapt.
1 Like