Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS with Intel Iris Graphics - Godot 4 beta 5 Project Manager using OpenGL3 is empty. #68760

Closed
Aithre opened this issue Nov 17, 2022 · 30 comments · Fixed by #70065
Closed

Comments

@Aithre
Copy link

Aithre commented Nov 17, 2022

Godot version

v4.0.beta5.official

System information

macOS Big Sur v11.6.8, MacBook Pro (Retina, 13-inch, Early 2015), 2,7 GHz Dual-Core Inter Core i5, Intel Iris Graphics 6100 1536 MB, 8GB RAM

Issue description

When launching Godot, the Project Manager doesn't show anything at all. I can open the project through the project.godot file and everything seems to be working well.

Steps to reproduce

Just launching the Godot app.

Minimal reproduction project

No response

@biblical-text
Copy link

I wonder if it is related to the fact you are using an older macOS (I assume that 2015 laptops, can't, or shouldn't be updated to the lates macOS.

@snougo
Copy link

snougo commented Nov 17, 2022

Screen Shot 2022-11-17 at 1 47 09 PM

The ProjectManager using GLES3 driver are broken on macOS 11.7.1, I think we can use Vulkan Mobile instead of GLES3 in Godot 4.0 Project Manager, because Vulkan Mobile is working OK on older macOS.

@clayjohn
Copy link
Member

@snougo Can you try opening the editor from the command line with the command line argument --rendering-method mobile?

@snougo
Copy link

snougo commented Nov 17, 2022

@clayjohn yes It's opening

peter@KevindeMacBook-Pro /Applications % Godot.app/Contents/MacOS/Godot --rendering-method mobile
arguments
0: Godot.app/Contents/MacOS/Godot
1: --rendering-method
2: mobile
Current path: /Applications
Godot Engine v4.0.beta5.official.89a33d28f - https://godotengine.org
[mvk-info] MoltenVK version 1.2.0, supporting Vulkan version 1.2.231.
	The following 81 Vulkan extensions are supported:
		VK_KHR_16bit_storage v1
		VK_KHR_8bit_storage v1
		VK_KHR_bind_memory2 v1
		VK_KHR_create_renderpass2 v1
		VK_KHR_dedicated_allocation v3
		VK_KHR_depth_stencil_resolve v1
		VK_KHR_descriptor_update_template v1
		VK_KHR_device_group v4
		VK_KHR_device_group_creation v1
		VK_KHR_driver_properties v1
		VK_KHR_dynamic_rendering v1
		VK_KHR_external_fence v1
		VK_KHR_external_fence_capabilities v1
		VK_KHR_external_memory v1
		VK_KHR_external_memory_capabilities v1
		VK_KHR_external_semaphore v1
		VK_KHR_external_semaphore_capabilities v1
		VK_KHR_fragment_shader_barycentric v1
		VK_KHR_get_memory_requirements2 v1
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_get_surface_capabilities2 v1
		VK_KHR_imageless_framebuffer v1
		VK_KHR_image_format_list v1
		VK_KHR_maintenance1 v2
		VK_KHR_maintenance2 v1
		VK_KHR_maintenance3 v1
		VK_KHR_multiview v1
		VK_KHR_portability_subset v1
		VK_KHR_push_descriptor v2
		VK_KHR_relaxed_block_layout v1
		VK_KHR_sampler_mirror_clamp_to_edge v3
		VK_KHR_sampler_ycbcr_conversion v14
		VK_KHR_separate_depth_stencil_layouts v1
		VK_KHR_shader_draw_parameters v1
		VK_KHR_shader_float_controls v4
		VK_KHR_shader_float16_int8 v1
		VK_KHR_shader_subgroup_extended_types v1
		VK_KHR_spirv_1_4 v1
		VK_KHR_storage_buffer_storage_class v1
		VK_KHR_surface v25
		VK_KHR_swapchain v70
		VK_KHR_swapchain_mutable_format v1
		VK_KHR_timeline_semaphore v2
		VK_KHR_uniform_buffer_standard_layout v1
		VK_KHR_variable_pointers v1
		VK_EXT_debug_marker v4
		VK_EXT_debug_report v10
		VK_EXT_debug_utils v2
		VK_EXT_descriptor_indexing v2
		VK_EXT_fragment_shader_interlock v1
		VK_EXT_hdr_metadata v2
		VK_EXT_host_query_reset v1
		VK_EXT_image_robustness v1
		VK_EXT_inline_uniform_block v1
		VK_EXT_memory_budget v1
		VK_EXT_metal_objects v1
		VK_EXT_metal_surface v1
		VK_EXT_post_depth_coverage v1
		VK_EXT_private_data v1
		VK_EXT_robustness2 v1
		VK_EXT_sample_locations v1
		VK_EXT_scalar_block_layout v1
		VK_EXT_separate_stencil_usage v1
		VK_EXT_shader_stencil_export v1
		VK_EXT_shader_viewport_index_layer v1
		VK_EXT_subgroup_size_control v2
		VK_EXT_swapchain_colorspace v4
		VK_EXT_texel_buffer_alignment v1
		VK_EXT_texture_compression_astc_hdr v1
		VK_EXT_vertex_attribute_divisor v3
		VK_AMD_gpu_shader_half_float v2
		VK_AMD_negative_viewport_height v1
		VK_AMD_shader_image_load_store_lod v1
		VK_AMD_shader_trinary_minmax v1
		VK_IMG_format_pvrtc v1
		VK_INTEL_shader_integer_functions2 v1
		VK_GOOGLE_display_timing v1
		VK_MVK_macos_surface v3
		VK_MVK_moltenvk v36
		VK_NV_fragment_shader_barycentric v1
		VK_NV_glsl_shader v1
[mvk-info] GPU device:
		model: Intel Iris Graphics
		type: Integrated
		vendorID: 0x8086
		deviceID: 0x0a2e
		pipelineCacheUUID: 000027D8-0B07-07D1-0000-000000000000
	supports the following Metal Versions, GPU's and Feature Sets:
		Metal Shading Language 2.3
		GPU Family Mac 1
		GPU Family Common 2
		GPU Family Common 1
		macOS GPU Family 1 v4
		macOS GPU Family 1 v3
		macOS GPU Family 1 v2
		macOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.2.0, as requested by app, with the following 3 Vulkan extensions enabled:
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_surface v25
		VK_MVK_macos_surface v3
Vulkan API 1.2.231 - Using Vulkan Device #0: Intel - Intel Iris Graphics
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Created VkDevice to run on GPU Intel Iris Graphics with the following 4 Vulkan extensions enabled:
		VK_KHR_create_renderpass2 v1
		VK_KHR_multiview v1
		VK_KHR_swapchain v70
		VK_GOOGLE_display_timing v1
[mvk-info] Created 3 swapchain images with initial size (1152, 648) and contents scale 1.0 for screen VX2260WM.
[mvk-info] Created 3 swapchain images with initial size (1152, 648) and contents scale 1.0 for screen VX2260WM.
[mvk-info] Created 3 swapchain images with initial size (1152, 648) and contents scale 1.0 for screen VX2260WM.
 
[mvk-info] Created 3 swapchain images with initial size (482, 94) and contents scale 1.0 for screen VX2260WM.
[mvk-info] Created 3 swapchain images with initial size (482, 94) and contents scale 1.0 for screen VX2260WM.
[mvk-info] Created 3 swapchain images with initial size (482, 94) and contents scale 1.0 for screen VX2260WM.

Screen Shot 2022-11-17 at 2 06 21 PM

@clayjohn
Copy link
Member

@snougo Could you also let me know what gets printed when you run godot using the OpenGL renderer?

@snougo
Copy link

snougo commented Nov 17, 2022

@clayjohn

peter@KevindeMacBook-Pro ~ % /Applications/Godot.app/Contents/MacOS/Godot --rendering-method gl_compatibility
arguments
0: /Applications/Godot.app/Contents/MacOS/Godot
1: --rendering-method
2: gl_compatibility
Current path: /Users/peter
Godot Engine v4.0.beta5.official.89a33d28f - https://godotengine.org
OpenGL Renderer: Intel Iris OpenGL Engine

@lostminds
Copy link

Just tried in on macOS 13.0.1 and the editor interface is rendering as expected

@oliver20033549
Copy link

I tried the same method but mine doesn't work I'm running on a macOS High Sierra version 10.13.6 with an intel Iris graphics 6100

@akien-mga akien-mga changed the title macOS - Godot 4 beta 5 Project Manager is empty. macOS with Intel Iris Graphics - Godot 4 beta 5 Project Manager using OpenGL3 is empty. Nov 17, 2022
@oliver20033549
Copy link

oh it works i just need to wait a little bit...

@snougo
Copy link

snougo commented Nov 18, 2022

oh it works i just need to wait a little bit...

Yes, at first time you may need to wait a seconds, but next time it will be quickly to launch.

@oliver20033549
Copy link

wait, my mesh is not showing

@snougo
Copy link

snougo commented Nov 18, 2022

wait, my mesh is not showing

my device is MacBookPro 2013 late, maybe you can try to upgrade your os version to macOS 11.7.1

@oliver20033549
Copy link

i cant upgrade it my mac will break

@oliver20033549
Copy link

uh did you use the --rendering-method gl_compatibility?

@snougo
Copy link

snougo commented Nov 18, 2022

uh did you use the --rendering-method gl_compatibility?

yes and it's just show this, because it's the default setting by Beta5

Screen Shot 2022-11-18 at 2 39 24 PM

@oliver20033549
Copy link

oliver20033549 commented Nov 18, 2022

i tried the same (--rendering-method gl_compatibility )and all is grey

@oliver20033549
Copy link

no gizmo too only skybox

@oliver20033549
Copy link

my fps is also 1000

@clayjohn clayjohn moved this from To Assess to Todo in 4.x Priority Issues Nov 19, 2022
@clayjohn
Copy link
Member

I bought a 2015 Macbook pro (same as in the OP) this weekend and can now reproduce the issue. I hope to have a fix later this week. I will update here once I am closer to fixing this.

@oliver20033549
Copy link

I change the computer to macOS Catalina version 10.15.7 and it seems to fix the problem :)

