17 Commits

Author SHA1 Message Date
Ziyang Zhou
736f66d854 Revert "disable simulated bluetooth"
This reverts commit 8a01a9f162.
2023-12-01 22:34:49 +08:00
Ziyang Zhou
1e4496cede move pid_max setting to redroid.common.rc 2023-12-01 22:33:36 +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
26 changed files with 100 additions and 357 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,4 +1,4 @@
<manifest version="1.0" type="device" target-level="6">
<manifest version="1.0" type="device" target-level="7">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@@ -44,13 +44,4 @@
<instance>default</instance>
</interface>
</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>

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
kcmp: 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

@@ -41,45 +41,18 @@ else
PRODUCT_BUILD_SYSTEM_IMAGE := true
endif
PRODUCT_SHIPPING_API_LEVEL := 31
PRODUCT_SHIPPING_API_LEVEL := 33
AUDIOSERVER_MULTILIB := first
# ?
PRODUCT_PROPERTY_OVERRIDES += \
ro.radio.noril=yes
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.nobootanimation=1
TARGET_VENDOR_PROP += device/redroid/redroid.prop
PRODUCT_PACKAGES += \
binder_alloc \
hwcomposer.redroid \
gralloc.gbm \
gralloc.redroid \
libEGL_angle \
libGLESv1_CM_angle \
libGLESv2_angle \
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
PRODUCT_PACKAGES += \
@@ -106,29 +79,23 @@ PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@2.0-impl-2.1 \
android.hardware.graphics.composer@2.1-service \
android.hardware.graphics.composer@2.1-impl \
android.hardware.health@2.1-service \
android.hardware.health@2.1-impl \
android.hardware.keymaster@3.0-service \
android.hardware.keymaster@3.0-impl \
power.default \
android.hardware.health-service.example \
android.hardware.keymaster@4.1-service \
android.hardware.power-service.example \
android.hardware.thermal@2.0-service.mock \
ifneq ($(REDROID_DISABLE_OMX),true)
# Codec 1.0 requires the OMX services
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
$(call inherit-product, hardware/redroid/omx/omx.mk)
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
# audio policy
@@ -142,16 +109,21 @@ PRODUCT_PACKAGES += \
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/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)/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-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_DEVICE := redroid_arm64
PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_arm64
PRODUCT_MODEL := redroid13_arm64
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_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

View File

@@ -1,5 +1,4 @@
PRODUCT_PACKAGES += \
vulkan.broadcom \
vulkan.freedreno \
vulkan.panfrost \
PRODUCT_COPY_FILES += \
device/redroid/mediacodec.policy.arm:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
$(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/aosp_base.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_64only.mk)
REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.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_DEVICE := redroid_arm64_only
PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_arm64_only
PRODUCT_MODEL := redroid13_arm64_only
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_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

View File

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

View File

@@ -21,10 +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 := redroid12_x86_64
PRODUCT_MODEL := redroid13_x86_64
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
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
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_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

View File

@@ -1,3 +1,10 @@
PRODUCT_PACKAGES += \
vulkan.intel \
PRODUCT_COPY_FILES += \
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/aosp_base.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_64only.mk)
REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.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_DEVICE := redroid_x86_64_only
PRODUCT_BRAND := redroid
PRODUCT_MODEL := redroid12_x86_64_only
PRODUCT_MODEL := redroid13_x86_64_only
DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay

View File

@@ -4,15 +4,16 @@ TARGET_ARCH_VARIANT := x86_64
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
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_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

View File

@@ -1,3 +1,9 @@
PRODUCT_PACKAGES += \
vulkan.intel \
PRODUCT_COPY_FILES += \
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)