Closed MarijnS95 closed 3 years ago
Vulkan is still broken without the symlink. Just tested on Nile.
@bartcubbins any information at all that might help understand what is going on? Logs?
09-20 15:10:09.397 4570 4570 E vndksupport: Could not load vulkan.qcom.so from sphal namespace: dlopen failed: library "vulkan.qcom.so" not found.
@bartcubbins Correct, it loads from an SPHAL, and /odm/lib64/hw/
is not included in the search path. /odm/lib64/
is however:
https://cs.android.com/android/platform/superproject/+/master:system/linkerconfig/contents/namespace/sphal.cc;l=40-47?q=sphal.cc. Making a symlink:
griffin:/odm/lib64 # ls -l /odm/lib64/vulkan.qcom.so
lrwxrwxrwx 1 root root 17 2021-09-28 21:20 /odm/lib64/vulkan.qcom.so -> hw/vulkan.qcom.so
No matter how dirty, works.
Restoring part of the old behaviour in https://github.com/sonyxperiadev/device-sony-common/pull/865, validated on Griffin.
Fixes https://github.com/sonyxperiadev/bug_tracker/issues/718 Previously submitted in #565 and #642
Android is continuously clamping down on symlink hacks (see the report in 1) and for a good reason: they provide a perfectly valid alternative using
ro.hardware.<module name>
to change the platform name of a module that needs to be searched for. On all our platforms the Vulkan library is calledvulkan.qcom.so
instead ofvulkan.$(TARGET_BOARD_PLATFORM).so
and Android can simply be taught to search for the former instead of the latter by settingro.hardware.vulkan=qcom
.Signed-off-by: Marijn Suijten marijn.suijten@somainline.org