@peterkingsbury
Copy link

peterkingsbury commented Dec 1, 2022

With the new Beta 7 out today, I spent some time trying to get Godot 4 working on my older Macbook. I'll document my findings here:

System

MacBook Pro (Retina, 13-inch, Early 2015)
Processor: 2.7 GHz Dual-Core Intel Core i5
Memory: 8 GB 1867 MHz DDR3
Graphics: Intel Iris Graphics 6100 1536 MB

1. Mobile

./Godot --rendering-method mobile

Result is a blank editor screen as per original issue.

This occurred for me on macOS High Sierra (10.13.2) and Mojave (10.14.6).

Incidentally, buttons are pushable (i.e. blindly clicking in the first "Please Confirm..." dialog where buttons should be visible (same in the main editor window)); this yields familiar dialogs (import, create new etc).

On Catalina (10.15.7) the editor launches correctly.

Further, creating a project with Forward+ causes the editor to terminate upon load, and an active Godot application icon is left in the menu bar.

With Mobile support it launches fine, and I can see the gizmo when I select a Node3D scene root.

2. GL Compatibility

./Godot --rendering-method gl_compatibility

In each case of macOS High Sierra (10.13.2), Mojave (10.14.6) and Catalina (10.15.7), the editor fails to launch. For 10.13.2 and 10.14.6, lots of log output but no window. For 10.15.7, the editor window appears but has no UI (though these "invisible" buttons are clickable as in Mobile).

