Git Product home page Git Product logo

citra_android's Introduction

Citra for Android

An (Unofficial) Android frontend for the Citra Emulator

This is an unofficial port for the Citra emulator based on the Dolphin emulator's Android frontend. So, huge props to the guys over there.

Since this code is almost entirely a copy of the Dolphin frontend,there are a lot of useless segments in here that aren't being used ... or are useless.

Download apk files from here

Device Requirements

  • OS
    • Android (5.0 Lollipop or higher).
  • Processor
    • A processor with support for either ARMv8 or x86-64; 32-bit processors (ARMv7, x86) are not supported by Citra.
  • Graphics
    • A graphics processor that supports OpenGL ES 3.2 or higher.

Building

You can follow this guide if haven't set up your Android environment. Once that is done, follow this to setup and use Cmake 3.8(min. for Citra) or higher.

First, for the frontend, you can clone/download this repo.

You can find the Citra backend here - either download a snapshot archive from GitHub or clone the repository.

Edit the CMakeLists path in the build.gradle to point to the location of the CMakeLists.txt of the Citra backend.

You're all set, now hit build.

Known Issues

Since this is in very early stages of development a lot of things don't quite work properly yet:

  • Colors in games (since GLES doesn't support BGR color ordering, the color channels may be inverted);
  • Since this is based on an older version of Citra, bugs solved on newer versions of Citra may still be present.

citra_android's People

Contributors

hellooo7 avatar manty-89 avatar sachinvin avatar thejsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

citra_android's Issues

Inazuma Eleven

It does not open the Inazuma Eleven games and for example yes open the Pokémon. And another thing, how often will there be updates?

This emulator does work on Xiaomi mi4s

is very impossible i test in Xiaomi Mi 4s and i play rom Animal Crossing:new leaf i open this rom 15 minute screen is black only controller 3ds and fps is work and frametime : 13.8966ms and speed : 100% but fps is 0,0.i Understand because the emulator is still pre-released,but I need a solution. okay that's all thank you

Spec
Ram:3gb
Processor:Qualcomm Snapdragon 808
Gpu renderer:Adreno (TM) 418

Logs

Can you identify if my Android is capable of playing using Citra? Here is a screenshot of specs of my Android: Screenie

Here is my log: citra_log.txt

Also, can you teach us how to identify if our Android is not supported by reading the logs? For future users who will look into this problem if they encounter this specific issue. Thank you in advance!

Need to work on mediatek helio P60 support

Earlier I had a SD 636 phone with 4gb ram and no vulkan support but now I switched to a phone with mediatek helio P60 6gb ram and vulkan support too but citra won't work here..
And it literally didn't even make any logs..
Here are some detailed specifications and my phone is oppo realme 1
img_20181028_105553
img_20181028_105607
img_20181028_105626

It exits to my menu screen after launching the gane

I tried every settings including low clock speed, disable fog, copy filter, 1x anti-aliasing and anistrophic filterting and tested every Video backend except that only Vulkan didnt pop out the stopped working message. this is the log:

[ 0.026381] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay
[ 0.026421] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()
[ 0.056140] Core core/core.cpp:Init:162: CPU JIT requested, but Dynarmic not available
[ 0.057030] Audio audio_core/sink_details.cpp:GetSinkDetails:39: AudioCore::SelectSink given invalid sink_id
[ 0.092446] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Resume:226: Unable to eglMakeCurrent 12297

citra log

0.023567] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay[ 0.023604] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()[ 0.040843] Core core/core.cpp:Init:162: CPU JIT requested, but Dynarmic not available[ 0.041929] Audio audio_core/sink_details.cpp:GetSinkDetails:39: AudioCore::SelectSink given invalid sink_id [ 0.064610] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:544: GL_VERSION: OpenGL ES 3.1 [email protected] (GIT@Ia3ef73d9d4)[ 0.064638] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:545: GL_VENDOR: Qualcomm[ 0.064645] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:546: GL_RENDERER: Adreno (TM) 505[ 0.102474] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:DebugHandler:527: API ERROR 2147483647: unable to enable capability %d because it is an invalid enum

Emulator crashes upon loading game

Hi,

I have a samsung s8+ and i tried running either Kingdom Hearts 3D or Pokemon Ultra Sun on citra. My specs are ARMv8 x64 and OpenGL ES 3.2. And my games say they have been decrypted for citra. I'm not sure why it crashes. Hope you could help me here

Error doing a full recursive clone of the backend

git pull --recurse-submodules -j8 https://github.com/SachinVin/citra.git results in:

