What's the best way to change video drivers?

I want to change my setup from GL to Vulkan but there are a couple of cores that only work in GL like the N64. Also, PPSSPP works better in D3D because it has lower input lag there.

I know you can’t save different drivers as overrides. But is a setup like this possible in some other way?

The only way seems to be switching between vulkan and glcore manually and restarting RA. At first I thought there’s a command line option to start RA with a specific driver. That way, you could create two separate desktop shortcuts for RA, one for vulkan and one for GL. But there doesn’t seem to be such an option.

Maybe if there is a way to specify the video drivers in the shortcut, you could have various shortcuts with different video drivers.

Switching via overrides is in the works. There are some bugs to be worked out with it, but it mostly works in the nightlies, AFAIK.

3 Likes

So with this override I can use Vulkan as my main driver, and then RA will auto switch to GL for Mupen64 for instance if I set that as an override?

Yes, that’s correct.

So, i’m using GL as default and made an override for PPSSPP to use d3d11. But even though the cfg file says "video_driver = “d3d11”, in the driver menu i can see it’s using “glcore”…

Same thing when i set it to use vulkan. Still uses glcore instead.

Is that one of the bugs that need to be ironed out?

This is already working for me. I tested it last night. I have gl as my default video driver and saved an override for the Beetle PSX HW core to use Vulkan. Booted up a game using the Mesen core, it used gl driver, booted up a game with the Beetle PSX HW core, it used Vulkan.

Other cores worked for me too. It’s just PPSSPP that forces glcore for some reason.

D3D is currently better for this core because in the standalone at least it has lower input lag. Any other driver adds an excessive 4 frames of lag that gets piled on top of already existing game/emulator lag, making some games like Ultimate Ghouls n Ghosts unplayable.

Hmm, how do I do this? Where’s the override settings? I currently use Vulkan as my main driver but I want to use GL for Mupen64 Plus Next, how would I do this?

Launch a game using Mupen64 Plus Next, enter the Quick Menu, go to settings -> Drivers -> Video and select gl. Then from the Quick Menu select Overrides and Save Core Overrides.

Since you can’t load mupen when vulkan is your default driver you can manually make the cfg file in the config folder.

There should be a “Mupen64Plus-Next OpenGL” folder in the RetroArch/config folder. Inside that folder a “Mupen64Plus-Next OpenGL.cfg” should exist as well, if not create one. Open it and add this line:

video_driver = “gl”

Thanks! I think I got it working. But when I put video_driver = “gl” in the config file it seems to put the video driver to “glcore”. What’s the difference between “gl” and “glcore”?

https://www.libretro.com/index.php/op-koretroarch-1-7-7-new-opengl-core-driver-supports-slang-universal-shader-spec/

Not sure why it forces glcore though.

Thanks! Seems like I wanna use glcore though! Last question! How do I get full screen in Mupen 64 Plus Next core? It looks like I’m using integer scale which I’m not. Top and bottom is not all the way. Other cores such as bsnes-hd and mesen are though.

Thanks!

Depends on the game. Some do have larger black borders on top and bottom of the screen on the real machine. Waverace has very big borders, Banjo Kazooie has very small ones. Mario 64 has average.

Or maybe you could post a picture to know what size we are talking about.

Oh and you can use the “image adjustment” shader in the “misc” folder that has a zoom and overscan options to cut those borders and make the game area bigger per game.

Ah ok, I must have missed that, I would like to get rid of those borders though, so each game have different sized borders?

Yeah and afaik, the emulator doesn’t have overscan. So you get extra borders from that in many games but not all.

The shader i mentioned has options to get rid of the oversan area. Use Banjo Kazooie as an example. On the real system it doesn;t have borders but on the emulator it does because of the overscan area that’s normally hidden on a real CRT.

With the latest nightly RA build, you should be able to load that core with Vulkan set as your default driver and it will force glcore automatically, since that and gl are the only drivers the Mupen core works on. I think if your device doesn’t support glcore it will use gl instead, and you can override it to gl if you want to if you want to use glsl shaders instead of slang.