Blender won't start - GPUShader: compile error - AWS Elastic Graphics #79246
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
FBX
Interest
Freestyle
Interest
Geometry Nodes
Interest
glTF
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 & 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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
Asset System
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
6 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#79246
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Windows Server 2019
Graphics card: Amazon Elastic Graphics (eg1.medium) (OpenGL 4.3)
Blender Version
Broken: blender-2.81-windows64.msi (still broken in 2.83)
Worked: blender-2.80rc3-windows64.msi (last version it works in)
Short description of error
The following zip contains output.txt (STDERR/STDOUT when attempted to launch with --debug-all) and also shaders.txt and sub folder when attempting launch with that debug info:
debugoutput.zip
I am looking to run a Blender workload in Amazon Web Services (AWS).
For this, I am testing on a Windows Server image on a non-GPU compute resource.
Instead of GPU I am attaching
AWS Elastic Graphics
to the instance.This provides
OpenGL 4.3
which is working really well for another workload which uses Unity (in which case I need to force OpenGL mode).When I open blender.exe (2.83), it immediately exits. Running it from the command line I am able to capture the following output, which indicates some sort of shader error on startup:
system-info.txt from 2.79b:
system-info.txt
Exact steps for others to reproduce the error
Added subscriber: @af_luther
See also https://blender.stackexchange.com/questions/187611/blender-wont-start-gpushader-compile-error-aws-elastic-graphics
Added subscriber: @rjg
Looks like
GLEW_ARB_shader_draw_parameters
is not true, which is whyGL_ARB_shader_draw_parameters
doesn't get defined ingpu_shader_standard_extensions
.This and that you have to force the legacy backend for Unity with -force-opengl (if that is what you meant) seems to me that it doesn't provide the OpenGL version as described. Have you verified that OpenGL 4.3 is actually available?
Sorry, no, I don't have to use --force-opengl. I just have to build a Unity app to use OpenGL instead of DirectX.
OpenGL 4.3 is available and working.
Blender 2.79b fires up fine. This eeems to be a 2.8+ issue.
Any way to fix this compile issue so Blender. 2.8+ can open?
Also other 3D programs work fine, like NetFabb.
Is this helpful? Attached are outputs from glewinfo.exe glewinfo.txt and visualinfo.exe visualinfo.txt from glew
Is gl_BaseInstanceARB even required ?
@af_luther Thank you for the additional information. I'll have to let one of the GPUs devs take a look, since I'm not an expert on the subject matter.
Added subscriber: @mano-wii
This system is not listed among the supported GPUs. So I fear this can't be confirmed as a valid bug report.
This is apparently a driver error.
If
"GL_ARB_shader_draw_parameters is requried' by gl_BaseInstanceARB'"
then, in theory,GLEW_ARB_base_instance
should not be marked as supported by the driver.Perhaps this change can solve the problem. (It enables a workaround used by some GPUs):
But I am also not an expert in this area and I fear that this would not be the ideal solution.
I see -- it's not clear to me from the standards documents I can find that if gl_BaseInstanceARB is supplied then GL_ARB_shader_draw_parameters must be supplied. I will reach out to AWS support.
In the meantime, how I can test the workaround you proposed above? Would this build from 7/27 https://builder.blender.org/download/branches/ include that change:
https://builder.blender.org/download/temp-remesh-octree/temp-remesh-octree-blender-2.91.0-4a38856327a9-windows64.zip ?
Thank you
You would need to apply the patch (or redo the same changes indicated in the source code) and compile from source.
See: https://wiki.blender.org/wiki/Building_Blender
I tried this change with a custom build but the same error message occurred.
I wonder if there may be a possible fix by changing source/blender/draw/modes/shaders/common_view_lib.glsl lines 29-55:
I'm not sure what the change would be, though.
I found this after my test, maybe this is helpful: blender.crash.txt
Another question I have is that it appears the error is a Python compile error. I assume that means that Blender is using OpenGL configuration to create some Python code and compile it. Is this the case? Is that actually where the error is? Because I can only find one instance of "gl_baseInstanceARB" anywhere in the source code for Blender.
Try putting
GG.glew_arb_base_instance_is_supported = false;
It may be a little confusing, but those error messages are unrelated to Python.
Thank you for the suggestion. I tried this and did another build, and I am still getting the same error.
Based on the stack trace and error messages, it appears to when it compiles the code for the vertex shader. It appears to be the code from source/blender/draw/modes/shaders/common_view_lib.glsl which is getting compiled and causing the error. I'm not quite sure how this code works, but lines 29-55 seem to be the place where the same variables mentioned in the error message are defined/checked.
I wonder if there may be a possible fix by changing source/blender/draw/modes/shaders/common_view_lib.glsl lines 29-55.
I'm just not sure what the change would be as I don't understand the whole system here. I would really appreciate any suggestions. Thank you.
I'm not sure how to help.
The bug tracker is not the best place for these doubts.
I suggest contacting the developers on blender.chat:
https://wiki.blender.org/wiki/Communication/Contact#Contact_Developers
FYI, 2.80rc3 does work with AWS Elastic Graphics also. It might be this commit that broke it: [D4997 ](https://developer.blender.org/D4997)
Added subscribers: @fclem, @brecht
@fclem, is
#ifdef GL_ARB_shader_draw_parameters
correct?It assumes that
GL_ARB_shader_draw_parameters
gets defined when#extension GL_ARB_shader_draw_parameters : enable
successfully enables the extension, but I'm not sure that's how it works? At least I don't see anything about that in the GLSL spec. Maybe we should add our own define similar to#define GPU_ARB_texture_cube_map_array
and test that instead.There's a few cases where we have
#ifdefs
like this:@brecht I think you are on to something. When I run glew on this device, it tells me it doesn't have don't have GL_ARB_shader_draw_parameters. However when I make the following change and do a new build, blender works perfectly fine:
blender\source\blender\draw\intern\shaders\common_view_lib.glsl 77-82
from:
to:
Obviously, this isn't the desired final change to the code because then GL_ARB_shader_draw_parameters would never be turned on for devices that support it. But something is setting this to true when it should not be set to true. I'm just not sure where/how to fix that code myself.
@fclem per chat conversation here are the changes proposed by LazyDodo that I tested and confirmed fix this issue:
This issue was referenced by
02c3428e0c
This issue was referenced by
00162e6b7b
Changed status from 'Needs Triage' to: 'Resolved'