blob: fc1c0be0ce0a5e563623b65d2966a3651e1429c5 [file] [log] [blame]
Peter Collingbournee8b96e32022-02-02 11:38:11 -08001#
2# Copyright (C) 2014 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
20# Device overlay
21DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
22
23# Build and run only ART
24PRODUCT_RUNTIMES := runtime_libart_default
25
26PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
27
28# Enable Scoped Storage related
29$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
30
31# vndk
32PRODUCT_PACKAGES := vndk-sp
33
34# HACK: Avoid usb crash
35PRODUCT_PRODUCT_PROPERTIES := \
36 persist.adb.nonblocking_ffs=0 \
37 ro.adb.nonblocking_ffs=0
38
39# Display
40PRODUCT_PACKAGES += \
41 android.hardware.drm@1.3-service.clearkey \
John Stultzb1014352022-02-01 06:32:16 +000042 android.hardware.drm@1.3-service.widevine
43
44# Mesa
45PRODUCT_PACKAGES += \
Peter Collingbournee8b96e32022-02-02 11:38:11 -080046 libGLES_mesa \
47 libEGL_mesa \
48 libGLESv1_CM_mesa \
49 libGLESv2_mesa \
50 libgallium_dri \
51 libglapi
52
John Stultzb1014352022-02-01 06:32:16 +000053TARGET_BUILD_MESA ?= false
54ifeq ($(TARGET_BUILD_MESA), true)
55 PRODUCT_SOONG_NAMESPACES += \
56 external/mesa3d
57endif
58
Peter Collingbournee8b96e32022-02-02 11:38:11 -080059PRODUCT_PROPERTY_OVERRIDES += \
60 ro.hardware.gralloc=minigbm_msm \
61 ro.hardware.hwcomposer=drm \
62 ro.opengles.version=196608 \
63 persist.demo.rotationlock=1
64
65# Vulkan
66PRODUCT_PACKAGES += \
67 vulkan.freedreno
68
69PRODUCT_COPY_FILES += \
70 frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
71 frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
72 frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
73
74PRODUCT_VENDOR_PROPERTIES += \
75 ro.hardware.vulkan=freedreno
76
77# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa
78#TARGET_USES_VULKAN = true
79
80#
81# Hardware Composer HAL
82#
83PRODUCT_PACKAGES += \
84 hwcomposer.drm \
85 android.hardware.graphics.composer@2.3-impl \
86 android.hardware.graphics.composer@2.3-service
87
88#
89# Gralloc HAL
90#
91PRODUCT_PACKAGES += \
92 gralloc.minigbm_msm \
93 android.hardware.graphics.allocator@4.0-service.minigbm_msm \
94 android.hardware.graphics.mapper@4.0-impl.minigbm_msm
95
96
97# Use Launcher3QuickStep
98PRODUCT_PACKAGES += Launcher3QuickStep
99
100# Enable WiFi
101PRODUCT_PACKAGES += \
102 hostapd \
103 libwpa_client \
104 wpa_supplicant \
105 wpa_supplicant.conf \
106 wificond
107
108PRODUCT_PROPERTY_OVERRIDES += \
109 wifi.interface=wlan0 \
110 wifi.supplicant_scan_interval=15
111
112PRODUCT_COPY_FILES += \
113 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
114 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
115 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
116 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
117
118# Enable BT
119PRODUCT_PACKAGES += \
120 android.hardware.bluetooth@1.1-service.btlinux
121
122PRODUCT_COPY_FILES += \
123 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
124 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
125
126#
127# Power HAL
128#
129PRODUCT_PACKAGES += \
130 android.hardware.power-service.example
131
132#
133# PowerStats HAL
134#
135PRODUCT_PACKAGES += \
136 android.hardware.power.stats-service.example
137
138
139# Audio
140PRODUCT_PACKAGES += \
141 android.hardware.audio.service \
142 android.hardware.audio@7.0-impl \
143 android.hardware.audio.effect@7.0-impl \
144 android.hardware.soundtrigger@2.3-impl \
145 android.hardware.bluetooth.audio@2.0-impl
146
147# Build default bluetooth a2dp and usb audio HALs
148PRODUCT_PACKAGES += \
Peter Collingbournee8b96e32022-02-02 11:38:11 -0800149 audio.bluetooth.default \
150 audio.usb.default \
151 audio.r_submix.default
152
153# Build tinyalsa cli tools for debugging
154PRODUCT_PACKAGES += \
155 tinyplay \
156 tinycap \
157 tinymix \
158 tinypcminfo
159
160# audio policy configuration
161USE_XML_AUDIO_POLICY_CONF := 1
162PRODUCT_COPY_FILES += \
163 $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
164 $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
165 $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
166 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
167 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
168 frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
169 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
170 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
171 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
172 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
173 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
174
175# Copy media codecs config file
176PRODUCT_COPY_FILES += \
177 $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
178 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
179 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
180 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
181
182PRODUCT_COPY_FILES += \
183 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
184 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
185
186# Copy hardware config file(s)
187PRODUCT_COPY_FILES += \
188 device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
189
190
191# External Web Cam support
192PRODUCT_PACKAGES += \
193 android.hardware.camera.provider@2.4-impl \
194 android.hardware.camera.provider@2.4-external-service
195
196PRODUCT_COPY_FILES += \
197 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
198 $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
199 $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
200
201# Keymaster
202PRODUCT_PACKAGES += \
203 android.hardware.keymaster@3.0-impl \
204 android.hardware.keymaster@3.0-service
205
206# Gatekeeper
207PRODUCT_PACKAGES += \
208 android.hardware.gatekeeper@1.0-service.software
209
210# Health
211PRODUCT_PACKAGES += \
212 android.hardware.health@2.1-impl-cuttlefish \
213 android.hardware.health@2.1-service
214
215# TODO: disable this service once we implement system suspend
216PRODUCT_PACKAGES += \
217 suspend_blocker
218
219# mkbootimg host tool to build boot.img separately
220PRODUCT_HOST_PACKAGES := \
221 mkbootimg
222
223# Userspace vendor services for WiFi/Audio to work
224PRODUCT_PACKAGES += \
225 pd-mapper \
226 qrtr-ns \
227 qrtr-cfg \
228 qrtr-lookup \
229 rmtfs \
230 tqftpserv
231
232PRODUCT_COPY_FILES += \
233 $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc
234
235# Copy standard platform config files
236PRODUCT_COPY_FILES += \
237 $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
238 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
239 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
240 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
241 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
242 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
243 frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
244 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
245 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
246 frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
247 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
248
249DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml
250DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml
251
252$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
253$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)