Is there an existing issue for this?
Affected Build(s)
BETA 0.5.1
Description of Issue




Hello Please Read
Today I bring you a bug that has had me brain scrambld for the past week and a half. Let's start with the basics.
I am on a quest 3, standalone no strings attached.
I was really excited to play pokemon with an almost 3D like feel with the experimental immersion feature. But then I saw it...the red dog!
I then checked the other mainline pokemon games and it kept happening, I was gonna showcase pokemon in VR but with the battle sequences as well as a few cutscenes the pokemon were just...horribly textured.
Whether it's UV mapping, Shaders not applying correctly, or openGL have a seizure some sort of math is not mathing. I was so desperate to get it to work I tried finding the fix on my own but found nothing. I did a few practical patches to see if they'd do anything but nothing.
I feel I need to leave it up to the actual developers, not a bug catcher. Hopefully someone is still around to help out with this because I am stumped.
Expected Behavior
The pokemon textures to be mapped out corrctly and look like pokemon rather than demonic beings. (Textured yellow orange and red primarily and look far from their regular textures)
Reproduction Steps
Quest 3
Install citra VR BETA 0.5.1
Get a "legal" copy of the main line pokemon games to turn into a ROM
Play on any one of the immersive settings
Cry yourself to sleep during the night :)
Log File
sniff sniff
Smells like shader generation failing--------------------------------------------------------LOG OUT BELOW VVVVVVV
citra_log.txt
System Configuration
HMD: Meta Quest 3
I messed with the configuration file too, here's what I did but don't worry it didn't do anything either, story of my life!
----------------------Are w..we...configured? Find out BELOW-------------------------------------------------
Renderer_UseHwShader = 0
use_hw_shader = 0
[Controls]
motion_device =
touch_device = engine:emu_window
udp_input_address =
udp_input_port =
udp_pad_index =
[Core]
use_cpu_jit = 1
cpu_clock_percentage =
[Renderer]
Force OpenGL ES on Quest 3
graphics_api = 1
Whether to compile shaders on multiple worker threads (Vulkan only)
async_shader_compilation = true
Use hardware shaders (0 = Software - try this first; 1 = Hardware - try if software is too slow)
NOTE: set to 0 to test for driver/hardware shader bugs.
use_hw_shader = 0
Whether to use accurate multiplication in hardware shaders (keep ON)
shaders_accurate_mul = 1
Use shader JIT (useful for performance when using software shader emulation)
use_shader_jit = 1
Keep vsync behaviour default
use_vsync_new = 1
Disable disk shader cache to force shader regeneration (helps if cached shader binaries are incompatible)
use_disk_shader_cache = 0
Resolution scale: 1 = Native 3DS resolution. Reduces driver load and avoids extra interpolations.
resolution_factor = 1
Turn V-Sync on (may stabilize rendering timing)
vsync_enabled = 1
Frame limiter (safe default)
use_frame_limit = 1
frame_limit = 100
Clear color (black background)
bg_red = 0.0
bg_blue = 0.0
bg_green = 0.0
Filtering - leave linear enabled
filter_mode = 1
texture_filter = 1
[Utility]
Enable texture dumps for debugging (inspect the PNGs to see whether color channels are wrong)
dump_textures = 1
Disable custom textures for now (you said you removed them; keep off during debugging)
custom_textures = 0
Do not preload custom textures
preload_textures = 0
Async custom loading not needed
async_custom_loading = 0
[Audio]
enable_dsp_lle =
enable_dsp_lle_thread =
enable_audio_stretching = 1
volume = 1.0
output_type =
output_device =
input_type =
input_device =
[Data Storage]
use_virtual_sd = 1
[System]
is_new_3ds =
region_value =
language =
init_clock =
init_time =
plugin_loader =
allow_plugin_loader =
[Camera]
camera_outer_right_name =
camera_outer_right_config =
camera_outer_right_flip =
camera_outer_left_name =
camera_outer_left_config =
camera_outer_left_flip =
camera_inner_name =
camera_inner_config =
camera_inner_flip =
[VR]
Use Void background to reduce rendering complexity during tests
vr_environment = 2
Leave extra performance mode off for now
vr_extra_performance_mode = false
Keep immersive mode enabled to reproduce the issue
vr_immersive_mode = 1
[Miscellaneous]
log_filter = *:Debug
[Debugging]
Capture frame times and extra renderer debug info for diagnosis
record_frame_times = 1
renderer_debug = 1
use_gdbstub = false
gdbstub_port = 24689
[WebService]
enable_telemetry = 0
web_api_url = https://api.citra-emu.org
citra_username =
citra_token =
Is there an existing issue for this?
Affected Build(s)
BETA 0.5.1
Description of Issue
Hello Please Read
Today I bring you a bug that has had me brain scrambld for the past week and a half. Let's start with the basics.
I am on a quest 3, standalone no strings attached.
I was really excited to play pokemon with an almost 3D like feel with the experimental immersion feature. But then I saw it...the red dog!
I then checked the other mainline pokemon games and it kept happening, I was gonna showcase pokemon in VR but with the battle sequences as well as a few cutscenes the pokemon were just...horribly textured.
Whether it's UV mapping, Shaders not applying correctly, or openGL have a seizure some sort of math is not mathing. I was so desperate to get it to work I tried finding the fix on my own but found nothing. I did a few practical patches to see if they'd do anything but nothing.
I feel I need to leave it up to the actual developers, not a bug catcher. Hopefully someone is still around to help out with this because I am stumped.
Expected Behavior
The pokemon textures to be mapped out corrctly and look like pokemon rather than demonic beings. (Textured yellow orange and red primarily and look far from their regular textures)
Reproduction Steps
Quest 3
Install citra VR BETA 0.5.1
Get a "legal" copy of the main line pokemon games to turn into a ROM
Play on any one of the immersive settings
Cry yourself to sleep during the night :)
Log File
sniff sniff
Smells like shader generation failing--------------------------------------------------------LOG OUT BELOW VVVVVVV
citra_log.txt
System Configuration
HMD: Meta Quest 3
I messed with the configuration file too, here's what I did but don't worry it didn't do anything either, story of my life!
----------------------Are w..we...configured? Find out BELOW-------------------------------------------------
Renderer_UseHwShader = 0
use_hw_shader = 0
[Controls]
motion_device =
touch_device = engine:emu_window
udp_input_address =
udp_input_port =
udp_pad_index =
[Core]
use_cpu_jit = 1
cpu_clock_percentage =
[Renderer]
Force OpenGL ES on Quest 3
graphics_api = 1
Whether to compile shaders on multiple worker threads (Vulkan only)
async_shader_compilation = true
Use hardware shaders (0 = Software - try this first; 1 = Hardware - try if software is too slow)
NOTE: set to 0 to test for driver/hardware shader bugs.
use_hw_shader = 0
Whether to use accurate multiplication in hardware shaders (keep ON)
shaders_accurate_mul = 1
Use shader JIT (useful for performance when using software shader emulation)
use_shader_jit = 1
Keep vsync behaviour default
use_vsync_new = 1
Disable disk shader cache to force shader regeneration (helps if cached shader binaries are incompatible)
use_disk_shader_cache = 0
Resolution scale: 1 = Native 3DS resolution. Reduces driver load and avoids extra interpolations.
resolution_factor = 1
Turn V-Sync on (may stabilize rendering timing)
vsync_enabled = 1
Frame limiter (safe default)
use_frame_limit = 1
frame_limit = 100
Clear color (black background)
bg_red = 0.0
bg_blue = 0.0
bg_green = 0.0
Filtering - leave linear enabled
filter_mode = 1
texture_filter = 1
[Utility]
Enable texture dumps for debugging (inspect the PNGs to see whether color channels are wrong)
dump_textures = 1
Disable custom textures for now (you said you removed them; keep off during debugging)
custom_textures = 0
Do not preload custom textures
preload_textures = 0
Async custom loading not needed
async_custom_loading = 0
[Audio]
enable_dsp_lle =
enable_dsp_lle_thread =
enable_audio_stretching = 1
volume = 1.0
output_type =
output_device =
input_type =
input_device =
[Data Storage]
use_virtual_sd = 1
[System]
is_new_3ds =
region_value =
language =
init_clock =
init_time =
plugin_loader =
allow_plugin_loader =
[Camera]
camera_outer_right_name =
camera_outer_right_config =
camera_outer_right_flip =
camera_outer_left_name =
camera_outer_left_config =
camera_outer_left_flip =
camera_inner_name =
camera_inner_config =
camera_inner_flip =
[VR]
Use Void background to reduce rendering complexity during tests
vr_environment = 2
Leave extra performance mode off for now
vr_extra_performance_mode = false
Keep immersive mode enabled to reproduce the issue
vr_immersive_mode = 1
[Miscellaneous]
log_filter = *:Debug
[Debugging]
Capture frame times and extra renderer debug info for diagnosis
record_frame_times = 1
renderer_debug = 1
use_gdbstub = false
gdbstub_port = 24689
[WebService]
enable_telemetry = 0
web_api_url = https://api.citra-emu.org
citra_username =
citra_token =