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


Yeah, I got it now mate, in the configurations>Graphics tab, i unchecked the enable hardware renderer and it worked! I just didn’t know that I should have adjust some settings to make it work.
Thanks so much man!


Glad it worked for you :grin: The only weird thing is that my PC has the same graphic card as yours, but somehow the hardware renderer still worked.


For some reason, when I try this out it doesn’t work. Citra still recognizes OpenGL 3.1 and not the 3.3.

I have a feeling the batch file might be involved. What’s the exact formatting of it?
I currently have it as


Your batch file’s format is basically the same as mine, so it should be alright. But you should use the .dll from this link: , then place it in the x64 folder, replace the one that comes with this package: .Only the .dll from worked so far. Any other .dll simply won’t work, and had the same errors as yours.

Also, remember to choose “n” from the following step:


Nice thread!
I have a problem with this. I have an i3-2330M with Intel HD Graphics 3000, but doesn’t works. Even Citra doesn’t recognize my APU as IHDG3000 but a Microsoft Chipset with OpengGL 1.1

[ 0.000000] Config core/settings.cpp:LogSettings:50: Citra Configuration:
[ 0.000083] Config core/settings.cpp:LogSetting:46: Core_UseCpuJit: true
[ 0.000242] Config core/settings.cpp:LogSetting:46: Renderer_UseHwRenderer: true
[ 0.000252] Config core/settings.cpp:LogSetting:46: Renderer_UseHwShader: true
[ 0.000301] Config core/settings.cpp:LogSetting:46: Renderer_ShadersAccurateGs: true
[ 0.000307] Config core/settings.cpp:LogSetting:46: Renderer_ShadersAccurateMul: true
[ 0.000369] Config core/settings.cpp:LogSetting:46: Renderer_UseShaderJit: true
[ 0.000376] Config core/settings.cpp:LogSetting:46: Renderer_UseResolutionFactor: 1
[ 0.000436] Config core/settings.cpp:LogSetting:46: Renderer_UseVsync: true
[ 0.000442] Config core/settings.cpp:LogSetting:46: Renderer_UseFrameLimit: true
[ 0.000501] Config core/settings.cpp:LogSetting:46: Renderer_FrameLimit: 100
[ 0.000507] Config core/settings.cpp:LogSetting:46: Layout_Toggle3d: false
[ 0.000565] Config core/settings.cpp:LogSetting:46: Layout_Factor3d: 0
[ 0.000634] Config core/settings.cpp:LogSetting:46: Layout_LayoutOption: 0
[ 0.000646] Config core/settings.cpp:LogSetting:46: Layout_SwapScreen: false
[ 0.000651] Config core/settings.cpp:LogSetting:46: Audio_OutputEngine: auto
[ 0.000656] Config core/settings.cpp:LogSetting:46: Audio_EnableAudioStretching: true
[ 0.000764] Config core/settings.cpp:LogSetting:46: Audio_OutputDevice: auto
[ 0.000771] Config core/settings.cpp:LogSetting:46: Camera_OuterRightName: blank
[ 0.000844] Config core/settings.cpp:LogSetting:46: Camera_OuterRightConfig:
[ 0.000853] Config core/settings.cpp:LogSetting:46: Camera_OuterRightFlip: 0
[ 0.000873] Config core/settings.cpp:LogSetting:46: Camera_InnerName: blank
[ 0.000879] Config core/settings.cpp:LogSetting:46: Camera_InnerConfig:
[ 0.000884] Config core/settings.cpp:LogSetting:46: Camera_InnerFlip: 0
[ 0.000996] Config core/settings.cpp:LogSetting:46: Camera_OuterLeftName: blank
[ 0.001003] Config core/settings.cpp:LogSetting:46: Camera_OuterLeftConfig:
[ 0.001051] Config core/settings.cpp:LogSetting:46: Camera_OuterLeftFlip: 0
[ 0.001092] Config core/settings.cpp:LogSetting:46: DataStorage_UseVirtualSd: true
[ 0.001164] Config core/settings.cpp:LogSetting:46: System_IsNew3ds: false
[ 0.001225] Config core/settings.cpp:LogSetting:46: System_RegionValue: -1
[ 0.001237] Config core/settings.cpp:LogSetting:46: Debugging_UseGdbstub: false
[ 0.001295] Config core/settings.cpp:LogSetting:46: Debugging_GdbstubPort: 24689
[ 1.443729] Frontend citra_qt/main.cpp:GMainWindow:152: Citra Version: Nightly #847 | HEAD-ecb3dc2
[ 1.966321] Frontend citra_qt/main.cpp:CheckForUpdates:541: Update check started
[ 4.701117] Frontend citra_qt/main.cpp:OnUpdateFound:554: No updates found
[ 5.441139] Frontend citra_qt/main.cpp:BootGame:685: Citra starting…
[ 5.568715] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:514: GL_VERSION: 1.1.0
[ 5.568726] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:515: GL_VENDOR: Microsoft Corporation
[ 5.568728] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:516: GL_RENDERER: GDI Generic
[ 5.568733] Render video_core/video_core.cpp:Init:36: initialization failed !
[ 5.568736] Core core/core.cpp:Load:110: Failed to initialize system (Error 9)!

