liuyq / android-issues

place to write notes about investigation on android issues
0 stars 0 forks source link

AOSP main: hikey960: drm_hwcomposer: update to apex or hwc3 #35

Open liuyq opened 1 day ago

liuyq commented 1 day ago

some failures listed here for reference

  1. update drm_hwcomposer/Android.bp

    $ git diff
    diff --git a/Android.bp b/Android.bp
    index 257818846812..d53eba849789 100644
    --- a/Android.bp
    +++ b/Android.bp
    @@ -184,7 +184,7 @@ cc_binary {
         ":drm_hwcomposer_hwc3",
         ":drm_hwcomposer_service",
         ":drm_hwcomposer_common",
    -        "bufferinfo/legacy/BufferInfoLibdrm.cpp",
    +        ":drm_hwcomposer_platformhisi",
     ],
    
     defaults: [
    $

    build error:

    
    000/obj/external/drm_hwcomposer/bufferinfo/legacy/BufferInfoMaliHisi.o external/drm_hwcomposer/bufferinfo/legacy/BufferInfoMaliHisi.cpp
    external/drm_hwcomposer/bufferinfo/legacy/BufferInfoMaliHisi.cpp:26:10: fatal error: 'gralloc_priv.h' file not found
    26 | #include "gralloc_priv.h"
      |          ^~~~~~~~~~~~~~~~
    1 error generated.
device/linaro/hikey960/gralloc960/gralloc_priv.h should be used.

2. update device/linaro/hikey960/gralloc960/Android.bp to generate the android.hardware.composer.hwc3-service.drm.hikey960 and com.android.hardware.graphics.composer.drm_hwcomposer.hikey960 packages, 
build error:

[ 99% 14110/14125 0s remaining] run apex_sepolicy_tests FAILED: out/soong/.intermediates/device/linaro/hikey/gralloc960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/android_common_com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/sepolicy_tests.timestamp out/host/linux-x86/bin/deapexer --debugfs_path out/host/linux-x86/bin/debugfs_static list -Z out/soong/.intermediates/device/linaro/hikey/gralloc960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/android_common_com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960.apex.unsigned > out/soong/.intermediates/device/linaro/hikey/gralloc960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/android_common_com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/sepolicy_tests.timestamp.fc && out/host/linux-x86/bin/apex_sepolicy_tests -f out/soong/.intermediates/device/linaro/hikey/gralloc960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/android_common_com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/sepolicy_tests.timestamp.fc && touch out/soong/.intermediates/device/linaro/hikey/gralloc960/com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/android_common_com.android.hardware.graphics.composer.drm_hwcomposer.hikey960/sepolicy_tests.timestamp Error: ./bin/hw/android.hardware.composer.hwc3-service.drm.hikey960: can't be labelled as 'vendor_file' [ 99% 14111/14125 0s remaining] Target product fs image: out/target/product/hikey960/product.img

3. use com.android.hardware.graphics.composer.drm_hwcomposer directly in device/linaro/hikey/device-common.mk
Runtime error

Stack Trace: RELADDR FUNCTION FILE:LINE 000000000002b960 android::LegacyBufferInfoGetter::CreateInstance()+96 external/drm_hwcomposer/bufferinfo/legacy/BufferInfoLibdrm.cpp:33 00000000000154a4 android::BufferInfoGetter::GetInstance()+132 external/drm_hwcomposer/bufferinfo/BufferInfoGetter.cpp:49 000000000001fba8 android::ResourceManager::Init()+1992 external/drm_hwcomposer/drm/ResourceManager.cpp:95 0000000000012950 aidl::android::hardware::graphics::composer3::impl::ComposerClient::registerCallback+96 external/drm_hwcomposer/hwc3/ComposerClient.cpp:774 0000000000023754 aidl::android::hardware::graphics::composer3::_aidl_android_hardware_graphics_composer3_IComposerClient_onTransact+4916 out/soong/.intermediates/hardware/interfaces/graphics/composer/aidl/android.hardware.graphics.composer3-V3-ndk-source/gen/android/hardware/graphics/composer3/IComposerClient.cpp:533 0000000000011cec ABBinder::onTransact+236 frameworks/native/libs/binder/ndk/ibinder.cpp:289 0000000000049008 android::BBinder::transact+248 frameworks/native/libs/binder/Binder.cpp:408 0000000000049720 android::IPCThreadState::executeCommand+528 frameworks/native/libs/binder/IPCThreadState.cpp:1470 v--------------> android::IPCThreadState::getAndExecuteCommand() frameworks/native/libs/binder/IPCThreadState.cpp:697 0000000000074b10 android::IPCThreadState::joinThreadPool+304 frameworks/native/libs/binder/IPCThreadState.cpp:786 000000000001538c main+572 external/drm_hwcomposer/hwc3/service.cpp:57 0000000000057644 __libc_init+116 bionic/libc/bionic/libc_init_dynamic.cpp:170

liuyq commented 1 day ago

besides the above failures, it would need newer versions of android.hardware.graphics.allocator and android.hardware.graphics.mapper as well, which probably not supported by the hikey960 binaries.