12 Commits

Author SHA1 Message Date
Ziyang Zhou
f4f6409f7f move pid_max setting to redroid.common.rc 2023-12-01 22:32:14 +08:00
Ziyang Zhou
a9f993a02c add native bridge support for x86_64 2023-03-31 10:12:30 +08:00
Ziyang Zhou
a430feff57 remove qemu=1 prop, should use androidboot.xxx 2022-10-27 20:16:53 +08:00
Ziyang Zhou
2183f56dea fix 64only build 2022-08-22 20:29:47 +08:00
Ziyang Zhou
5255a7caa7 refine 64only makefile; enable c2 for 64only builds 2022-08-22 09:05:22 +08:00
Ziyang Zhou
ad39787c7f fix remote-android/redroid-doc#200 add simulated Bluetooth 2022-07-27 17:56:19 +08:00
Ziyang Zhou
6929d5cd83 move props to seperate file 2022-07-07 19:51:11 +08:00
Ziyang Zhou
90bb8a1051 move common config to /vendor/redroid 2022-07-07 19:51:11 +08:00
Ziyang Zhou
0f08c99d11 add redroid codecs (OMX & C2) 2022-07-06 21:05:13 +08:00
Ziyang Zhou
caabed5eab claim more system features; bluetooth NOT ready 2022-07-06 19:59:59 +08:00
Ziyang Zhou
d5505b34c8 refine mediacodec policy 2022-05-14 00:51:40 +08:00
Ziyang Zhou
d4f0c1879d change to use prebuilts 2022-05-14 00:50:52 +08:00
25 changed files with 90 additions and 336 deletions

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,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

@@ -45,41 +45,14 @@ PRODUCT_SHIPPING_API_LEVEL := 31
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 += \
@@ -115,21 +88,17 @@ PRODUCT_PACKAGES += \
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 else
# use Codec 2.0 $(call inherit-product, hardware/redroid/c2/c2.mk)
PRODUCT_PACKAGES += android.hardware.media.c2@1.2-default-service
endif endif
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
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
@@ -142,16 +111,21 @@ 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 \
$(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

@@ -25,7 +25,3 @@ PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_arm64 PRODUCT_MODEL := redroid12_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)

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,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

@@ -24,7 +24,3 @@ PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_x86_64 PRODUCT_MODEL := redroid12_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)

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)