BlackScreen/Crashes When Loading ROMS

I have been attempting to run both Samus Returns and Omega Ruby today, but I have gotten no luck. Omega Ruby crashes the software and Samus Returns lets me hear the title screen music, but the screen is black until I click on the program, at which point it stops responding.

I’ve tried updating drivers and changing shader settings, deleting the Citra>Shaders folder, disabling and reenabling various parts of the advanced tab in graphics configuration, even disabling New 3DS mode. The last time I used it (late last year), everything worked fine, then it fell apart after this update. Any and all help would be appreciated

System Information

  • Operating System: Microsoft Windows 10 Home, 64 bit
  • CPU: Intel(R) Core™ i7-10700k CPU @ 3.80GHz
  • GPU: NVIDIA GeForce GTX 1650 SUPER
  • Citra Version (found in title bar): 1781
  • Game: Metroid: Pokémon Omega Ruby
  • Screenshot of Issue (include the full Citra window including titlebar):

Diagnostic Log
citra_log.txt (27.3 KB)

In order to save a copy of the log, follow this guide:
https://community.citra-emu.org/t/how-to-upload-the-log-file/296

System Information for Support

Client Version                               Nightly 1781   HEAD-141471e
Operating System                             Windows 10 (10.0)
CPU                                          Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz | AVX2 | FMA
Graphics API                                 OpenGL 3.3.0
Graphics Renderer                            NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
GPU Driver Version                           512.77
CPU JIT                                      [x]
Hardware Renderer                            [ ]
Hardware Shader                              [ ]
Hardware Shader, Accurate Multiplication     [ ]
Shader JIT                                   [ ]
System Region                                -1
Shader Disk Cache                            [x]

Here’s some issues I found with your log that might help.

  • Enabling Accurate Multiplication is recomended in certain games. If you are experiencing graphical glitches, try enabling this option.
  • Please enable the Vsync option if you are experiencing screen tearing.

I already tried V Sync and Accurate Multiplication settings, both on and one on with the other off.

Here’s the log from my latest attempt, too.
citra_log.txt (27.0 KB)

System Information for Support

Client Version                               Nightly 1781   HEAD-141471e
Operating System                             Windows 10 (10.0)
CPU                                          Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz | AVX2 | FMA
Graphics API                                 OpenGL 3.3.0
Graphics Renderer                            NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
GPU Driver Version                           516.94
CPU JIT                                      [x]
Hardware Renderer                            [x]
Hardware Shader                              [x]
Hardware Shader, Accurate Multiplication     [ ]
Shader JIT                                   [x]
System Region                                -1
Shader Disk Cache                            [ ]

Here’s some issues I found with your log that might help.

  • Enabling Accurate Multiplication is recomended in certain games. If you are experiencing graphical glitches, try enabling this option.

Lets try out a portable Citra build to rule out any issues in appdata or with your current Citra installation:

Go to Download Citra - Citra and select Manual download. Then under Nightly Build, click on your operating system’s icon to the right of the latest build available to download the build.
Extract it (.7z can be extracted using Winrar or 7zip) and put it where ever you wish. Inside the extracted nightly-mingw folder, create a folder called user. This Citra should now store all of its config, save files and such inside of this user folder.
Check to make sure that this user folder is in the same folder that contains citra-qt(.exe)
Now run the citra-qt executable found inside of the mingw folder and launch your game. If the same issue occurs, upload a log file using this Citra version.

citra_log.txt (25.6 KB)

Here is the log after following your isntructions. What’s really bizarre is that sometimes it works, sometimes it just doesn’t. If I’m lucky and get it running, I’ll upload the log for that here so we can compare what made it work, if that can help.

System Information for Support

Client Version                               Nightly 1781   HEAD-141471e
Operating System                             Windows 10 (10.0)
CPU                                          Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz | AVX2 | FMA
Graphics API                                 OpenGL 3.3.0
Graphics Renderer                            NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
GPU Driver Version                           516.94
CPU JIT                                      [x]
Hardware Renderer                            [x]
Hardware Shader                              [x]
Hardware Shader, Accurate Multiplication     [x]
Shader JIT                                   [x]
System Region                                -1
Shader Disk Cache                            [ ]

I did not find anything wrong in your log file. Please wait for a human moderator to assist.

Using the method outlined by SleepingSnake, I so far have about a 30% success rate of loading the rom successfully when the user file is empty. I have uploaded the successful log.

citra_log.txt (36.7 KB)

That said, after closing the emulator and attempting to load the game again, it crashes again. In an attempt to figure out the issue, I deleted all the contents in the user folder from the successful run, reopened Citra, and reloaded the game, and it worked.

In short, the workaround until this issue can be permanently fixed is as follows

  1. Follow the steps outlined by SleepingSnake. When you have finished playing, make a save state of the game. Locate the save state file in the Citra Folder and copy/paste it somewhere else on your desktop.
  2. When you wish to play again, delete all the contents within the user folder you created in step 1
  3. Run the CItra-QT executable and open your ROM file again and make a Save State.
  4. Paste your save state into the new save state folder and load from that state
  5. Reconfigure your controls and graphics settings accordingly

I tested this method twice and it works, but I’d still rather have a fix that doesn’t require all of this, if somebody has it.

System Information for Support

Client Version                               Nightly 1781   HEAD-141471e
Operating System                             Windows 10 (10.0)
CPU                                          Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz | AVX2 | FMA
Graphics API                                 OpenGL 3.3.0
Graphics Renderer                            NVIDIA GeForce GTX 1650 SUPER/PCIe/SSE2
GPU Driver Version                           516.94
CPU JIT                                      [x]
Hardware Renderer                            [x]
Hardware Shader                              [x]
Hardware Shader, Accurate Multiplication     [x]
Shader JIT                                   [x]
System Region                                -1
Shader Disk Cache                            [x]

I did not find anything wrong in your log file. Please wait for a human moderator to assist.

Save states will eventually break your game as well if you use only them to save your progress, since they also save any faults in the emulation that usually get flushed out with shutting down the emulator every once in a while. So this isn’t something that would work long term. The fact that it works at all is an important clue though.

Couple questions:

  1. Do you have a multiple display set-up of any kind?
  2. Have you tried running Citra as an administrator?
    I’m thinking that perhaps something with permissions is screwing things up.
  3. Do you have any third party anti-virus software?
    Basically anything that isn’t Windows Defender. Some AV can get incredibly overzealous on the wrong things, so it might be annoying Citra when it’s trying to load something (like a shader cache) on second launch.