Blender intermitently won't open due to not recognizing Open GL API version #61995

Closed
opened 2019-02-26 22:38:54 +01:00 by Casey Frost · 32 comments

System Information
Operating system: Windows 10 Pro
Graphics card: XFX RX480 x2

Blender Version
Broken: 2.8 Beta
2019-02-25
Hash: 54ffc4e19d

Short description of error

Intermittent issue where blender won't launch, fails to recognize OpenGL version.

3.3.PNG
4.6.PNG

This only began after swapping in these RX480s in place of the GTX1070 I used to run, never was an issue with the Nvidia card.

I'm running the latest (non-beta) drivers for these cards, from Jan 2019.

**System Information** Operating system: Windows 10 Pro Graphics card: XFX RX480 x2 **Blender Version** Broken: 2.8 Beta 2019-02-25 Hash: 54ffc4e19dc4 **Short description of error** Intermittent issue where blender won't launch, fails to recognize OpenGL version. ![3.3.PNG](https://archive.blender.org/developer/F6719267/3.3.PNG) ![4.6.PNG](https://archive.blender.org/developer/F6719269/4.6.PNG) This only began after swapping in these RX480s in place of the GTX1070 I used to run, never was an issue with the Nvidia card. I'm running the latest (non-beta) drivers for these cards, from Jan 2019.
Author

Added subscriber: @HardRooster

Added subscriber: @HardRooster

Added subscriber: @ZedDB

Added subscriber: @ZedDB

As you previously had an nvidia card installed, this probably means that the drivers were not properly uninstalled.

You can try using https://www.guru3d.com/files-details/display-driver-uninstaller-download.html to uninstall the driver and reinstall and see if that helps.

As you previously had an nvidia card installed, this probably means that the drivers were not properly uninstalled. You can try using https://www.guru3d.com/files-details/display-driver-uninstaller-download.html to uninstall the driver and reinstall and see if that helps.
Author

I had manually removed the Nvidia software previously, but after running the DDU program, I could still see there were traces of it in there. So I ran the DDU program to clean up the NVidia drivers, restarted the computer and now DDU doesn't detect anything Nvidia related, however the intermittent refusal to open problem remains.

I had manually removed the Nvidia software previously, but after running the DDU program, I could still see there were traces of it in there. So I ran the DDU program to clean up the NVidia drivers, restarted the computer and now DDU doesn't detect anything Nvidia related, however the intermittent refusal to open problem remains.

Remove both the amd driver and the nvidia driver and reinstall.

Remove both the amd driver and the nvidia driver and reinstall.
Author

Oof, well that had the effect of breaking my computer for a couple hours. ? Took a while and a couple of times reinstalling the drivers for them to work right (2 cards, 6 monitors) but I'm back up and running...and I still get the same error. Got the same Open GL error about six times in a row before blender finally launched.

Oof, well that had the effect of breaking my computer for a couple hours. ? Took a while and a couple of times reinstalling the drivers for them to work right (2 cards, 6 monitors) but I'm back up and running...and I still get the same error. Got the same Open GL error about six times in a row before blender finally launched.
Member

Added subscriber: @LazyDodo

Added subscriber: @LazyDodo
Member

From blender we just ask the OS for an opengl 3.3+ context, if the OS randomly decides to tell you 'nope!' there is very little we can do about this. Things like these tend to be a bizarre mix of OS, driver versions and settings and are generally a time vampire to figure out and even when you do, you tend to end up fixing 'this one guys computer' rather than fixing a bug in blender. So i'm not sure how much help we can be in cases like this.

From blender we just ask the OS for an opengl 3.3+ context, if the OS randomly decides to tell you 'nope!' there is very little we can do about this. Things like these tend to be a bizarre mix of OS, driver versions and settings and are generally a time vampire to figure out and even when you do, you tend to end up fixing 'this one guys computer' rather than fixing a bug in blender. So i'm not sure how much help we can be in cases like this.
Author

That's perfectly understandable, I've been warned by the game developers I work with to expect AMD drivers to give me issues, so that does seem like a likely culprit. Would it be possible for me to edit the source code for blender in such a way that it just doesn't "ask" for the context? Not that I would know how to do it, but if it's an option, I'll head over to blender artists and/or Level1Techs and see if I can't get some help. I mean this isn't game breaking or anything, just a nuisance, it's just been made more problematic thanks to the crash bug I found recently (and reported) that was causing blender to crash non-stop.

