1# 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 \ 42 android.hardware.drm@1.3-service.widevine 43 44# Mesa 45PRODUCT_PACKAGES += \ 46 libGLES_mesa \ 47 libEGL_mesa \ 48 libGLESv1_CM_mesa \ 49 libGLESv2_mesa \ 50 libgallium_dri \ 51 libglapi 52 53TARGET_BUILD_MESA ?= false 54ifeq ($(TARGET_BUILD_MESA), true) 55 PRODUCT_SOONG_NAMESPACES += \ 56 external/mesa3d 57endif 58 59PRODUCT_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 += \ 149 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) 254