Support drm hwcomposer as an apex
... so that Cuttlefish can runtime select between drm_hwcomposer and ranchu. Drops the libbinder to avoid error: APEX can't use libbinder (must use libbinder_ndk) and fixes a couple includes. Bug: b/348466630 Test: cvd start Test: cvd start --hwcomposer=drm_hwcomposer Change-Id: I50681677d89c56fb6761b740a465bf92890157ea
This commit is contained in:
parent
7231bbd7bb
commit
1f26384f2a
6 changed files with 68 additions and 2 deletions
58
Android.bp
58
Android.bp
|
|
@ -177,7 +177,6 @@ cc_binary {
|
|||
shared_libs: [
|
||||
"android.hardware.graphics.composer3-V3-ndk",
|
||||
"libbase",
|
||||
"libbinder",
|
||||
"libbinder_ndk",
|
||||
"liblog",
|
||||
"libutils",
|
||||
|
|
@ -225,3 +224,60 @@ filegroup {
|
|||
name: "drm_hwcomposer_platformmediatek",
|
||||
srcs: ["bufferinfo/legacy/BufferInfoMaliMediatek.cpp"],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "drm_hwcomposer_hwc3_apex_vintf",
|
||||
src: "hwc3/hwc3-drm.xml",
|
||||
sub_dir: "vintf",
|
||||
vendor: true,
|
||||
installable: false,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "drm_hwcomposer_hwc3_apex_init_rc",
|
||||
filename_from_src: true,
|
||||
vendor: true,
|
||||
src: ":gen-drm_hwcomposer_hwc3_apex_init_rc",
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "gen-drm_hwcomposer_hwc3_apex_init_rc",
|
||||
srcs: ["hwc3/hwc3-drm.rc"],
|
||||
out: ["hwc3-drm.apex.rc"],
|
||||
cmd: "sed " +
|
||||
// Update the binary location to inside the Apex:
|
||||
"-e 's%/vendor/bin/%/apex/com.android.hardware.graphics.composer/bin/%' " +
|
||||
"$(in) > $(out)",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "drm_hwcomposer_hwc3_apex_file_contexts",
|
||||
srcs: [
|
||||
"hwc3/hwc3-apex-file-contexts",
|
||||
],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "drm_hwcomposer_hwc3_apex_manifest",
|
||||
srcs: [
|
||||
"hwc3/hwc3-apex-manifest.json",
|
||||
],
|
||||
}
|
||||
|
||||
apex {
|
||||
name: "com.android.hardware.graphics.composer.drm_hwcomposer",
|
||||
key: "com.android.hardware.key",
|
||||
certificate: ":com.android.hardware.certificate",
|
||||
file_contexts: ":drm_hwcomposer_hwc3_apex_file_contexts",
|
||||
manifest: ":drm_hwcomposer_hwc3_apex_manifest",
|
||||
vendor: true,
|
||||
updatable: false,
|
||||
soc_specific: true,
|
||||
binaries: [
|
||||
"android.hardware.composer.hwc3-service.drm",
|
||||
],
|
||||
prebuilts: [
|
||||
"drm_hwcomposer_hwc3_apex_init_rc",
|
||||
"drm_hwcomposer_hwc3_apex_vintf",
|
||||
],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <android-base/unique_fd.h>
|
||||
|
||||
#include "Utils.h"
|
||||
#include "aidl/android/hardware/graphics/composer3/CommandError.h"
|
||||
#include "aidl/android/hardware/graphics/composer3/CommandResultPayload.h"
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <aidl/android/hardware/graphics/composer3/IComposerClient.h>
|
||||
#include <hardware/hwcomposer2.h>
|
||||
#include <log/log.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
|
|
|
|||
3
hwc3/hwc3-apex-file-contexts
Normal file
3
hwc3/hwc3-apex-file-contexts
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(/.*)? u:object_r:vendor_file:s0
|
||||
/etc(/.*)? u:object_r:vendor_configs_file:s0
|
||||
/bin/hw/android\.hardware\.composer\.hwc3-service\.drm u:object_r:hal_graphics_composer_default_exec:s0
|
||||
5
hwc3/hwc3-apex-manifest.json
Normal file
5
hwc3/hwc3-apex-manifest.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"name": "com.android.hardware.graphics.composer",
|
||||
"version": 1,
|
||||
"vendorBootstrap": true
|
||||
}
|
||||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
#include <android/binder_manager.h>
|
||||
#include <android/binder_process.h>
|
||||
#include <binder/ProcessState.h>
|
||||
#include <sched.h>
|
||||
|
||||
#include "Composer.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue