Hi,
I’m experiencing a reproducible display issue with the N64 core in RetroArch (Mupen64Plus-Next) and need help debugging it.
Most N64 games I’ve tested display thick black bars around the image (top and bottom). The visible game image appears vertically squashed; the aspect ratio does not look like 4:3 even though the core option is set to Original (4:3). I attached a screenshot showing the issue (first attachment).
If the image were scaled to reach the top and bottom edges (i.e. remove the vertical black bars), the 4:3 aspect would look correct — so it appears the emulator is treating the black bars as if they were “part” of the rendered image. To illustrate this, I have also attached a second screenshot with the aspect ratio forced to fullscreen; the vertical black bars remain visible.
Applying the image-adjustment shader does stretch the image, but only inside the black-bar area — the rendered image stays confined within those bars.
This behaviour is consistent across multiple N64 ROMs; however, the thickness of the black bars varies from game to game. Other RetroArch systems are unaffected.
What I have already tried (no change):
- Change video driver: Vulkan, D3D11, GL, etc.
- Set Aspect Ratio in core options to Original (4:3) and forced 4:3 from the RetroArch menu
- Test different RDP plugins: Angrylion, ParaLLEl-RDP, GLideN64
- Apply / remove shaders (including image-adjustment )
- Toggle Integer Scale ON/OFF
- Toggle Crop Overscan ON/OFF
- Remove core & game overrides
- Update the core via Online Updater
Environment (system info):
- RetroArch version: 1.21.0
- Core: Mupen64Plus-Next
- Video driver selected: Vulkan (also tested others)
- OS: Windows 11
- GPU: NVIDIA GeForce MX450
- Monitor resolution: 1920×1080
How to reproduce (simple):
- Load the Mupen64Plus-Next core.
- Load any N64 ROM.
- Observe the vertical black bars and the vertically squashed image despite Aspect Ratio = Original (4:3).
I have attached a verbose retroarch_log.txt to help debug this. I can also attach any other logs or configuration files you need.
Thanks in advance — I can run tests or provide additional screenshots if needed.
[INFO] RetroArch 1.21.0 (Git 05f94af)
[INFO] === Build =======================================
[INFO] CPU Model Name: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
[INFO] Funcionalidades: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.21.0
[INFO] Git: 05f94af
[INFO] Built: Apr 30 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Versión de la API libretro: 1, API usada en la compilación: 1
[INFO] [Core]: Geometry: 320x240, Aspect: 1.333, FPS: 60.00, Sample rate: 48000.00 Hz.
[INFO] [Video]: Set video size to: 960x720.
[INFO] [XInput]: Found XInput v1.4.
[WARN] [DInput]: Strong rumble unavailable.
[WARN] [DInput]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Autoconf]: Se ha configurado Switch Pro Controller en el puerto 1.
[INFO] [D3D11]: Device created (Feature Level: 11.0)
[INFO] [D3D11]: Flip model and tear control supported and enabled.
[INFO] [D3D11]: Requesting 1 maximum frame latency, using 1.
[INFO] [D3D11]: Found GPU at index 0: "NVIDIA GeForce MX450".
[INFO] [D3D11]: Found GPU at index 1: "Intel(R) Iris(R) Xe Graphics".
[INFO] [D3D11]: Found GPU at index 2: "Microsoft Basic Render Driver".
[INFO] [D3D11]: Using GPU index 0.
[INFO] [Video]: Found display server: "win32".
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [WASAPI]: Client initialized (shared, PCM, 48000Hz, 64.0ms).
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "d3d11".
[INFO] [MIDI]: Output device: "Microsoft GS Wavetable Synth".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_music_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_video_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_image_history.lpl".
[INFO] [Playlist]: Cargando favoritos: "C:\RetroArch-Win64\content_favorites.lpl".
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[INFO] [Core]: Using content: "C:\Users\tester\OneDrive\Documentos\Emuladores\NES - SNES - N64 - GB - GBC - GBA - VB\Juegos\Nintendo 64\Super Mario 64 (Europe) (En,Fr,De).z64".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] RetroArch 1.21.0 (Git 05f94af)
[INFO] === Build =======================================
[INFO] CPU Model Name: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
[INFO] Funcionalidades: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.21.0
[INFO] Git: 05f94af
[INFO] Built: Apr 30 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Core]: Loading dynamic libretro core from: "C:\RetroArch-Win64\cores\mupen64plus_next_libretro.dll"
[INFO] [Overrides]: Redirigiendo archivo de guardado a "C:\RetroArch-Win64\saves\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).srm".
[INFO] [Overrides]: Redirigiendo guardado rápido a "C:\RetroArch-Win64\states\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).state".
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Remaps]: Game-specific remap found at "C:\RetroArch-Win64\config\remaps\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).rmp".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: GET_PERF_INTERFACE.
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[libretro INFO] mupen64plus: Using full mem base
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\RetroArch-Win64\system".
[INFO] [Content]: Cargando contenido: "C:\Users\tester\OneDrive\Documentos\Emuladores\NES - SNES - N64 - GB - GBC - GBA - VB\Juegos\Nintendo 64\Super Mario 64 (Europe) (En,Fr,De).z64".
[INFO] [Environ]: SET_HW_RENDER, context type: vulkan.
[INFO] Requesting Vulkan context.
[INFO] [Environ]: SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
[libretro INFO] mupen64plus: Goodname: Super Mario 64 (E) (M3) [!]
[libretro INFO] mupen64plus: Name: SUPER MARIO 64
[libretro INFO] mupen64plus: MD5: 45676429EF6B90E65B517129B700308E
[libretro INFO] mupen64plus: CRC: A03CF036 BCC1C5D2
[libretro INFO] mupen64plus: Imagetype: .z64 (native)
[libretro INFO] mupen64plus: Rom size: 8388608 bytes (or 8 Mb or 64 Megabits)
[libretro INFO] mupen64plus: ClockRate = F
[libretro INFO] mupen64plus: Version: 1446
[libretro INFO] mupen64plus: Manufacturer: Nintendo
[libretro INFO] mupen64plus: Cartridge_ID: 4D53
[libretro INFO] mupen64plus: Country: Europe (0x50)
[libretro INFO] mupen64plus: PC = 80241800
[libretro INFO] mupen64plus: Save type: 0
[INFO] [Core]: Versión de la API libretro: 1, API usada en la compilación: 1
[INFO] [Core]: Geometry: 640x480, Aspect: 1.333, FPS: 50.00, Sample rate: 44100.00 Hz.
[INFO] [Video]: Set video size to: 1440x1080.
[INFO] [Video]: Using HW render, vulkan driver forced.
[INFO] [Video]: "vulkan" saved as cached driver.
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_w".
[INFO] [Vulkan]: Detecting screen resolution: 1920x1080.
[INFO] [Vulkan]: Got HW context negotiation interface 2.
[INFO] [Vulkan]: Found GPU at index 0: "NVIDIA GeForce MX450".
[INFO] [Vulkan]: Found GPU at index 1: "Intel(R) Iris(R) Xe Graphics".
[INFO] [Vulkan]: Using GPU index 0.
[INFO]: Layer count: 2
[INFO]: Found layer: VK_LAYER_NV_optimus.
[INFO]: Found layer: VK_LAYER_NV_present.
[INFO]: Enabling instance extension: VK_EXT_debug_utils.
[INFO]: Using Vulkan GPU: NVIDIA GeForce MX450
[INFO]: Enabling device extension: VK_KHR_swapchain.
[INFO]: Enabling device extension: VK_KHR_sampler_mirror_clamp_to_edge.
[INFO]: Enabling device extension: VK_KHR_external_semaphore_win32.
[INFO]: Enabling device extension: VK_KHR_external_memory_win32.
[INFO]: Enabling device extension: VK_KHR_draw_indirect_count.
[INFO]: Enabling device extension: VK_EXT_calibrated_timestamps.
[INFO]: Enabling device extension: VK_EXT_conservative_rasterization.
[INFO]: Enabling device extension: VK_KHR_image_format_list.
[INFO]: Enabling device extension: VK_KHR_shader_float_controls.
[INFO]: Enabling device extension: VK_KHR_8bit_storage.
[INFO]: Enabling device extension: VK_KHR_16bit_storage.
[INFO]: Enabling device extension: VK_KHR_shader_float16_int8.
[INFO]: Enabling device extension: VK_EXT_subgroup_size_control.
[INFO]: Enabling device extension: VK_NV_compute_shader_derivatives.
[INFO]: Enabling device extension: VK_EXT_host_query_reset.
[INFO]: Enabling device extension: VK_EXT_shader_demote_to_helper_invocation.
[INFO]: Enabling device extension: VK_EXT_scalar_block_layout.
[INFO]: Enabling device extension: VK_KHR_uniform_buffer_standard_layout.
[INFO]: Enabling device extension: VK_KHR_timeline_semaphore.
[INFO]: Enabling device extension: VK_EXT_memory_priority.
[INFO]: Enabling device extension: VK_EXT_memory_budget.
[INFO]: Enabling device extension: VK_KHR_synchronization2.
[INFO]: Enabling device extension: VK_EXT_pipeline_creation_cache_control.
[INFO]: Enabling device extension: VK_KHR_format_feature_flags2.
[INFO]: Enabling device extension: VK_EXT_external_memory_host.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: "NVIDIA GeForce MX450".
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 1440x1080.
[INFO] [Vulkan]: Using BGRA8888 format.
[INFO] [Vulkan]: Loading stock shader.
[WARN] [DInput]: Strong rumble unavailable.
[WARN] [DInput]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Video]: Found display server: "win32".
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Audio]: Set audio input rate to: 44100.00 Hz.
[INFO] [Video]: Timings deviate too much. Will not adjust. (Target = 60.00 Hz, Game = 50.00 Hz)
[INFO] [Autoconf]: Se ha configurado Switch Pro Controller en el puerto 1.
[INFO] [WASAPI]: Client initialized (shared, PCM, 48000Hz, 64.0ms).
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[INFO] [MIDI]: Output device: "Microsoft GS Wavetable Synth".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_music_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_video_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_image_history.lpl".
[INFO] [Playlist]: Cargando favoritos: "C:\RetroArch-Win64\content_favorites.lpl".
[libretro INFO] mupen64plus: Game controller 0 (Standard controller) has a Memory pak plugged in
[libretro INFO] mupen64plus: Game controller 1 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 2 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Game controller 3 (Standard controller) has nothing plugged in
[libretro INFO] mupen64plus: Using CIC type X102
[INFO] [Environ]: SET_MEMORY_MAPS.
[WARN]: Disabling pipeline cache control.
[libretro INFO] Using 3 sync frames for parallel-RDP.
[libretro INFO] Using 2x upscaling!
[libretro INFO] paraLLEl-RDP: Using RDRAM size of 8388608 bytes.
[INFO]: Enabling upscaling: 2x.
[WARN]: Current NVIDIA driver is known to be slightly faster without 8/16-bit integer arithmetic.
[libretro INFO] mupen64plus: Initializing 4 RDRAM modules for a total of 8 MB
[libretro INFO] mupen64plus: Starting R4300 emulator: Dynamic Recompiler
[libretro INFO] mupen64plus: Init new dynarec
[WARN]: Stalled compile (compute, ae7c7d30989db128): thread 0 - 61223.900 us (mode: sync, success: yes).
[INFO] [Vulkan]: QueuePresent failed, destroying swapchain.
[INFO] [Vulkan]: Got 3 swapchain images.
[libretro INFO] mupen64plus: Enabled TLB
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 38 seconds.
[INFO] [Runtime]: Saving runtime log file: "C:\RetroArch-Win64\playlists\logs\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).lrtl".
[INFO] [Video]: Restored video driver to "d3d11".
[INFO] [Core]: No hay contenido, iniciando núcleo vacío.
[INFO] [SRAM]: Guardando tipo de RAM #0 en "C:\RetroArch-Win64\saves\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).srm".
[INFO] [SRAM]: Se han guardado los datos en "C:\RetroArch-Win64\saves\Mupen64Plus-Next\Super Mario 64 (Europe) (En,Fr,De).srm".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading game..
[INFO] [Core]: Unloading core..
[libretro INFO] mupen64plus: Stopping emulation.
[libretro INFO] mupen64plus: R4300 emulator finished.
[libretro INFO] mupen64plus: Rom closed.
[INFO] [Core]: Unloading core symbols..
plugin_start_gfx
[INFO] [Core]: Saved core options file to "C:\RetroArch-Win64\config\Mupen64Plus-Next\Mupen64Plus-Next.opt".
[INFO] RetroArch 1.21.0 (Git 05f94af)
[INFO] === Build =======================================
[INFO] CPU Model Name: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
[INFO] Funcionalidades: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2
[INFO] Version: 1.21.0
[INFO] Git: 05f94af
[INFO] Built: Apr 30 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Versión de la API libretro: 1, API usada en la compilación: 1
[INFO] [Core]: Geometry: 320x240, Aspect: 1.333, FPS: 60.00, Sample rate: 48000.00 Hz.
[INFO] [Video]: Set video size to: 960x720.
[WARN] [DInput]: Strong rumble unavailable.
[WARN] [DInput]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Autoconf]: Se ha configurado Switch Pro Controller en el puerto 1.
[INFO] [D3D11]: Device created (Feature Level: 11.0)
[INFO] [D3D11]: Flip model and tear control supported and enabled.
[INFO] [D3D11]: Requesting 1 maximum frame latency, using 1.
[INFO] [D3D11]: Found GPU at index 0: "NVIDIA GeForce MX450".
[INFO] [D3D11]: Found GPU at index 1: "Intel(R) Iris(R) Xe Graphics".
[INFO] [D3D11]: Found GPU at index 2: "Microsoft Basic Render Driver".
[INFO] [D3D11]: Using GPU index 0.
[INFO] [Video]: Found display server: "win32".
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [WASAPI]: Client initialized (shared, PCM, 48000Hz, 64.0ms).
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "d3d11".
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[INFO] [MIDI]: Output device: "Microsoft GS Wavetable Synth".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_music_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_video_history.lpl".
[INFO] [Playlist]: Cargando historial: "C:\RetroArch-Win64\content_image_history.lpl".
[INFO] [Playlist]: Cargando favoritos: "C:\RetroArch-Win64\content_favorites.lpl".
[INFO] [Config]: Se ha guardado una nueva configuración en "C:\RetroArch-Win64\retroarch.cfg".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..





