Problem with mupen64gles2 or 3 close the app

Hello. I can’t use these two cores. I try to upload a .z64 backup but it closes retroarch. I have the log that speaks of some error in the disk 8/16bit attach the log.

why we need to open a content for change core options… why? i know core have cfg file ok. but why the core menu options only popup with roms? if roms fail to load we can’t change the internal options…

Using old --libretro behavior. Setting libretro_directory to "/data/user/0/com.retroarch.aarch64/cores/" instead.
RetroArch 1.10.0 (Git 2ecb253)
=== Build =======================================
Funzionalità:  ASIMD
[INFO] Built: Jan 25 2022
[INFO] Version: 1.10.0
[INFO] Git: 2ecb253
[INFO] =================================================
[Input]: Found input driver: "android".
[Environ]: SET_PIXEL_FORMAT: RGB565.
[Core]: Versione delle API di libretro: 1, Compilato contro API: 1
[Audio]: Set audio input rate to: 48000.00 Hz.
[Video]: Set video size to: 960x720.
Android EGL: GLES version = 2.
[EGL] Falling back to eglGetDisplay
[EGL]: EGL version: 1.5
[GL]: Found GL context: "egl_android".
[GL]: Detecting screen resolution: 0x0.
[EGL]: Current context: 0x7303756a80.
[GL]: Vendor: Qualcomm, Renderer: Adreno (TM) 610.
[GL]: Version: OpenGL ES 3.2 [email protected] (GIT@0ac5ea1, If703410f3a, 1599645670) (Date:09/09/20).
[GL]: Using resolution 720x1600.
[GL]: Default shader backend found: glsl.
[Shader driver]: Using GLSL shader backend.
[GL]: Stock GLSL shaders will be used.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GL]: Using 4 textures.
[GL]: Loaded 1 program(s).
[Joypad]: Found joypad driver: "android".
[Font]: Using font rendering backend: "stb-unicode".
[Video]: Found display server: "android".
[OpenSL]: Requested audio latency: 128 ms.
[OpenSL]: Setting audio latency: Block size = 768, Blocks = 32, Total = 24576 ...
[Display]: Found display driver: "gl".
[SRAM]: La SRAM non verrà salvata.
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl".
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_music_history.lpl".
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_image_history.lpl".
[Playlist]: Caricamento file preferiti: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_favorites.lpl".
ConfigurationChanged: 0x72fd8d7880
Content rect changed: 1600 x 720
[Android]: Resizing (720 x 1600) -> (1600 x 720).
[Playlist]: Written to playlist file: /storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl
[Playlist]: Written to playlist file: /storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl
[Environ]: SET_SUBSYSTEM_INFO.
[Core]: Using content: "/storage/emulated/0/ROMs/n64/Super Mario 64 (USA).z64".
[Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[Core]: Unloading core..
[Core]: Unloading core symbols..
[Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
RetroArch 1.10.0 (Git 2ecb253)
=== Build =======================================
Funzionalità:  ASIMD
[INFO] Built: Jan 25 2022
[INFO] Version: 1.10.0
[INFO] Git: 2ecb253
[INFO] =================================================
jni_thread_destruct()
[Input]: Found input driver: "android".
[Core]: Loading dynamic libretro core from: "/data/user/0/com.retroarch.aarch64/cores/mupen64plus_next_gles3_libretro_android.so"
[Overrides]: No core-specific overrides found at "/storage/emulated/0/RetroArch/config/Mupen64Plus-Next/Mupen64Plus-Next.cfg".
[Overrides]: No content-dir-specific overrides found at "/storage/emulated/0/RetroArch/config/Mupen64Plus-Next/n64.cfg".
[Overrides]: No game-specific overrides found at "/storage/emulated/0/RetroArch/config/Mupen64Plus-Next/Super Mario 64 (USA).cfg".
[Environ]: GET_CORE_OPTIONS_VERSION.
[Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2.
[Environ]: SET_CONTROLLER_INFO.
[Remaps]: Remap directory: "/storage/emulated/0/RetroArch/config/remaps".
[Overrides]: Reindirizzare il file di salvataggio su "/storage/emulated/0/RetroArch/saves/Super Mario 64 (USA).srm".
[Overrides]: Reindirizzare il salva stato su "/storage/emulated/0/RetroArch/states/Super Mario 64 (USA).state".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
[Environ]: GET_LOG_INTERFACE.
[Environ]: GET_PERF_INTERFACE.
[Environ]: SET_PIXEL_FORMAT: XRGB8888.
[Environ]: GET_RUMBLE_INTERFACE.
[Content]: Caricamento dei file di contenuto: "/storage/emulated/0/ROMs/n64/Super Mario 64 (USA).z64".
[Content]: Non è stata trovata una patch di contenuto valida.
Selected HLE RSP with Angrylion, falling back to Parallel RSP!
[Environ]: SET_HW_RENDER, context type: vulkan.
Requesting Vulkan context.
Reached end of SET_HW_RENDER.
[Environ]: SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
mupen64plus: Using full mem base
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
mupen64plus: Goodname: Super Mario 64 (U) [!]
mupen64plus: Name: SUPER MARIO 64      
mupen64plus: MD5: 20B854B239203BAF6C961B850A4A51A2
mupen64plus: CRC: 635A2BFF 8B022326
mupen64plus: Imagetype: .z64 (native)
mupen64plus: Rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
mupen64plus: ClockRate = F
mupen64plus: Version: 1444
mupen64plus: Manufacturer: Nintendo
mupen64plus: Cartridge_ID: 4D53
mupen64plus: Country: USA
mupen64plus: PC = 80246000
mupen64plus: Save type: 0
[Core]: Versione delle API di libretro: 1, Compilato contro API: 1
[Audio]: Set audio input rate to: 44100.00 Hz.
[Video]: Set video size to: 1440x1080.
[Video]: Using HW render, vulkan driver forced.
[Video]: "vulkan" saved as cached driver.
[Vulkan]: Vulkan dynamic library loaded.
[Vulkan]: App: paraLLEl-RDP (version 0)
[Vulkan]: Engine: Granite (version 0)
[Vulkan]: Found vulkan context: "vk_android".
[Vulkan]: Detecting screen resolution: 0x0.
[Vulkan]: Setting swap interval: 1.
[Android]: Native window size: 1600 x 720.
[Vulkan]: Created Android surface: 492226239424
[Vulkan]: Found GPU at index 0: "Adreno (TM) 610".
[Vulkan]: Using GPU index 0.
[Vulkan]: Using semaphores for WSI acquire.
[Vulkan]: Using GPU: "Adreno (TM) 610".
[Vulkan]: Using resolution 1600x720.
[Vulkan]: Using BGRA8888 format.
[Vulkan]: Loading stock shader.
[Joypad]: Found joypad driver: "android".
[Font]: Using font rendering backend: "stb-unicode".
[Video]: Found display server: "android".
[Environ]: SET_INPUT_DESCRIPTORS:
[OpenSL]: Requested audio latency: 128 ms.
[OpenSL]: Setting audio latency: Block size = 768, Blocks = 32, Total = 24576 ...
[Display]: Found display driver: "vulkan".
[Environ]: SET_SUBSYSTEM_INFO.
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl".
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_music_history.lpl".
[Playlist]: Caricamento dei file della cronologia: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_image_history.lpl".
[Playlist]: Caricamento file preferiti: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_favorites.lpl".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
mupen64plus: Game controller 0 (Standard controller) has a Memory pak plugged in
mupen64plus: Game controller 1 (Standard controller) has nothing plugged in
mupen64plus: Game controller 2 (Standard controller) has nothing plugged in
mupen64plus: Game controller 3 (Standard controller) has nothing plugged in
mupen64plus: Using CIC type X102
Using 3 sync frames for parallel-RDP.
VK_EXT_external_memory_host is not supported by this device. Application might run slower because of this.
paraLLEl-RDP: Using RDRAM size of 8388608 bytes.
This device probably does not support 8/16-bit storage. Make sure you're using up-to-date drivers!

Thanks for including a log. :slight_smile:

It looks like your GPU driver doesn’t provide enough vulkan features for ParaLLEl-RDP to function:

VK_EXT_external_memory_host is not supported by this device. Application might run slower because of this.
paraLLEl-RDP: Using RDRAM size of 8388608 bytes.
This device probably does not support 8/16-bit storage. Make sure you're using up-to-date drivers!

As for why you can’t modify core options without loading a game, it’s because the core has to be loaded and running for RetroArch to talk to the core enough to even know what options it has.

I’m probably confused… parallel core n64 works here. and i remember old mupen core works aswell before this update… mupen64gles2 and 3 use parallel rdp?

It’s certainly trying to use it, at least in the end of your log there.

and now without loading a game how do I change the plugins? this thing is a bit uncomfortable, I realized that the core is activated only by loading a game, but it would not hurt to be able to intervene on the option variables before loading. since these options block the core

you can open the config/[corename]/[corename].opt file in a text editor and delete the offending lines, or just delete the whole file to return it to default settings.

1 Like

TLDR: Is there a workaround for this issue that doesn’t involve turning off Vulkan? Vulkan works for all of my other cores and standalone emulators on my device. Thanks for developing this emulator!

More context: Mupen64plus with ParaLLEl-RDP crashes for me also on same “does not support 8/16-bit storage” error, requiring config file edit or delete to open roms again with that core. I understand this to be caused by a GPU driver not supporting a required Vulkan feature, normally fixed by updating drives. In my case, I’m using the AArch64 version of Retroarch on a Nintendo Switch using Android 11 via the Switchroot. Switchroot devs say Switch “can’t be updated to Vulkan” because “our libraries from Nvidia do not support vk 1.2.” (More switchrood discord chatter gets into the weeds as to why, but it’s over my head. Suffice to say, can’t be done.) However, Vulkan does work on every other core on the device using PPSSPP Standalone, NES, SNES, Final Burn Neo, Genesis, and many others. N64 cores are the only ones that crash with Vulkan. N64 emulation is quite complex, so it wouldn’t suprise me if it requires a more complete Vulkan implementation than the other emus that aren’t crashing, but I wonder if there is a workaround or old version that supports Vulkan but perhaps doesn’t implement the Vulkan features that are causing this crash on my device?

--libretro argument "mupen64plus_next_gles3_libretro_android.so" matches core file "/data/user/0/com.retroarch.aarch64/cores/mupen64plus_next_gles3_libretro_android.so".
RetroArch 1.16.0 (Git 14cb373)
=== Build =======================================
Capabilities: ASIMD 
[INFO] Version: 1.16.0
[INFO] Git: 14cb373
[INFO] Built: Oct  2 2023
[INFO] =================================================
[Input]: Found input driver: "android".
[Core]: Loading dynamic libretro core from: "/data/user/0/com.retroarch.aarch64/cores/mupen64plus_next_gles3_libretro_android.so"
[Environ]: GET_CORE_OPTIONS_VERSION.
[Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2.
[Environ]: SET_CONTROLLER_INFO.
[Overrides]: Redirecting save file to "/storage/emulated/0/Saves/Mario Kart 64 (USA).srm".
[Overrides]: Redirecting save state to "/storage/emulated/0/RetroArch/states/Mupen64Plus-Next/Mario Kart 64 (USA).state".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
[Environ]: GET_LOG_INTERFACE.
[Environ]: GET_PERF_INTERFACE.
[Environ]: SET_PIXEL_FORMAT: XRGB8888.
[Environ]: GET_RUMBLE_INTERFACE.
mupen64plus: Using full mem base
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
[Content]: Loading content file: "/storage/emulated/0/ROMs/N64/Mario Kart 64 (USA).zip#Mario Kart 64 (USA).z64".
[Content]: CRC32: 0x434389c1.
Selected HLE RSP with Angrylion, falling back to Parallel RSP!
[Environ]: GET_VARIABLE: mupen64plus-EnableN64DepthCompare - Invalid value.
[Environ]: GET_VARIABLE: mupen64plus-EnableShadersStorage - Invalid value.
[Environ]: SET_HW_RENDER, context type: vulkan.
Requesting Vulkan context.
[Environ]: SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
mupen64plus: Goodname: Mario Kart 64 (U) [!]
mupen64plus: Name: MARIOKART64         
mupen64plus: MD5: 3A67D9986F54EB282924FCA4CD5F6DFF
mupen64plus: CRC: 3E5055B6 2E92DA52
mupen64plus: Imagetype: .z64 (native)
mupen64plus: Rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
mupen64plus: ClockRate = F
mupen64plus: Version: 1446
mupen64plus: Manufacturer: Nintendo
mupen64plus: Cartridge_ID: 544B
mupen64plus: Country: USA
mupen64plus: PC = 80000400
mupen64plus: Save type: 0
[State]: found_last_state_slot: #0
[Replay]: Found last replay slot: #0
[Core]: Version of libretro API: 1, Compiled against API: 1
[Core]: Geometry: 640x480, Aspect: 1.333, FPS: 60.00, Sample rate: 44100.00 Hz.
[Audio]: Set audio input rate to: 44100.00 Hz.
[Video]: Set video size to: 1440x1080.
[Video]: Using HW render, vulkan driver forced.
[Vulkan]: Vulkan dynamic library loaded.
[Vulkan]: Found vulkan context: "vk_android".
[Vulkan]: Detecting screen resolution: 0x0.
[Vulkan]: Created Android surface: 201666369632
[Vulkan]: Got HW context negotiation interface 2.
[Vulkan]: Found GPU at index 0: "NVIDIA Tegra X1 (nvgpu)".
[Vulkan]: Using GPU index 0.
[Vulkan]: Using semaphores for WSI acquire.
[Vulkan]: Using GPU: "NVIDIA Tegra X1 (nvgpu)".
[Vulkan]: Got 4 swapchain images.
[Android]: Native window size: 1280 x 720.
[Vulkan]: Using resolution 1280x720.
[Vulkan]: Using BGRA8888 format.
[Vulkan]: Loading stock shader.
[Joypad]: Found joypad driver: "android".
[Video]: Found display server: "android".
[Environ]: SET_INPUT_DESCRIPTORS:
[OpenSL]: Requested audio latency: 128 ms.
[OpenSL]: Setting audio latency: Block size = 4096, Blocks = 6, Total = 24576 ...
[Audio]: Started synchronous audio driver.
[Display]: Found display driver: "vulkan".
[Environ]: SET_SUBSYSTEM_INFO.
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl".
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_music_history.lpl".
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_image_history.lpl".
[Playlist]: Loading favorites file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_favorites.lpl".
[Environ]: SYSTEM_DIRECTORY: "/storage/emulated/0/RetroArch/system".
mupen64plus: Game controller 0 (Standard controller) has a Memory pak plugged in
mupen64plus: Game controller 1 (Standard controller) has nothing plugged in
mupen64plus: Game controller 2 (Standard controller) has nothing plugged in
mupen64plus: Game controller 3 (Standard controller) has nothing plugged in
mupen64plus: Using CIC type X102
Using 4 sync frames for parallel-RDP.
VK_EXT_external_memory_host is not supported by this device. Application might run slower because of this.
paraLLEl-RDP: Using RDRAM size of 8388608 bytes.
This device probably does not support 8/16-bit storage. Make sure you're using up-to-date drivers!