Force OpenGL3.3 on Intel HD Graphics 3000 (Windows)

I’ve just tested the latest release of pre-built MESA from pal1000’s repo, and it worked with all version of Citra, even without the optimized .dll from for some reason. It might not work for some other cases though, as I only tested it on my laptop so far (HD Graphics 3000, 4GB RAM).

The choices provided by perappdeploy.cmd are also a little bit different:

  • This is a 64-bit application (y=yes): y
  • Do you want Desktop OpenGL drivers (y/n, defaults to yes): y
    Updated softpipe and llvmpipe deployment.
    symbolic link created for D:\Citra\canary-mingw\opengl32.dll <<===>> D:\MESA\x64\opengl32.dll
    symbolic link created for D:\Citra\canary-mingw\libglapi.dll <<===>> D:\MESA\x64\libglapi.dll
  • Do you want swr driver - the new desktop OpenGL driver made by Intel (y/n): y
    Updated swr driver deployment.
    symbolic link created for D:\Citra\canary-mingw\swrAVX.dll <<===>> D:\MESA\x64\swrAVX.dll
    symbolic link created for D:\Citra\canary-mingw\swrAVX2.dll <<===>> D:\MESA\x64\swrAVX2.dll
  • Do you need OpenGL ES support (y/n):y
    symbolic link created for D:\Citra\canary-mingw\libGLESv1_CM.dll <<===>> D:\MESA\x64\libGLESv1_CM.dll
    symbolic link created for D:\Citra\canary-mingw\libGLESv2.dll <<===>> D:\MESA\x64\libGLESv2.dll
    Do you need off-screen rendering (y/n):y
    Updated Mesa3D off-screen rendering interface deployment.
  • What version of osmesa off-screen rendering you want:
  1. Gallium based (faster, but lacks certain features);
  2. Swrast based (slower, but has unique OpenGL 2.1 features);
    Enter choice:1
    Version of osmesa off-screen rendering: Gallium based (1)
    Do you need graw library (y/n):y
    Updated Mesa3D graw framework deployment.
    symbolic link created for D:\Citra\canary-mingw\graw.dll <<===>> D:\MESA\x64\graw.dll

If you see those bold lines while using the .cmd, then you’re doing it right.

I tried it, and hooray! It works!
Thanks for all your help, i was just about to give up on this.

1 Like

That’s great! Glad that it finally worked :grinning:

FINALLY I CAN PLAY BACT, I don’t know there is a tutorial that foce opengl 3.3 on my Intel HD 3000, I thought I can’t play 3ds games on my computer, It wouldn’t be possible without you.
But one thing before I saw this article, like WTH?
the log file says opengl version 1.1.0 instad of 3.1.0:
[ 53.792118] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:514: GL_VERSION: 1.1.0
[ 53.792127] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:515: GL_VENDOR: Microsoft Corporation
[ 53.792128] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:516: GL_RENDERER: GDI Generic

If you’ve just updated your PC to Windows 10, then it might be caused by driver problems. Update your driver to the latest version first and do the whole thing again:

If it works, then it will show something like this in the console log:

Instead of:


ok, i followed your tutorial, the error shows up, (see pic1), I setted the bat files correctly (see picture 2 & 3) I checked the updates, are latest (see pic 4), I followed what you said (see pic 5 & 6 because I have nighty and canary), finally the same error appeared (see pic7)

UGH, i can only post 3 pictures in a post

Vmware? That seems familiar, I use Vmware workstation… :thinking: :thinking: :thinking: :thinking:

Anything changes in the console log?

nope, it didn’t change, at least shall I get the one from intel or from windows update?

Well you can update your driver from intel, it’s more reliable. After that, try running perappdeploy as administrator.

ehhh, they say only support for windows 7, 8 and 8.1

In that case, try using Windows Update.

but windows update says it’s latest

That’s odd. Try searching this in google: “Intel HD Graphics 3000 drivers”.

Hmmm, some said that intel’s graphics 3000 drive is runnable on windows 10 including driver easy:

Then install it. If it works with the older version, I think it can work with windows 10.

okay, here goes nothing, I am running the system restore first

I don’t think you need to do that.

done but the log file is the same, also can we talk to somewhere else because I reached the amount of posts?