I don't have the log output anymore, but the issues appeared quite similar.

@clayjohn
Copy link
Member

clayjohn commented Dec 3, 2022

As a quick update on this issue. I spent a day this week debugging this issue. Oddly enough, there are no errors and the shaders appear to be running correctly. The only catch is the shaders aren't receiving data from some of the bound uniforms (some of them work correctly). Oddly enough the uniform buffers appear to be bound properly and filled properly, but the shader doesn't get any of the data. I think given a few days I could get a workaround up and running, but at this point I am 99% sure that this is a driver bug.

Given that our plan is to exclusively ship Apple using ANGLE to translate OpenGL to Metal, I have started working on getting ANGLE working with current master (building on the great work of @bruvzg in #54914). If my theory is correct everything will render correctly once ANGLE is used and we won't have to add any workarounds into the renderer.

@clayjohn
Copy link
Member

I got ANGLE working earlier this week and it worked, but much to my disappointment, it bloated shader compile times by around 100x (it took about 5 minutes to load the project manager).

This afternoon I did a little investigation into rewriting the canvas shader in a way that might be a bit more friendly to the poor macOS drivers and came up with https://github.com/clayjohn/godot/tree/GLES3-attribs This branch works on my early 2015 macbook (12.6.1)

If anyone who is facing this problem is okay building the engine themself, please test out https://github.com/clayjohn/godot/tree/GLES3-attribs and let me know if it works for you.

I need to do some more investigation as https://github.com/clayjohn/godot/tree/GLES3-attribs runs slower on my main device than master (master runs the project manager in 2 ms and this branch takes 4 ms)

@lyuma
Copy link
Contributor

lyuma commented Dec 10, 2022

it bloated shader compile times by around 100x (it took about 5 minutes to load the project manager).

I'm not sure if this is a new issue. Project manager also takes 5 minutes to load on a new Godot install if I force --rendering-device vulkan (and so does every new project the first time I open it). So it sounds to me like the same amount of setup time as vulkan. As long as they get cached between runs of Godot, it shouldn't be that bad.

I have the same macbook and OS version as you (early 2015 pro, 12.6.1). I also have a dual boot of 10.13 which I can test it with

@oliver20033549
Copy link

i tried the new beta 8 but when i open it the same grey screen still hapened

@snougo
Copy link

snougo commented Dec 21, 2022

fixed in beta9

@oliver20033549
Copy link

yay! it worked! the beta 9 also have opengl3

@oliver20033549
Copy link

i have access to forward + :D

@oliver20033549
Copy link

i'm kinda sad because theres less features :(

@oliver20033549
Copy link

opengl3 still fast tho

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

9 participants