Can Mesa3D be used on Citra for computers who do not support OpenGL 3.3+


#1

Above question. I’ve compiled the .dll from Mesa3D, but don’t know if it can be properly implemented, and how.


#2

In addition, will there ever be a time when Citra can support Direct3D?


#3

I don’t know what Mesa3D is, but if you mean the mesa drivers, they should work, although quite slow. Mesa does not magically update your GPU, it uses your CPU to emulate it, so it’s very much similar to software renderers.

As of Direct3D, I don’t think anyone would be interested in it now, or in the future - it’s platform specific, and require a lot of time and effort to be put into. Developers do not like it.


#4

Okay, but how exactly would I go about using the Mesa drivers?


#5

As zhaowenian1779 said, supporting Direct3D would make so much extra work for a cross-platform open-source emulator. If they chose to go with any version of DX that is limited to Windows it would automatically exclude all other platforms (MacOS, Linux, Android etc.), or at least make so much double-effort. OpenGL is probably what works best for such projects at this very moment.

Also what do you mean with how do you go about using the MESA driver?


#6

I have gone through the entire process of compiling the .dll file for Mesa3D (opengl32.dll). How exactly should I install it to make it work? Do I put it into the citra folder? Do I need any other files? Do I overwrite the system’s opengl32.dll?


#7

There is an unofficial tutorial on setting it up here.


#8

I tried the tutorial, but Citra still recognizes only OpenGL 3.1, Not the new Mesa3D OpenGL. To my knowledge, I am following the tutorial correctly.


#9

Yeah, I have to admit that it was very slow, but at least it still playable, and having the same speed and FPS as when I used Ubuntu to play :sweat_smile:.

You should use the .dll from there: https://cristianadam.eu/assets/grim-fandango/mesa_10_5_5_opengl32_pgo.zip. For some reason, every other ones, including the ones from the pre-built packages, don’t seem to work for me.