Peter Collingbourne | e8b96e3 | 2022-02-02 11:38:11 -0800 | [diff] [blame] | 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 |
| 21 | DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay |
| 22 | |
| 23 | # Build and run only ART |
| 24 | PRODUCT_RUNTIMES := runtime_libart_default |
| 25 | |
| 26 | PRODUCT_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 |
| 32 | PRODUCT_PACKAGES := vndk-sp |
| 33 | |
| 34 | # HACK: Avoid usb crash |
| 35 | PRODUCT_PRODUCT_PROPERTIES := \ |
| 36 | persist.adb.nonblocking_ffs=0 \ |
| 37 | ro.adb.nonblocking_ffs=0 |
| 38 | |
| 39 | # Display |
| 40 | PRODUCT_PACKAGES += \ |
| 41 | android.hardware.drm@1.3-service.clearkey \ |
John Stultz | b101435 | 2022-02-01 06:32:16 +0000 | [diff] [blame] | 42 | android.hardware.drm@1.3-service.widevine |
| 43 | |
| 44 | # Mesa |
| 45 | PRODUCT_PACKAGES += \ |
Peter Collingbourne | e8b96e3 | 2022-02-02 11:38:11 -0800 | [diff] [blame] | 46 | libGLES_mesa \ |
| 47 | libEGL_mesa \ |
| 48 | libGLESv1_CM_mesa \ |
| 49 | libGLESv2_mesa \ |
| 50 | libgallium_dri \ |
| 51 | libglapi |
| 52 | |
John Stultz | b101435 | 2022-02-01 06:32:16 +0000 | [diff] [blame] | 53 | TARGET_BUILD_MESA ?= false |
| 54 | ifeq ($(TARGET_BUILD_MESA), true) |
| 55 | PRODUCT_SOONG_NAMESPACES += \ |
| 56 | external/mesa3d |
| 57 | endif |
| 58 | |
Peter Collingbourne | e8b96e3 | 2022-02-02 11:38:11 -0800 | [diff] [blame] | 59 | PRODUCT_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 |
| 66 | PRODUCT_PACKAGES += \ |
| 67 | vulkan.freedreno |
| 68 | |
| 69 | PRODUCT_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 | |
| 74 | PRODUCT_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 | # |
| 83 | PRODUCT_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 | # |
| 91 | PRODUCT_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 |
| 98 | PRODUCT_PACKAGES += Launcher3QuickStep |
| 99 | |
| 100 | # Enable WiFi |
| 101 | PRODUCT_PACKAGES += \ |
| 102 | hostapd \ |
| 103 | libwpa_client \ |
| 104 | wpa_supplicant \ |
| 105 | wpa_supplicant.conf \ |
| 106 | wificond |
| 107 | |
| 108 | PRODUCT_PROPERTY_OVERRIDES += \ |
| 109 | wifi.interface=wlan0 \ |
| 110 | wifi.supplicant_scan_interval=15 |
| 111 | |
| 112 | PRODUCT_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 |
| 119 | PRODUCT_PACKAGES += \ |
| 120 | android.hardware.bluetooth@1.1-service.btlinux |
| 121 | |
| 122 | PRODUCT_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 | # |
| 129 | PRODUCT_PACKAGES += \ |
| 130 | android.hardware.power-service.example |
| 131 | |
| 132 | # |
| 133 | # PowerStats HAL |
| 134 | # |
| 135 | PRODUCT_PACKAGES += \ |
| 136 | android.hardware.power.stats-service.example |
| 137 | |
| 138 | |
| 139 | # Audio |
| 140 | PRODUCT_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 |
| 148 | PRODUCT_PACKAGES += \ |
| 149 | audio.a2dp.default \ |
| 150 | audio.bluetooth.default \ |
| 151 | audio.usb.default \ |
| 152 | audio.r_submix.default |
| 153 | |
| 154 | # Build tinyalsa cli tools for debugging |
| 155 | PRODUCT_PACKAGES += \ |
| 156 | tinyplay \ |
| 157 | tinycap \ |
| 158 | tinymix \ |
| 159 | tinypcminfo |
| 160 | |
| 161 | # audio policy configuration |
| 162 | USE_XML_AUDIO_POLICY_CONF := 1 |
| 163 | PRODUCT_COPY_FILES += \ |
| 164 | $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ |
| 165 | $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ |
| 166 | $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ |
| 167 | frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ |
| 168 | frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ |
| 169 | frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ |
| 170 | frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ |
| 171 | frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ |
| 172 | frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ |
| 173 | frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ |
| 174 | frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml |
| 175 | |
| 176 | # Copy media codecs config file |
| 177 | PRODUCT_COPY_FILES += \ |
| 178 | $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ |
| 179 | frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ |
| 180 | frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ |
| 181 | frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml |
| 182 | |
| 183 | PRODUCT_COPY_FILES += \ |
| 184 | $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ |
| 185 | $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy |
| 186 | |
| 187 | # Copy hardware config file(s) |
| 188 | PRODUCT_COPY_FILES += \ |
| 189 | device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml |
| 190 | |
| 191 | |
| 192 | # External Web Cam support |
| 193 | PRODUCT_PACKAGES += \ |
| 194 | android.hardware.camera.provider@2.4-impl \ |
| 195 | android.hardware.camera.provider@2.4-external-service |
| 196 | |
| 197 | PRODUCT_COPY_FILES += \ |
| 198 | frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ |
| 199 | $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ |
| 200 | $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml |
| 201 | |
| 202 | # Keymaster |
| 203 | PRODUCT_PACKAGES += \ |
| 204 | android.hardware.keymaster@3.0-impl \ |
| 205 | android.hardware.keymaster@3.0-service |
| 206 | |
| 207 | # Gatekeeper |
| 208 | PRODUCT_PACKAGES += \ |
| 209 | android.hardware.gatekeeper@1.0-service.software |
| 210 | |
| 211 | # Health |
| 212 | PRODUCT_PACKAGES += \ |
| 213 | android.hardware.health@2.1-impl-cuttlefish \ |
| 214 | android.hardware.health@2.1-service |
| 215 | |
| 216 | # TODO: disable this service once we implement system suspend |
| 217 | PRODUCT_PACKAGES += \ |
| 218 | suspend_blocker |
| 219 | |
| 220 | # mkbootimg host tool to build boot.img separately |
| 221 | PRODUCT_HOST_PACKAGES := \ |
| 222 | mkbootimg |
| 223 | |
| 224 | # Userspace vendor services for WiFi/Audio to work |
| 225 | PRODUCT_PACKAGES += \ |
| 226 | pd-mapper \ |
| 227 | qrtr-ns \ |
| 228 | qrtr-cfg \ |
| 229 | qrtr-lookup \ |
| 230 | rmtfs \ |
| 231 | tqftpserv |
| 232 | |
| 233 | PRODUCT_COPY_FILES += \ |
| 234 | $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc |
| 235 | |
| 236 | # Copy standard platform config files |
| 237 | PRODUCT_COPY_FILES += \ |
| 238 | $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ |
| 239 | frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ |
| 240 | frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ |
| 241 | frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ |
| 242 | frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ |
| 243 | frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ |
| 244 | frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ |
| 245 | frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ |
| 246 | frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ |
| 247 | 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 \ |
| 248 | frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml |
| 249 | |
| 250 | DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml |
| 251 | DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml |
| 252 | |
| 253 | $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) |
| 254 | $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) |