Another question, does blender keep crash logs of any kind? I get random undo crashes, but I can't ever duplicate them so I have nothing to report without a log. But I would like to get that fixed as it's semi-frequent. (Once an 8 hour day maybe) I amped up my undo limit to 256 steps (I have 16GB RAM so maybe that's the thing?)

That's perfectly understandable, I've been warned by the game developers I work with to expect AMD drivers to give me issues, so that does seem like a likely culprit. Would it be possible for me to edit the source code for blender in such a way that it just doesn't "ask" for the context? Not that I would know how to do it, but if it's an option, I'll head over to blender artists and/or Level1Techs and see if I can't get some help. I mean this isn't game breaking or anything, just a nuisance, it's just been made more problematic thanks to the crash bug I found recently (and reported) that was causing blender to crash non-stop. Another question, does blender keep crash logs of any kind? I get random undo crashes, but I can't ever duplicate them so I have nothing to report without a log. But I would like to get that fixed as it's semi-frequent. (Once an 8 hour day maybe) I amped up my undo limit to 256 steps (I have 16GB RAM so maybe that's the thing?)
Member

amd has some opengl extentions to specifically select a card that may do the trick , whether or not you would be able to edit the code to make this work is hard to say, you'll need to be a fairly experienced programmer to pull it off.

Blender does not keep crashlogs on windows since we lack the context to make any sense of them (adding that context would add 300-500 megabytes to the download) I have done some work to have automatic crash reporting in blender, but sofar that has not made it into mainline blender.

amd has some [opengl extentions ](https://github.com/KhronosGroup/OpenGL-Registry/blob/master/extensions/AMD/WGL_AMD_gpu_association.txt) to specifically select a card that may do the trick , whether or not you would be able to edit the code to make this work is hard to say, you'll need to be a fairly experienced programmer to pull it off. Blender does not keep crashlogs on windows since we lack the context to make any sense of them (adding that context would add 300-500 megabytes to the download) I have done some work to have automatic crash reporting in blender, but sofar that has not made it into mainline blender.
Author

I'm not an experienced programmer at all, that opengl extentions thing is way over my head.

Now I'm running into an issue where it refuses to open a particular file, even after blender launches successfully, it gives me the same OpenGL issues.

I'm not an experienced programmer at all, that opengl extentions thing is way over my head. Now I'm running into an issue where it refuses to open a particular file, even after blender launches successfully, it gives me the same OpenGL issues.
Author

OK, I basically solved my problem. I gave up on AMD ? I put the 1070 back in, and I scrounged up a GT710 for some extra video outputs. It's working flawlessly.

OK, I basically solved my problem. I gave up on AMD ? I put the 1070 back in, and I scrounged up a GT710 for some extra video outputs. It's working flawlessly.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sebastian Parborg self-assigned this 2019-02-28 09:24:39 +01:00
Author

This problem is back. I now have two GTX 1070s and I'm getting the same OpenGL 3.3 error and refusal to launch.

Edit: Just tested with 2.79b and it works fine.

Edit 2: If I put the cards in SLI, and put the GT710 back in to run the other displays, all is fine again. Blender is having some kind of issue working with multiple GPUs from either Nvidia or AMD when they're not in Crossfire or SLI

This problem is back. I now have two GTX 1070s and I'm getting the same OpenGL 3.3 error and refusal to launch. Edit: Just tested with 2.79b and it works fine. Edit 2: If I put the cards in SLI, and put the GT710 back in to run the other displays, all is fine again. Blender is having some kind of issue working with multiple GPUs from either Nvidia or AMD when they're not in Crossfire or SLI

The issue is actually the reverse. It is the GPU drivers that doesn't support this configuration. All blender does is to request a OpenGL 3.3 context. However as you noticed, the driver will respond that it can't provide that.

There is nothing we can do here as the driver has to be able to provide a OpenGL 3.3 context for blender 2.8 to work. If it can't do that because of your setup, then it is the driver that need to be fixed.

The issue is actually the reverse. It is the GPU drivers that doesn't support this configuration. All blender does is to request a OpenGL 3.3 context. However as you noticed, the driver will respond that it can't provide that. There is nothing we can do here as the driver has to be able to provide a OpenGL 3.3 context for blender 2.8 to work. If it can't do that because of your setup, then it is the driver that need to be fixed.
Author

So both Nvidia and AMD have the exact same flaws in their drivers, that only are a problem with 2.8, but not with 2.79b? Forgive me if I find that sort of coincidence hard to believe. How is 2.79b getting the OpenGL context to pass where 2.8 isn't? Could it have anything to do with the fact that 2.8 doesn't have an installer? (I assume the stable version will have an installer)

So both Nvidia and AMD have the exact same flaws in their drivers, that only are a problem with 2.8, but not with 2.79b? Forgive me if I find that sort of coincidence hard to believe. How is 2.79b getting the OpenGL context to pass where 2.8 isn't? Could it have anything to do with the fact that 2.8 doesn't have an installer? (I assume the stable version will have an installer)

Added subscriber: @fclem

Added subscriber: @fclem

If I took a wild guess, I would suspect that there is some fallback going on with 2.79 (and opengl 2.1). But for OpenGL >=3.3 this is not the case so it just fails.

@fclem do you have any input on this? If the driver says that it can't give us a 3.3 context, I don't think there is much we can do.

If I took a wild guess, I would suspect that there is some fallback going on with 2.79 (and opengl 2.1). But for OpenGL >=3.3 this is not the case so it just fails. @fclem do you have any input on this? If the driver says that it can't give us a 3.3 context, I don't think there is much we can do.

Well we do some trickery we didn't do in the past on 2.79, namely the multiple contexts sharing etc... What I find really strange is that it does not fail reliably.

On the problem being the same on Nvidia/AMD: The problem might come from the way Windows is handling the Devices and the resources.

@HardRooster It would be nice if you could launch blender from a console and copy paste the output to a text file that you attach here. You can also try to run using the --debug or --debug-gpu options but I doubt they change anything.

Well we do some trickery we didn't do in the past on 2.79, namely the multiple contexts sharing etc... What I find really strange is that it does not fail reliably. On the problem being the same on Nvidia/AMD: The problem might come from the way Windows is handling the Devices and the resources. @HardRooster It would be nice if you could launch blender from a console and copy paste the output to a text file that you attach here. You can also try to run using the `--debug` or `--debug-gpu` options but I doubt they change anything.

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

You can get the debug info by running the
blender_debug_log.cmd
blender_debug_gpu.cmd
files and attach the output files.

You can get the debug info by running the `blender_debug_log.cmd` `blender_debug_gpu.cmd` files and attach the output files.
Member

You'll need todays builds to have them , but running just blender_debug_gpu.cmd will do it, you don't need blender_debug_log.cmd
`

You'll need todays builds to have them , but running just ` blender_debug_gpu.cmd` will do it, you don't need `blender_debug_log.cmd` `
Author

Thank you all for looking into this again. Here's what I did to put the system back into a "broken" state;

(I'm not particularly competent with the command line, I know how to run diskpart and that's about it, I even had to google how to change the file path, so don't assume I know what I'm doing here ? )

Shut down the computer (windows did an update)

Removed the SLI bridge
Removed the GT710
Moved video cables, evenly distributed between both GTX 1070s
Relaunched windows

Ran CMD as administrator;

blender_degug_gpu.cmd

Observed openGL 3.3 error as before, closed blender, which generated the files I've attached here.

DebugInfo_3_13_2019_0945.zip

An additional note for @fclem : I also found it strange that the failure was not reliable, however that was only with AMD. Since I've been running the Nvidia cards, it fails every single time, I've not been able to get blender to launch at all. So now it's even more strange.

Thank you all for looking into this again. Here's what I did to put the system back into a "broken" state; (I'm not particularly competent with the command line, I know how to run diskpart and that's about it, I even had to google how to change the file path, so don't assume I know what I'm doing here ? ) Shut down the computer (windows did an update) Removed the SLI bridge Removed the GT710 Moved video cables, evenly distributed between both GTX 1070s Relaunched windows Ran CMD as administrator; ``` blender_degug_gpu.cmd ``` Observed openGL 3.3 error as before, closed blender, which generated the files I've attached here. [DebugInfo_3_13_2019_0945.zip](https://archive.blender.org/developer/F6815437/DebugInfo_3_13_2019_0945.zip) An additional note for @fclem : I also found it strange that the failure was not reliable, however that was only with AMD. Since I've been running the Nvidia cards, it fails every single time, I've not been able to get blender to launch at all. So now it's even more strange.

@HardRooster Can you try running blender with only one GPU? There should be a context menu if you right click the blender executable, or a control panel to set GPU affinity per application.

@HardRooster Can you try running blender with only one GPU? There should be a context menu if you right click the blender executable, or a control panel to set GPU affinity per application.
Author

I assume you mean this;

image.png

That actually works. I see both cards as an option for rendering in user preferences, and doing a quick test render it used both to render.
Even more interesting (I thought) is blender, for whatever reason, always opens on monitor 4, which is plugged into the second GPU. I dragged it to monitor 1, which is running on the first GPU, didn't have an issue with that.

So are there some drawbacks to launching blender this way, or can I just use this as my workaround?

I assume you mean this; ![image.png](https://archive.blender.org/developer/F6815682/image.png) That actually works. I see both cards as an option for rendering in user preferences, and doing a quick test render it used both to render. Even more interesting (I thought) is blender, for whatever reason, always opens on monitor 4, which is plugged into the second GPU. I dragged it to monitor 1, which is running on the first GPU, didn't have an issue with that. So are there some drawbacks to launching blender this way, or can I just use this as my workaround?

Yes this workaround works. Rendering (with cycles) should not be affected by this. Only Eevee and the viewport will only use this card. So yes it's a duplicate of a previous bug but we cannot do much about it for now. Just use the workaround.

Yes this workaround works. Rendering (with cycles) should not be affected by this. Only Eevee and the viewport will only use this card. So yes it's a duplicate of a previous bug but we cannot do much about it for now. Just use the workaround.

Closed as duplicate of #60958

Closed as duplicate of #60958
Author

Excellent, thank you all so much. You're all the best and keep up the great work.

Excellent, thank you all so much. You're all the best and keep up the great work.
Author

Just a quick follow-up, for the sake of thoroughness.

I had a chance this morning to test this out with the RX480s, and for whatever reason, there isn't a right-click context menu for "Render OpenGL on". I have no issue going back to the 1070s, but I'm doing all this testing mainly because I want to run Radeon VIIs, but I'm gun-shy about any AMD GPUs. But the Value of the Radeon VII, with all that VRAM can't be beat by NVidia. I guess it's just likely that the AMD driver isn't providing that context selection. Is there a way to force it maybe via command line?

Just a quick follow-up, for the sake of thoroughness. I had a chance this morning to test this out with the RX480s, and for whatever reason, there isn't a right-click context menu for "Render OpenGL on". I have no issue going back to the 1070s, but I'm doing all this testing mainly because I want to run Radeon VIIs, but I'm gun-shy about any AMD GPUs. But the Value of the Radeon VII, with all that VRAM can't be beat by NVidia. I guess it's just likely that the AMD driver isn't providing that context selection. Is there a way to force it maybe via command line?

There is this https://pureinfotech.com/set-gpu-app-windows-10/
but I'm not sure since this option may be only for laptops with integrated gpu.

If not you can try via the Radeon Settings application that maybe let you set the prefered GPU for a certain app.

There is this https://pureinfotech.com/set-gpu-app-windows-10/ but I'm not sure since this option may be only for laptops with integrated gpu. If not you can try via the Radeon Settings application that maybe let you set the prefered GPU for a certain app.
Author

Edit: Added debug info

Debuginfo_3_14_2019_0855.zip

Bunk, yeah the Windows settings in that article don't exist on my system, I think you're right about it being for iGPUs and/or laptops.

I added blender to Radeon settings so it had its own profile, but I see now way to disable a GPU.

image.png

I don't really see anything in global setting either.

image.png

Edit: Added debug info [Debuginfo_3_14_2019_0855.zip](https://archive.blender.org/developer/F6822695/Debuginfo_3_14_2019_0855.zip) Bunk, yeah the Windows settings in that article don't exist on my system, I think you're right about it being for iGPUs and/or laptops. I added blender to Radeon settings so it had its own profile, but I see now way to disable a GPU. ![image.png](https://archive.blender.org/developer/F6822657/image.png) I don't really see anything in global setting either. ![image.png](https://archive.blender.org/developer/F6822672/image.png)
Author

More follow up, again for the sake of thoroughness/documentation.

I've traced down the issue a bit further, and totally by accident.

TL:DR: Using HDMI outputs on both cards causes the issue.

I've been running my main panel on the first GPU HDMI, and the TV off the second GPU HDMI. This weekend, I unplugged the TV so my wife could watch it without inconveniencing either of us. (For whatever reason, blender opens on the TV) In any event, that solved the Open GL 3.3 problem and blender opens normally. I haven't tested this with the AMD GPUs yet, but I suspect they'll be fine.

More follow up, again for the sake of thoroughness/documentation. I've traced down the issue a bit further, and totally by accident. TL:DR: Using HDMI outputs on both cards causes the issue. I've been running my main panel on the first GPU HDMI, and the TV off the second GPU HDMI. This weekend, I unplugged the TV so my wife could watch it without inconveniencing either of us. (For whatever reason, blender opens on the TV) In any event, that solved the Open GL 3.3 problem and blender opens normally. I haven't tested this with the AMD GPUs yet, but I suspect they'll be fine.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#61995
No description provided.