I followed every step like 10 times, looking if i done something wrong. Even i unistalled everything, installed Citra without your tutorial again (looking if there is something wrong with the steps) but the same error appears again and again.

I tried uninstalling my APU’s drivers to install the official Intel drivers, but the same.


Download and install your GPU driver.


Done hours ago. Doesn’t work. Looks to be everything okey with the drivers (I tried uninstalling my APU’s drivers to install the official Intel drivers, but the same.).


That looks ok but how did you install your gpu drivers? where did you download from?


From the official Intel Download Center. Like two years ago i downloaded them first from Sony’s support page. Yesterday i unistalled them, and installed the official from Intel.


Restart your computer maybe? because otherwise citra would report OpenGL X.XX as the latest supported.


It’s still not working. I am seeing that the wording for perappdeploy is a little different in my installer (I’m using version 18.1.5)

Path to folder: C:\Users\Pineapple\AppData\Local\Citra\canary-mingw
This is a 64-bit application (y=yes): y
Do you want Desktop OpenGL drivers (y/n, defaults to yes wait what?): n
Do you need OpenGL ES support This wasn’t there in your tutorial what is this(y/n): y
Do you need off-screen rendering (y/n): y
Version of osmesa off-screen rendering: Gallium based (1)
Do you need graw library (y/n): y

Are you using an older version? Does it not work with this new version? I’ve replaced the .dll with the one from cristianadam, but it still only recognizes OpenGL 3.1


Weird, I’m using the same version, and the lines were indeed different: I don’t have the “OpenGL ES support” line, but instead I have the “swr driver” line. It still works until now for me.

Also, I know this question is unnessesary, but did you run citra-qt from the .bat file instead of the .exe? And did the symlink files appear in the citra’s main folder?

  1. I did run it from the .bat file, and still didn’t work.
  2. Are you talking about the shortcuts to the MESA files in the canary folder? Should I be extracting these into the “Citra” folder or “canary-mingw”?
    Edit: First part of #2 is stupid NVM.


Well, those are the .symlink files to link to MESA, it should appear in canary-mingw. The perappdeploy doesn’t include subfolders

Also, can you upload the console log of the error? Or it was just the same as this?


Yes, the last two lines are the same. Interestingly, though, instead of the displaying the error message this time, Citra is just frozen now.


This is my console log, citra-qt recognize MESA in my case:
[ 29.700230] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:514: GL_VERSION: 3.3 Mesa 18.0.0 (git-fb64913d19)
[ 29.700253] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:515: GL_VENDOR: VMware, Inc.
[ 29.700259] Render.OpenGL video_core/renderer_opengl/renderer_opengl.cpp:Init:516: GL_RENDERER: llvmpipe (LLVM 6.0, 256 bits)


Yeah mine still recognizes the default OpenGL 3.1, Vendor is Intel, Renderer is Intel HD Graphics 3000


Try the perappdeploy again, I don’t know why it didn’t work for you though :disappointed:


Still doesn’t work. I’ve tried the old one ( that has the same text as your perappdeploy, and that one doesn’t work. The new one also still doesn’t work.


I’m gonna try and restart my computer, see if that helps.