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


Wait a minute… Yours is default to “yes”? Well in that case choose y! Why didn’t I think of that?
Mine is the exact opposite:


Still not working… ;-;


Even after you choose y instead of n this time? What GL_VERSION did it appear this time?


Same result as before. I seriously don’t know why.
GL Version - 3.1.0 (Build
Vendor - Intel
Renderer - HD Graphics 3000


Configuring Citra to use the software Renderer isn’t working either


The last thing I can think of is to use an old version of MESA. The last version I used without the lines changes is Replace the 18.1.5 version, replace the x64 with the package with the one from cristianadam, run perappdeploy again with these options:

…and then run the .bat files. If that fails, then I’m out of options sadly :disappointed:
P/S: I checked the release note of 18.1.5 version, and it seems that the author removed LLVM version from version string. I don’t know if it was related or not.


It doesn’t work.

Anyways, there is another computer that I can try this on. If it works, I’ll reply since I’m pretty sure that it’s just Dell screwing with me (or something that I installed that is screwing it up.)


Good luck then, I hope it will work for you :sweat_smile:


Is the same as that one.


regarding sw rendering, even the sw renderer uses opengl to render the texture to the framebuffer and swap, and for simplicities sake, citra uses the same context for both sw renderer and hw renderer. so yeah, we still make a 3.3 context even though its only used to draw the final framebuffer

and also, you should probably look more into your dll resolution to make sure that mesa llvmpipe is getting loaded instead of your regular drivers. if the intel drivers appear higher on this list, then it’ll load them everytime. while i don’t know what this thread is telling you to do, it doesn’t sound like its loading the dll, so start by debugging that specifically


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.


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?