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

Godot 4.0 Vulkan Crash on Galaxy Tab S4 #74751

Open
shendo opened this issue Mar 11, 2023 · 4 comments
Open

Godot 4.0 Vulkan Crash on Galaxy Tab S4 #74751

shendo opened this issue Mar 11, 2023 · 4 comments

Comments

@shendo
Copy link
Contributor

shendo commented Mar 11, 2023

Godot version

4.0 beta 11

System information

Android 10 Samsung SM-T837T

Issue description

Exported game has been fine across range of Android devices but started receiving playstore crash notices for Samsung Galaxy S4 Tablet, SDK 29. Unfortunately, we do not have access to this device/model so debugging is limited.

Project using 'vulkan' renderer.

Research shows that the device has:
Chipset: Qualcomm MSM8998 Snapdragon 835
GPU: Adreno 540

Reported segfault bt seems consistent:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 5079 >>> au.com.hendotech.words.crossearch.android <<<

backtrace:
  #00  pc 0x00000000000d7100  /vendor/lib64/hw/vulkan.msm8998.so
  #01  pc 0x00000000000d6320  /vendor/lib64/hw/vulkan.msm8998.so
  #02  pc 0x00000000000b0bc4  /vendor/lib64/hw/vulkan.msm8998.so
  #03  pc 0x0000000000021f3c  /system/lib64/libvulkan.so (vulkan::api::(anonymous namespace)::CmdDrawIndexed(VkCommandBuffer_T*, unsigned int, unsigned int, unsigned int, int, unsigned int)+216)
  #04  pc 0x0000000002666924  /data/app/au.com.hendotech.words.crossearch.android-sYUKiIExqsTgJ-ZN8gYQHA==/split_config.arm64_v8a.apk!libgodot_android.so
  #05  pc 0x0000000002669d0c  /data/app/au.com.hendotech.words.crossearch.android-sYUKiIExqsTgJ-ZN8gYQHA==/split_config.arm64_v8a.apk!libgodot_android.so
...

No debug symbols uploaded.

Note Godot beta version used. We are in the process of migrating to 4.0 stable but couldn't find relevant resolved issues from last few weeks that may correspond/fixed (may have missed) so raised issue. Will update when published on stable if we notice any changes.

Please let me know if any further info I can provide.

Steps to reproduce

When the crash occurs we do get a single analytics event beforehand, which would suggest the initial terms screen is displayed/accepted successfully but no further interaction.

The game is only Control/2D based though main screen does have very simple blur shader active, which could be related.

shader_type canvas_item;

uniform float blur_amount : hint_range(0, 5);

void fragment() {
	COLOR = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
}

Note: Syntax from pre 4.0 stable.

Minimal reproduction project

Unable to reproduce locally.

@clayjohn
Copy link
Member

We added more validation around Vulkan support close to release, so it would be helpful to see what happens with the stable build.

From a quick Google search it sounds like the Adreno 540 should support Vulkan 1.0, but we do require some extensions beyond that, so it is possible that the device just doesn't support enough features to run the Vulkan renderer.

Of course we would need someone to test on the actual device to know more.

@shendo
Copy link
Contributor Author

shendo commented Mar 14, 2023

Doing some initial publishing on 4.0 stable and with the new Vulkan HW Level 1 manifest requirements from Commit the playstore supported device count dropped by > 50% (not sure actual market share), which we found surprising. AFAICT including the Samsung Tab S4 above (it looks like it is ~4 years old, I guess).

The device catalog lists that model's support as:

OpenGL ES version  3.2
Vulkan version  1.1.0 (L0)

Which I assume means only Hardware Level 0 feature support despite being 1.1 API?

Is there a way to determine full list of required Vulkan features with Godot? Are these customisable based on project usage (eg. 2D vs 3D) or globally required?

If the device support is all as intended, feel free to close out the ticket.
Appreciate your insights regardless.

@clayjohn
Copy link
Member

Note the requirement for hardware level 1 support was dropped in #72816 as some devices report only hardware level 0 support, but do support all the hardware level 1 features that we need

@marko995
Copy link

marko995 commented Dec 12, 2023

what happens if you remove this line:
uniform float blur_amount : hint_range(0, 5);
?

possible duplicate:
#79760

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

No branches or pull requests

4 participants