Closed twinpigs closed 6 years ago
What exactly does 'Intel graphics' mean? Is this HD3000? 4000?
@Zireael07 It's a 2010 MacBook, Intel Sandy Bridge didn't exist back then, so it has first-generation Intel graphics. OpenGL drivers are pretty bad on those (even OpenGL 2.1), so I'm not sure if anything can be done about this.
He says Godot 2.1. is working, so his OpenGL 2.1 support should be good enough.
@twinpigs: Try Godot 3.1. alpha in GLES2 mode. Evidently your card doesn't support OpenGL 3 despite somehow getting through the 'no GLES3 support?' check.
"About This Mac" says: Intel HD Graphics:
Chipset Model: Intel HD Graphics Type: GPU Bus: Built-In VRAM (Dynamic, Max): 288 MB Vendor: Intel Device ID: 0x0046 Revision ID: 0x0018 Automatic Graphics Switching: Supported gMux Version: 1.9.21
@Zireael07 I dowloaded 3.1.alpha.official from https://downloads.tuxfamily.org/godotengine/3.1/alpha1/ but how to switch mode before open project?
There should be a commandline parameter, I believe --GLES2.
I believe --GLES2.
It's --video-driver GLES2
Alternatively you can try rebuilding godot with following patch to force software renderer, it's quite slow but should work on any hardware.
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index 44b4223a65..99355c6964 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -1269,6 +1269,8 @@ Error OS_OSX::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
ADD_ATTR(NSOpenGLPFADoubleBuffer);
ADD_ATTR(NSOpenGLPFAClosestPolicy);
+ ADD_ATTR2(NSOpenGLPFARendererID, kCGLRendererGenericID);
+
if (p_video_driver == VIDEO_DRIVER_GLES2) {
ADD_ATTR2(NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersionLegacy);
} else {
To run a project with GLES2, use godot --video-driver GLES2 -e --path /path/to/project
. Then select GLES2 as default driver in the project settings.
The alpha 1 has support to automatically fallback to GLES2 if GLES3 is not available, but sadly macOS drivers, on top of being very bad, claim that they support GLES3 so this logic doesn't work there.
No luck, the same trouble:
I run Godot with arguments:
martini$ /Applications/Godot.app/Contents/MacOS/Godot --video-driver GLES2 -e --path /Users/martini/Godot/New\ Game\ Project/project.godot arguments 0: /Applications/Godot.app/Contents/MacOS/Godot 1: --video-driver 2: GLES2 3: -e 4: --path 5: /Users/martini/Godot/New Game Project/project.godot Current path: /Applications/Godot.app/Contents/Resources OpenGL debugging not supported! OpenGL ES 2.0 Renderer: Intel HD Graphics OpenGL Engine ERROR: initialize: Directional shadow framebuffer status invalid At: drivers/gles2/rasterizer_scene_gles2.cpp:2474.
Project list window opens here. I select my empty project manually and click "Edit", and...
Editing project: /Users/martini/Godot/New Game Project (::Users::martini::Godot::New Game Project) arguments 0: /Applications/Godot.app/Contents/MacOS/Godot 1: --path 2: /Users/martini/Godot/New Game Project 3: --editor Current path: /Applications/Godot.app/Contents/Resources
(I can see: no --video-driver parameter now, OpenGL ES 3.0 in use again. But even if I try --editor instead of -e, editor does not start without manual project selection. And after selection it runs without --video-driver parameter.)
Alexeys-MacBook-Pro:~ martini$ OpenGL ES 3.0 Renderer: Apple Software Renderer
WARNING: _get: Property not found: _global_script_class_icons
At: core/project_settings.cpp:194.
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] 1 libsystem_platform.dylib 0x00007fff617d3f5a _sigtramp + 26
[2] 2 ??? 0x00007fa393716e11 0x0 + 140340530081297
[3] 3 GLEngine 0x00007fff43c94bf9 gleSetVPTransformFuncAll + 537
[4] 4 GLEngine 0x00007fff43c8c319 gleLLVMVecPrimLineRender + 841
[5] 5 GLEngine 0x00007fff43bc204d glDrawArrays_GL3Exec + 974
[6] RasterizerSceneGLES3::_render_list(RasterizerSceneGLES3::RenderList::Element, int, Transform const&, CameraMatrix const&, unsigned int, bool, bool, bool, bool, bool) (in Godot) + 17825
[7] RasterizerSceneGLES3::render_scene(Transform const&, CameraMatrix const&, bool, RasterizerScene::InstanceBase, int, RID, int, RID, int, RID, RID, RID, RID, int) (in Godot) + 3422
[8] VisualServerScene::render_camera(RID, RID, Vector2, RID) (in Godot) + 827
[9] VisualServerViewport::_draw_viewport(VisualServerViewport::Viewport*, ARVRInterface::Eyes) (in Godot) + 530
[10] VisualServerViewport::draw_viewports() (in Godot) + 845
[11] VisualServerRaster::draw(bool, double) (in Godot) + 324
[12] Main::iteration() (in Godot) + 960
[13] ProgressDialog::task_step(String const&, String const&, int, bool) (in Godot) + 387
[14] EditorFileSystem::reimport_files(Vector
Path should be without project.godot
part.
I got success with
$ /Applications/Godot.app/Contents/MacOS/Godot /Users/martini/Godot/New\ Game\ Project/project.godot --video-driver GLES2 --editor
Thank you.
Godot version: 3.0.6.stable.official.8314054
OS/device including version: MacBook Pro (15-inch, Mid 2010) under OS X High Sierra 10.13.6 Mac is forced to use integrated Intel graphic card with gfxCardStatus tool, because discrete Nvidia is broken on this model. Godot 2.1 is stil working fine on the same computer.
Issue description: When opens any project, after initial Godot and sponsors logos screen the error happens:
Steps to reproduce: Force Mac to use Intel graphics and try to open project.