Mupen64plus-next stopped working with glcore driver

I’ve been using the glcore driver since it was released. I was using Mupen64plus-next just fine a few days ago. Today I decided to update the core, but I can’t load roms and a message that the driver is not compatible with this core appears. I also updated Retroarch and redists nightlies just in case, but still don’t work. It works fine if I change to the older gl driver tough, but since I have slang shaders settings saved I wish to keep using glcore. Is that a know bug, an intended change or something else?

1 Like

We just added (yesterday, I believe) a check for cores against drivers to alleviate the constant stream of reports from people trying to use cores that aren’t compatible with their currently loaded video driver. And, since it’s brand new, I’m not surprised there’s an issue :slight_smile:

Did you update your core info files at the same time? If not, can you do that and try again?

I updated the core info files, still getting the same message.

1 Like

Ok, can you post a verbose log of you trying to load the core + content?

1 Like

I guess this is it, sorry if looks a mess, I don’t know how to post a file or formatted text. You’ll see there’s an [ERROR] there with the message.

[INFO] RetroArch 1.7.7 (Git 5047d6e709)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
[INFO] Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES 
[INFO] Built: Jul 24 2019
[INFO] Version: 1.7.7
[INFO] Git: 5047d6e709
[INFO] =================================================
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[INFO] Redirecting save file to "C:\Emu\RetroArch\saves\.srm".
[INFO] Redirecting savestate to "C:\Emu\RetroArch\states\.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 30000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [GLCore]: Found GL context: wgl
[INFO] [GLCore]: Detecting screen resolution 1920x1080.
[INFO] Setting fullscreen to 1920x1080 @ 60Hz on device \\.\DISPLAY1.
[INFO] [WGL] extensions: WGL_ARB_buffer_region WGL_ARB_create_context WGL_ARB_create_context_no_error WGL_ARB_create_context_profile WGL_ARB_create_context_robustness WGL_ARB_context_flush_control WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisìÂå[INFO] [WGL]: Adaptive VSync supported.
[INFO] [WGL]: wglSwapInterval(1)
[INFO] [GLCore]: Vendor: NVIDIA Corporation, Renderer: GeForce GTX 1050 Ti/PCIe/SSE2.
[INFO] [GLCore]: Version: 3.2.0 NVIDIA 430.86.
[INFO] [GLCore]: Using resolution 1920x1080
[INFO] [XInput]: Found XInput v1.3.
[INFO] [XInput]: Found controller, user #0
[INFO] [XInput]: Pads connected: 1
[INFO] [DINPUT]: Enumerating joypads ...
[INFO] [DINPUT]: Device #0 PID: {028E} VID:{045E}
[INFO] [DINPUT]: Done enumerating joypads ...
[INFO] [XInput]: Attempting autoconf for "XInput Controller (User 1)", user #0
[INFO] [DINPUT]: Found XInput pad at index 0 (DINPUT index 0)
[INFO] [XInput]: Found VID/PID (045E/028E) from DINPUT index 0 for "XInput Controller (User 1)", user #0
[INFO] [XInput]: Attempting autoconf for user #1
[INFO] [XInput]: Attempting autoconf for user #2
[INFO] [XInput]: Attempting autoconf for user #3
[INFO] [XInput]: Attempting autoconf for user #4
[INFO] [XInput]: Attempting autoconf for user #5
[INFO] [XInput]: Attempting autoconf for user #6
[INFO] [XInput]: Attempting autoconf for user #7
[INFO] [XInput]: Attempting autoconf for user #8
[INFO] [XInput]: Attempting autoconf for user #9
[INFO] [XInput]: Attempting autoconf for user #10
[INFO] [XInput]: Attempting autoconf for user #11
[INFO] [XInput]: Attempting autoconf for user #12
[INFO] [XInput]: Attempting autoconf for user #13
[INFO] [XInput]: Attempting autoconf for user #14
[INFO] [XInput]: Attempting autoconf for user #15
[INFO] [Joypad]: Found joypad driver: "xinput".
[INFO] [slang]: Compiling shader "C:\Emu\RetroArch\shaders\shaders_slang\misc\image-adjustment.slang".
[INFO] [slang]: Using render target format R8G8B8A8_UNORM for pass output #0.
[INFO] [slang]: Compiling shader "C:\Emu\RetroArch\shaders\shaders_slang\retro\shaders\sharp-bilinear.slang".
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: yes):
[INFO] [slang]:   Push Constants (Vertex: yes, Fragment: yes):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:      FrameCount (PushOffset: 16)
[INFO] [slang]:      SourceSize (#0) (PushOffset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [slang]:     #0 (PushOffset: 20)
[INFO] [slang]:     #1 (PushOffset: 24)
[INFO] [slang]:     #2 (PushOffset: 28)
[INFO] [slang]:     #3 (PushOffset: 32)
[INFO] [slang]:     #4 (PushOffset: 36)
[INFO] [slang]:     #5 (PushOffset: 40)
[INFO] [slang]:     #6 (PushOffset: 44)
[INFO] [slang]:     #7 (PushOffset: 48)
[INFO] [slang]:     #8 (PushOffset: 52)
[INFO] [slang]:     #9 (PushOffset: 56)
[INFO] [slang]:     #10 (PushOffset: 60)
[INFO] [slang]:     #11 (PushOffset: 64)
[INFO] [slang]:     #12 (PushOffset: 68)
[INFO] [slang]:     #13 (PushOffset: 72)
[INFO] [slang]:     #14 (PushOffset: 76)
[INFO] [slang]:     #15 (PushOffset: 80)
[INFO] [slang]:     #16 (PushOffset: 84)
[INFO] [slang]:     #17 (PushOffset: 88)
[INFO] [slang]:     #18 (PushOffset: 92)
[INFO] [slang]:     #19 (PushOffset: 96)
[INFO] [slang]:     #20 (PushOffset: 100)
[INFO] [slang]:     #21 (Offset: 64)
[INFO] [slang]:     #22 (Offset: 68)
[INFO] [slang]: Building pass #1 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: yes):
[INFO] [slang]:   Push Constants (Vertex: yes, Fragment: yes):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:      OutputSize (PushOffset: 0)
[INFO] [slang]:      SourceSize (#0) (PushOffset: 32)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [slang]:     #0 (PushOffset: 48)
[INFO] [slang]:     #1 (PushOffset: 52)
[INFO] [GLCore]: Not using frame history.
[INFO] [GLCore]: Not using framebuffer feedback.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[INFO] Found shader "C:\Emu\RetroArch\shaders\retroarch.slangp"
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Menu]: Found menu display driver: "glcore".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [LED]: LED driver = 'null' 0000000000B4E500
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "winmm" driver.
[WARN] Input device ID 5 is unknown to this libretro implementation. Using RETRO_DEVICE_JOYPAD.
[INFO] Disconnecting device from port 2.
[INFO] Disconnecting device from port 3.
[INFO] Disconnecting device from port 4.
[INFO] Disconnecting device from port 5.
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] SRAM will not be saved.
[INFO] Loading history file: [C:\Emu\RetroArch\content_history.lpl].
[INFO] Loading history file: [C:\Emu\RetroArch\content_favorites.lpl].
[INFO] Loading history file: [C:\Emu\RetroArch\content_music_history.lpl].
[INFO] Loading history file: [C:\Emu\RetroArch\content_video_history.lpl].
[INFO] Loading history file: [C:\Emu\RetroArch\content_image_history.lpl].
[INFO] [GLCore]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[INFO] [GLCore]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[INFO] Updating firmware status for: C:\Emu\RetroArch\cores\mupen64plus_next_libretro.dll on C:\Emu\RetroArch\system
[ERROR] This core is not compatible with the current video driver.
[INFO] [GLCore]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[INFO] [GLCore]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[INFO] [GLCore]: VSync => on
[INFO] [WGL]: wglSwapInterval(1)
[INFO] [config] Saved new config to "C:\Emu\RetroArch\retroarch.cfg".
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] Unloading game..
[INFO] Unloading core..
[INFO] Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

it seems there’s a quirk at play here: glcore requests a GL 3.2 context, while mupen requests a 3.3 context. Your driver is actually giving a >3.2 context, even though it’s not being requested.

So, we’re going to have to make a decision on how best to handle that, since it obviously works on your system, but may not on someone else’s (i.e., if their driver only gives the context that’s actually requested). In the meantime, can you try editing the core info file to change the OpenGL Core >= 3.3 to 3.2 and see if that makes it work?

1 Like

FWIW, the previous Mupen core works fine for me with glcore on Linux + binary NVidia driver.

Yes, that worked, the core and roms are loading. Thanks! Could this be related to my Nvidia driver somehow? Cause I haven’t updated that in a while. Do I need to update to get the GL to 3.3 or something like that?

No. GL 3.3 is from 2010. If you had a 10 year old driver, I think you’d have noticed :wink:

1 Like

Right. That’s because the old mupen core doesn’t have the required APIs line in the info file.

We’re in discussions to find a better way to handle this, but in the meantime, editing the info file is the way to go (and we may end up doing the same in the official info files).

3 Likes