error: Server does not allow request for unadvertised object 4b350a354a21339052c7fff88832c3f81f5624be Fetched in submodule path 'externals/dynarmic', but it did not contain 4b350a354a21339052c7fff88832c3f81f5624be. Direct fetching of that commit failed.

Audio Glitch and trouble running Pokemon Moon

Describe the bug
Audio doesn't work. And there is a weird hue of red on Pokemon Moon game.
To Reproduce
Steps to reproduce the behavior:

  1. Open any game
  2. Audio doesn't play, volume up and down buttons don't even show volume slider
  3. Switch to Pokemon Moon
  4. The intro screen has a weird shade of red

Expected behavior
Game to run, albeit poorly due to emulation, and with no issues.

Smartphone (please complete the following information):

  • Device: Google Pixel 2
  • OS: Android 9
  • Version 0.4.1

Logs
Unsure of how to add these

Exynos, Mediatek, Kirin processors in Citra Android Emulator! Problems

Hello @SachinVin Here is one of the major problems in this Emulator...

Video for the actual problem is here- https://www.youtube.com/watch?v=Fxmv6-3W-GQ

Smartphones with these processors can't run any game at all, it seems not a single non snapdragon device can run any game. Did you used Snapdragon device to build up and test this emu?
So far only Snapdragon processors can run this emulator with games.
Most of Snapdragon processors can run the emulator with games and everything.
BUT other processors can't, they can install the emulator, I can access the emulator, browse the games, but as soon as you tap any game, emulator will close the game in 2 seconds, no bootup nothing, black screen....
I tested MALI GPUS, it might be that some gpu drivers are missing or outdated.
I tested flagship phones and budget phones...
Tested Exynos phones myself, emulator crashes.
Tested Mediatek phones, emulator crashes.
Tested Kirin phones, emulator crashes.
No body so far reported that this emulator runs on these processors, only reports for Snapdragon SOC.
Please let me know why its that?
Is because of lack of GPU drivers which only snapdragon processors have? or?

regards
Muhammed from TechUtopia

Game crash when opening rom

My log

[ 1.123549] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay
[ 1.123571] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()
[ 1.136869] Core core/core.cpp:Init:162: CPU JIT requested, but Dynarmic not available
[ 1.137239] Audio audio_core/sink_details.cpp:GetSinkDetails:39: AudioCore::SelectSink given invalid sink_id
[ 1.164782] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:544: GL_VERSION: OpenGL ES 3.1 [email protected] (GIT@I88e9891e40)
[ 1.164806] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:545: GL_VENDOR: Qualcomm
[ 1.164810] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:546: GL_RENDERER: Adreno (TM) 530
[ 1.166952] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:DebugHandler:527: API ERROR 2147483647: unable to enable capability %d because it is an invalid enum

Opening then closing and reopening a game causes a crash

Describe the bug
As the title says

To Reproduce
Steps to reproduce the behavior:

  1. Open Citra
  2. Open a game
  3. Close the game
  4. Reopen the game
  5. Have Citra crash

Expected behavior
Reopen the game

Smartphone (please complete the following information):

  • Device: OnePlus 6 w/ 6GB of ram
  • OS: Android 9.0 Pie
  • Version Oxygen OS 9.0

Logs
Where do I find logs? I'll gladly submit them once I have them!

Wont load games

When I try to play new mario kart 7, it doesnt move from the tire moving screen

Build instructions? Both gradlew assemble and Android Studio give error configuring

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:generateJsonModelDebug'.

com.android.ide.common.process.ProcessException: Error configuring

I have gotten both SachVin/citra_android and SachVin/citra_android cloned in the same folder, with their own respective folders in it, but this gives an error. Am I missing something? The build instructions are unclear.

Please help, and thanks in advance!

log

[ 0.040640] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay[ 0.040716] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()[ 0.070990] Core core/core.cpp:Init:165: CPU JIT requested, but Dynarmic not available[ 0.079028] Audio audio_core/sink_details.cpp:GetSinkDetails:40: AudioCore::SelectSink given invalid sink_id [ 0.256808] Service.HTTP core/hle/service/http_c.cpp:DecryptClCertA:307: ClCertA file missing[ 0.264183] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:568: GL_VERSION: OpenGL ES 3.1 [email protected] (GIT@Ia3ef73d9d4)[ 0.264314] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:569: GL_VENDOR: Qualcomm[ 0.264655] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:570: GL_RENDERER: Adreno (TM) 505[ 0.315505] Render.OpenGL video_core/renderer_opengl/gl_rasterizer.cpp:RasterizerOpenGL:54: Shadow might not be able to render because of unsupported OpenGL extensions.[ 0.315590] Render.OpenGL video_core/renderer_opengl/gl_rasterizer.cpp:RasterizerOpenGL:59: ARB_texture_barrier not supported. Some games might produce artifacts.[ 0.319221] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:DebugHandler:551: API ERROR 2147483647: unable to enable capability %d because it is an invalid enum

.3ds

The in app file manager cannot see .3ds files

Todo List

  • Fix Settings
  • On-screen controls don't rotate properly with the screen
  • Fix Bottom Screen
  • Fix onscreen controls interfering with the touch screen
  • Fix Audio

Cant configure onscreen controls.

So i have a issue where when i pull down on the top of the screen to edit the controls instead of a tab pulling down the name of the game and a settings button i get just my regular notification pull down so the only way i know how to fix this is by making a GIF on screen then going back and hurrying up to click the three dots

the emulator does not work for me on samsung galaxy 9

hello I have a samsung galaxy s9 and when I give a game the screen comes out in black and I get in the main menu of citra where you give the games my mobile is high-end and I do not understand why the 3ds emulator does not work for someone can help me I thank you thank you

Citra does not view game files.

When opening Citra and using the plus sign in the bottom right corner, Citra will open my phone's files, but will seemingly be unable to see any game files. Screenshots are included, showing what Citra is seeing, and what is actually in the selected folder. Phone is an LG V20 running Android 7.0. Apologies for very large screenshots.
capture _2018-10-11-09-16-39
capture _2018-10-11-09-16-26

Compiling not possible - cpu-feature.h not found

I checked out the frontend and backend and wanted to give it a try.

But after Setting up and generated the gradle - the build is not possible as cpu-feature.h is not found.

Is there a missing commit?

full log:
https://pastebin.com/B0FBJd8T

After chaning the cpu.cpp to fullpath compiling is possible.

Setting an env variable ANDROID_ROOT_NDK did not solve the issue.

Windows 10

// The cpu-features header and source file are located in $ANDROID_NDK_ROOT/sources/android/cpufeatures
// setenv-android.sh will copy the header and source file into PWD and the makefile will build it in place.
#if defined(__ANDROID__)
# include "C:\Users\Aco\AppData\Local\Android\Sdk\ndk-bundle\sources\android\cpufeatures\cpu-features.h"
#endif

Vulkan?

Is there Vulkan support right now?
Maybe phones without that missing extension that SachinVin mentioned could run in non snapdragon devices with Vulkan?

Like in Dolphin I get a message about ext buffer missing when I use opengl mode but I don't have it when I use Vulkan and my speed is better in Vulkan btw!

Im just asking without knowing too much about this whole stuff so I could be way wrong

Game crash when opening rom

My game jus crash when im opening rom here ia log: [ 0.020256] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay
[ 0.020297] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()
[ 0.043509] Core core/core.cpp:Init:162: CPU JIT requested, but Dynarmic not available
[ 0.044569] Audio audio_core/sink_details.cpp:GetSinkDetails:39: AudioCore::SelectSink given invalid sink_id
[ 0.070788] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:544: GL_VERSION: OpenGL ES 3.1 v1.r15p0-00rel0.bdd9e62cdc8c88e0610a16b5901161e9
[ 0.070817] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:545: GL_VENDOR: ARM
[ 0.070833] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:546: GL_RENDERER: Mali-T720
[ 0.088922] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:47: Error compiling fragment shader:
0:4: P0003: Warning: Extension 'GL_ANDROID_extension_pack_es31a' not supported
0:14: L0003: Keyword 'samplerBuffer' is reserved
[ 0.088963] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:48: Shader source code:
#version 310 es

#ifdef GL_ES
#extension GL_ANDROID_extension_pack_es31a : enable
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
precision highp samplerBuffer;
#else
precision mediump float;
precision mediump samplerBuffer;
#endif // GL_FRAGMENT_PRECISION_HIGH
#endif // GL_ES

uniform samplerBuffer tbo;
uniform vec2 tbo_size;
uniform vec4 viewport;

out vec4 color;

void main() {
vec2 tbo_coord = (gl_FragCoord.xy - viewport.xy) * tbo_size / viewport.zw;
int tbo_offset = int(tbo_coord.y) * int(tbo_size.x) + int(tbo_coord.x);
color = texelFetch(tbo, tbo_offset).rabg;
}

[ 0.089018] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadProgram:84: Error linking shader:
Link failed because of invalid fragment shader.
[ 0.089288] Debug video_core/renderer_opengl/gl_shader_util.cpp:operator():88: Assertion Failed!
Shader not linked

