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

[chrome] rollback to use API level 24 #34

Merged

Conversation

unicornx
Copy link

@unicornx unicornx commented Apr 3, 2023

When running on board, got crash report from
libVkLayer_khronos_validation.cr.so.
Compared with arm64, this lib is not loaded and found in third_party/angle/gni/angle.gni

  # Vulkan Validation Layers require Android NDK API level 26, i.e.
Oreo, due to
  # Vulkan Validation Layers compatibility issues, see
http://crrev/c/1405714.
  angle_enable_vulkan_validation_layers =
      angle_enable_vulkan && !is_ubsan && !is_tsan && !is_asan &&
      angle_debug_layers_enabled && (!is_android ||
ndk_api_level_at_least_26)

arm64 will not load libVkLayer_khronos_validation.cr.so becasue it use 24 as default api level, but we use 29, that makes the lib is loaded for us and crash it due to the lib is not ready for us now.

Solution: do the same now as amd64, and use 24 as default api level. This requires modification accordingly in ndk. So I update the android ndk by manual, just copied 29 and renamed it to 24. FIXME: this may not the best solution, just workaround the crash and move forward.

With API level rollback to 24, reverted change in skia to not link libEGL and etc.

When running on board, got crash report from
libVkLayer_khronos_validation.cr.so.
Compared with arm64, this lib is not loaded and found in
third_party/angle/gni/angle.gni
```
  # Vulkan Validation Layers require Android NDK API level 26, i.e.
Oreo, due to
  # Vulkan Validation Layers compatibility issues, see
http://crrev/c/1405714.
  angle_enable_vulkan_validation_layers =
      angle_enable_vulkan && !is_ubsan && !is_tsan && !is_asan &&
      angle_debug_layers_enabled && (!is_android ||
ndk_api_level_at_least_26)
```

arm64 will not load libVkLayer_khronos_validation.cr.so becasue it use
24 as default api level, but we use 29, that makes the lib is loaded for
us and crash it due to the lib is not ready for us now.

Solution: do the same now as amd64, and use 24 as default api level.
This requires modification accordingly in ndk. So I update the android
ndk by manual, just copied 29 and renamed it to 24.
FIXME: this may not the best solution, just workaround the crash and
move forward.

With API level rollback to 24, reverted change in skia to not link
libEGL and etc.

Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn>
@unicornx unicornx self-assigned this Apr 3, 2023
@unicornx unicornx merged commit c332893 into aosp-riscv:riscv64_109.0.5414.87_dev Apr 3, 2023
@unicornx unicornx deleted the pr-20230403-1 branch April 3, 2023 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant