sonyxperiadev / device-sony-common

70 stars 143 forks source link

hardware/adreno: Add back vendor->odm symlink for `vulkan.qcom.so` #865

Closed MarijnS95 closed 3 years ago

MarijnS95 commented 3 years ago

Commit 0aecc439 ("hardware/adreno: Convert vendor->odm symlink to ro.hardware property") cleaned up the Vulkan Adreno blob links by using ro.hardware.vulkan=qcom to search for a qcom-vendored blob instead of one specifically named after the current board. However, this also dropped the symlink from vendor to odm which is necessary for Android to find the module. Android loads this hardware module from the sphal namespace 1 which is allowed to load from both /odm/${LIB} and /vendor/${LIB}, but is only searching in the hw/ subdirectory of /vendor/${LIB} 2.

Directly symlinking from /odm/${LIB} into /odm/${LIB}/hw is possible however since sphal is instructed to search there, but this requires and odm change and a new release; instead restore the previous symlink from /vendor's hw/ subfolder into /odm's hw/ subfolder.

Fixes: 0aecc439 ("hardware/adreno: Convert vendor->odm symlink to ro.hardware property") Signed-off-by: Marijn Suijten marijns95@gmail.com

MarijnS95 commented 3 years ago

Validated on Griffin to resolve the issue reported in https://github.com/sonyxperiadev/device-sony-common/pull/862#issuecomment-927220521.

voidanix commented 3 years ago

@jerpelea can you cherry-pick this for r-mr1 and s-mr1 as well?

I vulkanCapsViewer: Loading libvulkan.so...
E vndksupport: Could not load vulkan.qcom.so from sphal namespace: dlopen failed: library "vulkan.qcom.so" not found.
E vndksupport: Could not load vulkan.sm8150.so from sphal namespace: dlopen failed: library "vulkan.sm8150.so" not found.