23 Commits

Author SHA1 Message Date
f54f1ffade feat: add vendor_gapps 2025-09-18 01:18:10 +08:00
Ziyang Zhou
9248d0ee4e update lunch choices for Android 15 2025-06-26 22:31:33 +08:00
Ziyang Zhou
a4bdf939c3 support Android V 2024-09-05 21:11:10 +08:00
Ziyang Zhou
911b344eef move pid_max setting to redroid.common.rc 2023-12-01 22:36:30 +08:00
Ziyang Zhou
1980b3e872 Revert "disable simulated bluetooth"
This reverts commit 8a01a9f162.
2023-11-13 19:50:30 +08:00
Ziyang Zhou
9a491adee3 enable UsbManager 2023-10-07 17:58:01 +08:00
Ziyang Zhou
ffb5114f0e use flatten apex 2023-10-07 17:57:55 +08:00
Ziyang Zhou
349e2f673d redroid 14 device config 2023-09-07 19:23:23 +08:00
Ziyang Zhou
b81806e883 update manifest target-level to 7
several hals get updated
- health
- keymaster
- thermal
2023-09-07 19:21:24 +08:00
Ziyang Zhou
8a01a9f162 disable simulated bluetooth 2023-08-29 18:34:07 +08:00
Ziyang Zhou
3b59c7498a add native bridge support for x86_64 2023-03-31 10:13:16 +08:00
Ziyang Zhou
ef44f26de8 remove qemu=1 prop, should use androidboot.xxx 2022-10-27 20:17:30 +08:00
Ziyang Zhou
46472e397c fix 64only build 2022-08-22 20:29:23 +08:00
Ziyang Zhou
45721b6f00 refine 64only makefile; enable c2 for 64only builds 2022-08-22 09:03:47 +08:00
Ziyang Zhou
7e9daa196f refine Android 13 build 2022-08-16 18:12:13 +08:00
Ziyang Zhou
9b0fe4386f fix remote-android/redroid-doc#200 add simulated Bluetooth 2022-07-27 17:56:48 +08:00
Ziyang Zhou
63eac7fb21 move props to seperate file 2022-07-07 11:00:50 +08:00
Ziyang Zhou
14829bea6e move common config to /vendor/redroid 2022-07-07 11:00:50 +08:00
Ziyang Zhou
e308903446 add redroid codecs (OMX & C2) 2022-07-07 10:43:38 +08:00
Ziyang Zhou
f6cdd8ea29 claim more system features; bluetooth NOT ready 2022-07-07 10:43:38 +08:00
Ziyang Zhou
f162fed7bf refine mediacodec policy 2022-05-14 00:48:52 +08:00
Ziyang Zhou
a8642ab4d2 change to use prebuilts 2022-05-14 00:47:48 +08:00
Ziyang Zhou
52d7280bcb add android-t-preview-1 support 2022-02-21 00:58:01 +08:00
27 changed files with 110 additions and 361 deletions

View File

@@ -21,8 +21,8 @@ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/redroid_arm64_only.mk \ $(LOCAL_DIR)/redroid_arm64_only.mk \
COMMON_LUNCH_CHOICES := \ COMMON_LUNCH_CHOICES := \
redroid_x86_64-userdebug \ redroid_x86_64-ap3a-userdebug \
redroid_x86_64_only-userdebug \ redroid_x86_64_only-ap3a-userdebug \
redroid_arm64-userdebug \ redroid_arm64-ap3a-userdebug \
redroid_arm64_only-userdebug \ redroid_arm64_only-ap3a-userdebug \

View File

@@ -0,0 +1,11 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View File

@@ -1,15 +0,0 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View File

@@ -1,110 +0,0 @@
#!/system/bin/sh
# args: driver
setup_vulkan() {
echo "setup vulkan for driver: $1"
case "$1" in
i915)
setprop ro.hardware.vulkan intel
;;
amdgpu)
setprop ro.hardware.vulkan radeon
;;
virtio_gpu)
setprop ro.hardware.vulkan virtio
;;
v3d|vc4)
setprop ro.hardware.vulkan broadcom
;;
msm)
setprop ro.hardware.vulkan freedreno
;;
panfrost)
setprop ro.hardware.vulkan panfrost
;;
*)
echo "not supported driver: $1"
;;
esac
}
setup_render_node() {
node=`getprop ro.kernel.redroid.gpu.node`
if [ ! -z "$node" ]; then
echo "force render node: $node"
setprop gralloc.gbm.device $node
chmod 666 $node
# setup vulkan
cd /sys/kernel/debug/dri
driver="`cat ${node: -3}/name | cut -d' ' -f1`"
setup_vulkan $driver
return 0
fi
cd /sys/kernel/debug/dri
for d in * ; do
if [ "$d" -ge "128" ]; then
driver="`cat $d/name | cut -d' ' -f1`"
echo "DRI node exists, driver: $driver"
setup_vulkan $driver
case $driver in
i915|amdgpu|virtio_gpu|v3d|vc4|msm|panfrost)
node="/dev/dri/renderD$d"
echo "use render node: $node"
setprop gralloc.gbm.device $node
chmod 666 $node
return 0
;;
esac
fi
done
echo "NO qualified render node found"
return 1
}
gpu_setup_host() {
echo "use GPU host mode"
setprop ro.hardware.egl mesa
setprop ro.hardware.gralloc gbm
setprop ro.kernel.redroid.fps 30
}
gpu_setup_guest() {
echo "use GPU guest mode"
setprop ro.hardware.egl angle
setprop ro.hardware.gralloc redroid
setprop ro.hardware.vulkan pastel
}
gpu_setup() {
## redroid.gpu.mode=(auto, host, guest)
## redroid.gpu.node= (/dev/dri/renderDxxx)
mode=`getprop ro.kernel.redroid.gpu.mode auto`
if [ "$mode" = "host" ]; then
setup_render_node
gpu_setup_host
elif [ "$mode" = "guest" ]; then
gpu_setup_guest
elif [ "$mode" = "auto" ]; then
echo "use GPU auto mode"
if setup_render_node; then
gpu_setup_host
else
gpu_setup_guest
fi
else
echo "unknown mode: $mode"
fi
}
# ?? workaround for ueventd
chmod 0666 /dev/dri/*
gpu_setup

View File

@@ -1,45 +0,0 @@
on early-init
mount debugfs debugfs /sys/kernel/debug mode=755
chmod 666 /dev/ashmem
chmod 666 /dev/ptmx
chmod 666 /dev/pts/ptmx
exec -- /bin/rm -rf /dev/input
# inputflinger require this dir
mkdir /dev/input
exec - root root -- /vendor/bin/gpu_config.sh
# setup overlay data partition
on early-init && property:ro.kernel.redroid.overlay=1
mkdir /data-diff/upper
rmdir /data-diff/work
mkdir /data-diff/work
mount overlay overlay /data lowerdir=/data-base,upperdir=/data-diff/upper,workdir=/data-diff/work
on init
# lxcfs better
write /data/.empty 0
mount none /data/.empty /proc/vmallocinfo bind
# fix suspend host system?
mount none /dev/null /sys/power/state bind
setprop debug.renderengine.backend gles
on post-fs-data
# fix for static IP, must after post-fs-data and before netd
exec - system system -- /vendor/bin/ipconfigstore
# no need to mount, and encryption not supported yet
trigger nonencrypted
on boot
# ION currently not supported
setprop debug.stagefright.ccodec 0

View File

@@ -1,3 +0,0 @@
on early-init
write /proc/sys/kernel/pid_max 65535

View File

@@ -1,4 +1,4 @@
<manifest version="1.0" type="device" target-level="6"> <manifest version="1.0" type="device" target-level="7">
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.audio</name> <name>android.hardware.audio</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@@ -44,13 +44,4 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<version>3.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
</hal>
</manifest> </manifest>

View File

@@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2012 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.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@@ -3,3 +3,4 @@ uname: 1
sysinfo: 1 sysinfo: 1
kcmp: 1 kcmp: 1
sched_getaffinity: 1 sched_getaffinity: 1
sched_setscheduler: 1

6
mediacodec.policy.x86 Normal file
View File

@@ -0,0 +1,6 @@
# fix for mesa / gallium3D dri
uname: 1
sysinfo: 1
kcmp: 1
sched_getaffinity: 1
sched_setscheduler: 1

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<permissions>
</permissions>

View File

@@ -16,6 +16,8 @@ PRODUCT_MANUFACTURER := redroid
#$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) #$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
#PRODUCT_COMPRESSED_APEX := false #PRODUCT_COMPRESSED_APEX := false
OVERRIDE_TARGET_FLATTEN_APEX := true
OVERRIDE_PRODUCT_COMPRESSED_APEX := false
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
@@ -41,45 +43,18 @@ else
PRODUCT_BUILD_SYSTEM_IMAGE := true PRODUCT_BUILD_SYSTEM_IMAGE := true
endif endif
PRODUCT_SHIPPING_API_LEVEL := 31 PRODUCT_SHIPPING_API_LEVEL := 34
AUDIOSERVER_MULTILIB := first AUDIOSERVER_MULTILIB := first
# ? TARGET_VENDOR_PROP += device/redroid/redroid.prop
PRODUCT_PROPERTY_OVERRIDES += \
ro.radio.noril=yes
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.nobootanimation=1
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
binder_alloc \
hwcomposer.redroid \
gralloc.gbm \
gralloc.redroid \
libEGL_angle \ libEGL_angle \
libGLESv1_CM_angle \ libGLESv1_CM_angle \
libGLESv2_angle \ libGLESv2_angle \
vulkan.pastel \ vulkan.pastel \
libEGL_mesa \
libGLESv1_CM_mesa \
libGLESv2_mesa \
libgallium_dri \
libglapi \
vulkan.radeon \
vulkan.virtio \
ipconfigstore \
vncserver \
PRODUCT_PROPERTY_OVERRIDES += \
ro.kernel.qemu=1 \
ro.hardware=redroid \
ro.sf.lcd_density=320 \
persist.sys.fuse=1 \
# disable ueventd coldboot for performance
PRODUCT_PROPERTY_OVERRIDES += \
ro.cold_boot_done=true \
# Phone App required # Phone App required
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
@@ -106,29 +81,23 @@ PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@2.0-impl-2.1 \ android.hardware.graphics.mapper@2.0-impl-2.1 \
android.hardware.graphics.composer@2.1-service \ android.hardware.graphics.composer@2.1-service \
android.hardware.graphics.composer@2.1-impl \ android.hardware.graphics.composer@2.1-impl \
android.hardware.health@2.1-service \ android.hardware.health-service.example \
android.hardware.health@2.1-impl \ android.hardware.keymaster@4.1-service \
android.hardware.keymaster@3.0-service \
android.hardware.keymaster@3.0-impl \
power.default \
android.hardware.power-service.example \ android.hardware.power-service.example \
android.hardware.thermal@2.0-service.mock \
ifneq ($(REDROID_DISABLE_OMX),true) ifneq ($(REDROID_DISABLE_OMX),true)
# Codec 1.0 requires the OMX services $(call inherit-product, hardware/redroid/omx/omx.mk)
DEVICE_MANIFEST_FILE += device/redroid/android.hardware.media.omx@1.0.xml
PRODUCT_COPY_FILES += \
device/redroid/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
else
# use Codec 2.0
PRODUCT_PACKAGES += android.hardware.media.c2@1.2-default-service
endif endif
$(call inherit-product, hardware/redroid/c2/c2.mk)
DEVICE_MANIFEST_FILE += device/redroid/android.hardware.bluetooth@1.1.xml
PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.sim
PRODUCT_SOONG_NAMESPACES += frameworks/av/services/audiopolicy/config PRODUCT_SOONG_NAMESPACES += frameworks/av/services/audiopolicy/config
# audio policy # audio policy
@@ -142,16 +111,24 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
$(LOCAL_PATH)/redroid-removed-permissions.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/redroid-removed-permissions.xml \
$(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid.rc \ $(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid.rc \
$(LOCAL_PATH)/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \
$(LOCAL_PATH)/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
# required by Settings
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
$(call inherit-product-if-exists, product.mk) $(call inherit-product-if-exists, product.mk)
$(call inherit-product, vendor/redroid/vendor.mk)
$(call inherit-product, device/redroid-prebuilts/prebuilts.mk)

10
redroid.prop Normal file
View File

@@ -0,0 +1,10 @@
ro.hardware=redroid
# disable ueventd cold-boot for performance
ro.cold_boot_done=true
persist.sys.fuse=1
ro.radio.noril=yes
debug.sf.nobootanimation=1

1
redroid_64only.mk Normal file
View File

@@ -0,0 +1 @@
TARGET_VENDOR_PROP += device/redroid/redroid_64only.prop

1
redroid_64only.prop Normal file
View File

@@ -0,0 +1 @@
ro.boot.use_redroid_c2=1

View File

@@ -22,10 +22,6 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_arm64/device.mk)
PRODUCT_NAME := redroid_arm64 PRODUCT_NAME := redroid_arm64
PRODUCT_DEVICE := redroid_arm64 PRODUCT_DEVICE := redroid_arm64
PRODUCT_BRAND := redroid PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_arm64 PRODUCT_MODEL := redroid15_arm64
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.redroid32.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid32.rc \

View File

@@ -18,9 +18,5 @@ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_MESA3D_USES_MESON_BUILD := true
BOARD_MESA3D_GALLIUM_DRIVERS := virgl radeonsi v3d vc4 freedreno panfrost
BOARD_MESA3D_VULKAN_DRIVERS := virtio-experimental amd broadcom freedreno panfrost
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml DEVICE_MANIFEST_FILE += device/redroid/manifest.xml

View File

@@ -1,5 +1,4 @@
PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \
vulkan.broadcom \ device/redroid/mediacodec.policy.arm:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
vulkan.freedreno \
vulkan.panfrost \
$(call inherit-product, device/redroid-prebuilts/prebuilts_arm.mk)

View File

@@ -15,6 +15,7 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_64only.mk)
REDROID_DISABLE_OMX := true REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.mk) $(call inherit-product, $(LOCAL_PATH)/redroid.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_arm64_only/device.mk) $(call inherit-product, $(LOCAL_PATH)/redroid_arm64_only/device.mk)
@@ -23,7 +24,7 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_arm64_only/device.mk)
PRODUCT_NAME := redroid_arm64_only PRODUCT_NAME := redroid_arm64_only
PRODUCT_DEVICE := redroid_arm64_only PRODUCT_DEVICE := redroid_arm64_only
PRODUCT_BRAND := redroid PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_arm64_only PRODUCT_MODEL := redroid15_arm64_only
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay

View File

@@ -12,9 +12,5 @@ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_MESA3D_USES_MESON_BUILD := true
BOARD_MESA3D_GALLIUM_DRIVERS := virgl radeonsi v3d vc4 freedreno panfrost
BOARD_MESA3D_VULKAN_DRIVERS := virtio-experimental amd broadcom freedreno panfrost
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml DEVICE_MANIFEST_FILE += device/redroid/manifest.xml

View File

@@ -1,5 +1,5 @@
PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \
vulkan.broadcom \ device/redroid/mediacodec.policy.arm:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
vulkan.freedreno \
vulkan.panfrost \
$(call inherit-product, device/redroid-prebuilts/prebuilts_arm.mk)
$(call inherit-product, vendor/gapps/arm64/arm64-vendor.mk)

View File

@@ -21,10 +21,6 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_x86_64/device.mk)
PRODUCT_NAME := redroid_x86_64 PRODUCT_NAME := redroid_x86_64
PRODUCT_DEVICE := redroid_x86_64 PRODUCT_DEVICE := redroid_x86_64
PRODUCT_BRAND := redroid PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_x86_64 PRODUCT_MODEL := redroid15_x86_64
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.redroid32.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid32.rc \

View File

@@ -8,15 +8,21 @@ TARGET_2ND_ARCH_VARIANT := x86_64
include build/make/target/board/BoardConfigGsiCommon.mk include build/make/target/board/BoardConfigGsiCommon.mk
TARGET_NATIVE_BRIDGE_ARCH := arm64
TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv8-a
TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic
TARGET_NATIVE_BRIDGE_ABI := arm64-v8a
TARGET_NATIVE_BRIDGE_2ND_ARCH := arm
TARGET_NATIVE_BRIDGE_2ND_ARCH_VARIANT := armv7-a-neon
TARGET_NATIVE_BRIDGE_2ND_CPU_VARIANT := generic
TARGET_NATIVE_BRIDGE_2ND_ABI := armeabi-v7a armeabi
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_MESA3D_USES_MESON_BUILD := true
BOARD_MESA3D_GALLIUM_DRIVERS := virgl radeonsi i915 iris crocus
BOARD_MESA3D_VULKAN_DRIVERS := virtio-experimental amd intel
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml DEVICE_MANIFEST_FILE += device/redroid/manifest.xml

View File

@@ -1,3 +1,10 @@
PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \
vulkan.intel \ device/redroid/mediacodec.policy.x86:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
PRODUCT_PROPERTY_OVERRIDES += \
ro.enable.native.bridge.exec=1 \
ro.dalvik.vm.isa.arm64=x86_64 \
ro.dalvik.vm.isa.arm=x86 \
ro.dalvik.vm.native.bridge=libnb.so \
$(call inherit-product, device/redroid-prebuilts/prebuilts_x86.mk)

View File

@@ -15,6 +15,7 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_64only.mk)
REDROID_DISABLE_OMX := true REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.mk) $(call inherit-product, $(LOCAL_PATH)/redroid.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk) $(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk)
@@ -22,7 +23,7 @@ $(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk)
PRODUCT_NAME := redroid_x86_64_only PRODUCT_NAME := redroid_x86_64_only
PRODUCT_DEVICE := redroid_x86_64_only PRODUCT_DEVICE := redroid_x86_64_only
PRODUCT_BRAND := redroid PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_x86_64_only PRODUCT_MODEL := redroid15_x86_64_only
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay

View File

@@ -4,15 +4,16 @@ TARGET_ARCH_VARIANT := x86_64
include build/make/target/board/BoardConfigGsiCommon.mk include build/make/target/board/BoardConfigGsiCommon.mk
TARGET_NATIVE_BRIDGE_ARCH := arm64
TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv8-a
TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic
TARGET_NATIVE_BRIDGE_ABI := arm64-v8a
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_MESA3D_USES_MESON_BUILD := true
BOARD_MESA3D_GALLIUM_DRIVERS := virgl radeonsi i915 iris crocus
BOARD_MESA3D_VULKAN_DRIVERS := virtio-experimental amd intel
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml DEVICE_MANIFEST_FILE += device/redroid/manifest.xml

View File

@@ -1,3 +1,9 @@
PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \
vulkan.intel \ device/redroid/mediacodec.policy.x86:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
PRODUCT_PROPERTY_OVERRIDES += \
ro.enable.native.bridge.exec=1 \
ro.dalvik.vm.isa.arm64=x86_64 \
ro.dalvik.vm.native.bridge=libnb.so \
$(call inherit-product, device/redroid-prebuilts/prebuilts_x86.mk)