cant open up a game

device: oneplus 5t
os: android 8.1

if i want to add a game i dont see the game as an option.
its a .3ds file decrypted for citra and it works on pc

Input lag and just lag

It's for a early build working exynos Samsung s8 plus good fps isn't that bad like for experiment build but is there a way for tweaking it to get a better frame rate

Huawei crash

Hello, my Huawei y6 crash when I run the rom file (excuse me faults I'm speak in French) the logs: [ 0.036194] Frontend citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay
[ 0.036226] Frontend citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()
[ 0.149182] Core core/core.cpp:Init:162: CPU JIT requested, but Dynarmic not available
[ 0.152280] Audio audio_core/sink_details.cpp:GetSinkDetails:39: AudioCore::SelectSink given invalid sink_id
[ 0.189342] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:544: GL_VERSION: OpenGL ES 3.0 [email protected] [email protected] (GIT@Ie4790512f3)
[ 0.189375] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:545: GL_VENDOR: Qualcomm
[ 0.189382] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:546: GL_RENDERER: Adreno (TM) 308
[ 0.220501] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:47: Error compiling fragment shader:
Fragment shader compilation failed.
WARNING: 0:4: extension 'GL_ANDROID_extension_pack_es31a' is not supported
ERROR: 0:7: ';' : Syntax error: syntax error
ERROR: 1 compilation errors. No code generated.

[ 0.220528] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:48: Shader source code:
#version 300 es

#ifdef GL_ES
#extension GL_ANDROID_extension_pack_es31a : enable
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
precision highp samplerBuffer;
#else
precision mediump float;
precision mediump samplerBuffer;
#endif // GL_FRAGMENT_PRECISION_HIGH
#endif // GL_ES

uniform samplerBuffer tbo;
uniform vec2 tbo_size;
uniform vec4 viewport;

out vec4 color;

void main() {
vec2 tbo_coord = (gl_FragCoord.xy - viewport.xy) * tbo_size / viewport.zw;
int tbo_offset = int(tbo_coord.y) * int(tbo_size.x) + int(tbo_coord.x);
color = texelFetch(tbo, tbo_offset).rabg;
}

[ 0.220790] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadProgram:84: Error linking shader:
Invalid fragment shader. Link cannot proceed.

[ 0.220805] Debug video_core/renderer_opengl/gl_shader_util.cpp:operator():88: Assertion Failed!
Shader not linked

About the CPU

My CPU is Hisilicon Kirin 925. Can I run the game?

Crash when opening a game.

Upon trying to open a game (I've tested Super Mario 3D Land and Alien Chaos 3D) the app due to the rom not being decrypted (which in my opinion should just open a error message instead of crashing the whole app).

  • Device: Motorola g5
  • OS: Android 8.1
  • CPU: Qualcomm Snapdragon 430
  • GPU: Qualcomm Adreno 505 (OpenGL ES Version 3.2)
  • Version 0.4.1 alpha
[   1.732354] Frontend <Info> citra_android/jni/emu_window/emu_window.cpp:EmuWindow_Android:52: InitDisplay
[   1.732399] Frontend <Info> citra_android/jni/ndk_helper/GLContext.cpp:Init:78: GLContext Init()
[   1.793024] Service.FS <Error> core/file_sys/ncch_container.cpp:Load:179: ExHeader Program ID mismatch: the ROM is probably encrypted.
[   1.793071] Core <Critical> core/core.cpp:Load:95: Failed to determine system mode (Error 8)!
[   1.793292] Frontend <Critical> citra_android/jni/native.cpp:RunCitra:124: The game that you are trying to load must be decrypted before being used with Citra. 

 For more information on dumping and decrypting games, please refer to: https://citra-emu.org/wiki/dumping-game-cartridges/

PS: the decrypting on the wiki seems to require an actual 3DS, is there any way to decrypt only using your pc?

Game wont even open

When tapping on a game, it opens the emulator, shows controls ecc. After 5 secs it returns automatically to the menu.

ORAS won´t open

I can´t get Omega ruby to get past the language select screen.

Blank display

When I open the Animal Crossing New Leaf and the Pokémon Ultra Sun it just show blank with FPS 0.00 but the ms and speed showing good?Is this game not support?
IMAGE:
https://imgur.com/a/qhaPKsm

APK not installed

Using a kindle fire, everytime no matter what source or version the APK doesn't install, I have some plenty of space and a SD card. Is this happening for everyone? How do i fix it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.