diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 52e1db7..a232e43 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -21,8 +21,8 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/redroid_arm64_only.mk \ COMMON_LUNCH_CHOICES := \ - redroid_x86_64-bp2a-userdebug \ - redroid_x86_64_only-bp2a-userdebug \ - redroid_arm64-bp2a-userdebug \ - redroid_arm64_only-bp2a-userdebug \ + redroid_x86_64-cp2a-userdebug \ + redroid_x86_64_only-cp2a-userdebug \ + redroid_arm64-cp2a-userdebug \ + redroid_arm64_only-cp2a-userdebug \ diff --git a/redroid.mk b/redroid.mk index 7e6c7d2..8460474 100644 --- a/redroid.mk +++ b/redroid.mk @@ -45,6 +45,13 @@ endif PRODUCT_SHIPPING_API_LEVEL := 34 +# Android >= 17 has no ashmem, so force memfd instead. The property alone +# was not enough on Android 16 (an extra ashmem ioctl check ran against +# memfd), but Android 17 dropped that check. It must go in SYSTEM: +# use_memfd_prop is system_restricted_prop and vendor_init cannot set it. +PRODUCT_SYSTEM_PROPERTIES += \ + sys.use_memfd=true \ + AUDIOSERVER_MULTILIB := first TARGET_VENDOR_PROP += device/redroid/redroid.prop @@ -55,6 +62,14 @@ PRODUCT_PACKAGES += \ libGLESv2_angle \ vulkan.pastel \ +# gralloc 5 (IMapper 5 stable-C) through minigbm. Coexists with the +# existing gralloc 2: GraphicBufferMapper probes 5 -> 4 -> 3 -> 2. +# The host must load the vkms kernel module, otherwise minigbm finds no +# DRM device it recognises and the allocator never starts. +PRODUCT_PACKAGES += \ + mapper.minigbm \ + android.hardware.graphics.allocator-service.minigbm \ + # Phone App required PRODUCT_PACKAGES += \ diff --git a/redroid.prop b/redroid.prop index f20de9a..39a7e37 100644 --- a/redroid.prop +++ b/redroid.prop @@ -1,7 +1,10 @@ ro.hardware=redroid -# disable ueventd cold-boot for performance -ro.cold_boot_done=true +# Do not disable ueventd cold boot. Without the cold-boot scan there is no +# /dev/block/loopN (apexd activates 0 APEX, so /system/bin/linker64 is a +# dangling symlink) and no /dev/graphics/fb0 (the composer cannot open the +# framebuffer and init takes surfaceflinger and zygote down with it). +# ro.cold_boot_done=true persist.sys.fuse=1 diff --git a/redroid_arm64.mk b/redroid_arm64.mk index 52ddaf0..3f5212b 100644 --- a/redroid_arm64.mk +++ b/redroid_arm64.mk @@ -22,6 +22,6 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_arm64/device.mk) PRODUCT_NAME := redroid_arm64 PRODUCT_DEVICE := redroid_arm64 PRODUCT_BRAND := redroid -PRODUCT_MODEL := redroid16_arm64 +PRODUCT_MODEL := redroid17_arm64 DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay diff --git a/redroid_arm64_only.mk b/redroid_arm64_only.mk index 5a3adb2..186e997 100644 --- a/redroid_arm64_only.mk +++ b/redroid_arm64_only.mk @@ -24,7 +24,7 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_arm64_only/device.mk) PRODUCT_NAME := redroid_arm64_only PRODUCT_DEVICE := redroid_arm64_only PRODUCT_BRAND := redroid -PRODUCT_MODEL := redroid16_arm64_only +PRODUCT_MODEL := redroid17_arm64_only DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay diff --git a/redroid_x86_64.mk b/redroid_x86_64.mk index 95089e3..0af8b16 100644 --- a/redroid_x86_64.mk +++ b/redroid_x86_64.mk @@ -21,6 +21,6 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_x86_64/device.mk) PRODUCT_NAME := redroid_x86_64 PRODUCT_DEVICE := redroid_x86_64 PRODUCT_BRAND := redroid -PRODUCT_MODEL := redroid16_x86_64 +PRODUCT_MODEL := redroid17_x86_64 DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay diff --git a/redroid_x86_64_only.mk b/redroid_x86_64_only.mk index e7d7852..0597842 100644 --- a/redroid_x86_64_only.mk +++ b/redroid_x86_64_only.mk @@ -23,7 +23,7 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk) PRODUCT_NAME := redroid_x86_64_only PRODUCT_DEVICE := redroid_x86_64_only PRODUCT_BRAND := redroid -PRODUCT_MODEL := redroid16_x86_64_only +PRODUCT_MODEL := redroid17_x86_64_only DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay