diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 400797a..6520817 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -19,10 +19,6 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/redroid_arm64.mk \ COMMON_LUNCH_CHOICES := \ - redroid_x86_64-eng \ redroid_x86_64-userdebug \ - redroid_x86_64-user \ - redroid_arm64-eng \ redroid_arm64-userdebug \ - redroid_arm64-user diff --git a/gpu_config.sh b/gpu_config.sh index a227f0f..83cd630 100755 --- a/gpu_config.sh +++ b/gpu_config.sh @@ -59,6 +59,7 @@ gpu_setup_host() { setprop qemu.gles.vendor mesa setprop ro.hardware.gralloc gbm + setprop ro.kernel.redroid.fps 30 } gpu_setup_guest() { diff --git a/manifest.xml b/manifest.xml index 4601082..4612f08 100644 --- a/manifest.xml +++ b/manifest.xml @@ -17,6 +17,15 @@ default + + android.hardware.configstore + hwbinder + 1.0 + + ISurfaceFlingerConfigs + default + + android.hardware.drm hwbinder @@ -32,6 +41,15 @@ @1.2::ICryptoFactory/clearkey @1.2::IDrmFactory/clearkey + + android.hardware.gatekeeper + hwbinder + 1.0 + + IGatekeeper + default + + android.hardware.graphics.allocator hwbinder @@ -59,6 +77,15 @@ default + + android.hardware.health + hwbinder + 2.0 + + IHealth + default + + android.hardware.keymaster hwbinder @@ -81,5 +108,4 @@ default - diff --git a/phone-xhdpi-6144-dalvik-heap.mk b/phone-xhdpi-6144-dalvik-heap.mk new file mode 100644 index 0000000..2bacc4a --- /dev/null +++ b/phone-xhdpi-6144-dalvik-heap.mk @@ -0,0 +1,25 @@ +# +# Copyright 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Provides overrides to configure the Dalvik heap for a 6GB phone + +PRODUCT_PROPERTY_OVERRIDES += \ + dalvik.vm.heapstartsize=16m \ + dalvik.vm.heapgrowthlimit=256m \ + dalvik.vm.heapsize=512m \ + dalvik.vm.heaptargetutilization=0.5 \ + dalvik.vm.heapminfree=8m \ + dalvik.vm.heapmaxfree=32m diff --git a/redroid.mk b/redroid.mk index 8899635..c653490 100644 --- a/redroid.mk +++ b/redroid.mk @@ -12,7 +12,30 @@ # See the License for the specific language governing permissions and # limitations under the License. -$(call inherit-product-if-exists, product.mk) +#$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) + +# no kernel involved +PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false + +PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true + +PRODUCT_BUILD_CACHE_IMAGE := false +PRODUCT_BUILD_ODM_IMAGE := false +PRODUCT_BUILD_PRODUCT_IMAGE := false +PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE := false +PRODUCT_BUILD_RAMDISK_IMAGE := false +PRODUCT_BUILD_SUPER_PARTITION := false +PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false +PRODUCT_BUILD_USERDATA_IMAGE := false +PRODUCT_BUILD_VBMETA_IMAGE := false +PRODUCT_BUILD_VENDOR_IMAGE := true +ifeq ($(BUILD_VENDOR_ONLY), true) +PRODUCT_BUILD_SYSTEM_IMAGE := false +else +PRODUCT_BUILD_SYSTEM_IMAGE := true +endif + +PRODUCT_SHIPPING_API_LEVEL := 29 PRODUCT_SOONG_NAMESPACES += external/mesa3d @@ -37,8 +60,9 @@ PRODUCT_PACKAGES += \ libEGL_swiftshader \ libGLESv1_CM_swiftshader \ libGLESv2_swiftshader \ - libGLES_mesa \ vulkan.pastel \ + libGLES_mesa \ + vulkan.radv \ ipconfigstore \ PRODUCT_PROPERTY_OVERRIDES += \ @@ -56,7 +80,7 @@ PRODUCT_PACKAGES += \ android.hardware.wifi@1.0-service PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ # required HIDL @@ -65,6 +89,7 @@ PRODUCT_PACKAGES += \ android.hardware.audio@2.0-service \ android.hardware.audio@4.0-impl \ android.hardware.audio.effect@4.0-impl \ + android.hardware.configstore@1.1-service \ android.hardware.drm@1.0-service \ android.hardware.drm@1.0-impl \ android.hardware.drm@1.2-service.clearkey \ @@ -95,11 +120,12 @@ PRODUCT_COPY_FILES += \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ frameworks/av/services/audiopolicy/config/surround_sound_configuration_5_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/surround_sound_configuration_5_0.xml \ - frameworks/native/data/etc/android.hardware.ethernet.xml:/system/etc/permissions/android.hardware.ethernet.xml \ - $(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.redroid.rc \ + frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ $(LOCAL_PATH)/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \ + $(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid.rc \ -# Extend heap size we use for dalvik/art runtime -$(call inherit-product, frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk) +$(call inherit-product, device/redroid/phone-xhdpi-6144-dalvik-heap.mk) + +$(call inherit-product-if-exists, product.mk) diff --git a/redroid_arm64/BoardConfig.mk b/redroid_arm64/BoardConfig.mk index 4dba214..634c5a9 100644 --- a/redroid_arm64/BoardConfig.mk +++ b/redroid_arm64/BoardConfig.mk @@ -1,16 +1,24 @@ -include device/generic/arm64/BoardConfig.mk +# arm64 emulator specific definitions +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_VARIANT := generic +TARGET_CPU_ABI := arm64-v8a -# want all fonts -SMALLER_FONT_FOOTPRINT := false -MINIMAL_FONT_FOOTPRINT := false +TARGET_2ND_ARCH := arm +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_VARIANT := generic -# use seperate vendor partition -TARGET_COPY_OUT_VENDOR := vendor +include build/make/target/board/BoardConfigGsiCommon.mk + +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true + +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 +BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_GPU_DRIVERS := virgl radeonsi DEVICE_MANIFEST_FILE := device/redroid/manifest.xml -PRODUCT_ENFORCE_VINTF_MANIFEST := true -# ~ 1.3G -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1388314624 diff --git a/redroid_x86_64/BoardConfig.mk b/redroid_x86_64/BoardConfig.mk index 3d6dba0..1fa016c 100755 --- a/redroid_x86_64/BoardConfig.mk +++ b/redroid_x86_64/BoardConfig.mk @@ -1,13 +1,20 @@ -include device/generic/x86_64/BoardConfig.mk +TARGET_CPU_ABI := x86_64 +TARGET_ARCH := x86_64 +TARGET_ARCH_VARIANT := x86_64 -# want all fonts -SMALLER_FONT_FOOTPRINT := false -MINIMAL_FONT_FOOTPRINT := false +TARGET_2ND_CPU_ABI := x86 +TARGET_2ND_ARCH := x86 +TARGET_2ND_ARCH_VARIANT := x86_64 -# use seperate vendor partition -TARGET_COPY_OUT_VENDOR := vendor +include build/make/target/board/BoardConfigGsiCommon.mk + +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true + +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 +BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_GPU_DRIVERS := i915 i965 r300g r600g virgl iris radeonsi DEVICE_MANIFEST_FILE := device/redroid/manifest.xml -PRODUCT_ENFORCE_VINTF_MANIFEST := true + diff --git a/redroid_x86_64/device.mk b/redroid_x86_64/device.mk index 9ce92c0..e967bb8 100644 --- a/redroid_x86_64/device.mk +++ b/redroid_x86_64/device.mk @@ -1,3 +1,3 @@ PRODUCT_PACKAGES += \ - vulkan.intel \ + vulkan.intel \ diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100755 index 0000000..45691f6 --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,2 @@ +# use hacked LLVM +export LLVM_PREBUILTS_VERSION="clang-r353983c"