refine product makefile

This commit is contained in:
Ziyang Zhou
2021-08-03 04:31:10 +00:00
parent d54109c53d
commit bd2bb0f8e9
5 changed files with 105 additions and 11 deletions

93
gpu_config.sh Executable file
View File

@@ -0,0 +1,93 @@
#!/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 radv
;;
virtio_gpu)
# google venus
;;
*)
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
# 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)
node="/dev/dri/renderD$d"
echo "use render node: $node"
setprop gralloc.gbm.device $node
return 0
;;
esac
fi
done
echo "NO qualified render node found"
return 1
}
gpu_setup_host() {
echo "use GPU host mode"
setprop qemu.gles.vendor mesa
setprop ro.hardware.gralloc gbm
}
gpu_setup_guest() {
echo "use GPU guest mode"
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
}
gpu_setup

View File

@@ -37,6 +37,8 @@ PRODUCT_PACKAGES += \
libGLESv1_CM_swiftshader \ libGLESv1_CM_swiftshader \
libGLESv2_swiftshader \ libGLESv2_swiftshader \
libGLES_mesa \ libGLES_mesa \
vulkan.radv \
vulkan.pastel \
ipconfigstore \ ipconfigstore \
PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \
@@ -91,7 +93,8 @@ 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/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/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:/system/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.ethernet.xml:/system/etc/permissions/android.hardware.ethernet.xml \
vendor/redroid/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \ $(LOCAL_PATH)/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \
$(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.redroid.rc \
# Extend heap size we use for dalvik/art runtime # 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, frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk)

View File

@@ -21,10 +21,7 @@ $(call inherit-product, $(LOCAL_PATH)/redroid.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 := ReDroid PRODUCT_MODEL := redroid11_arm64
PRODUCT_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.redroid.rc \

View File

@@ -16,14 +16,12 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.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.mk) $(call inherit-product, $(LOCAL_PATH)/redroid.mk)
$(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 := ReDroid PRODUCT_MODEL := redroid11_x86_64
PRODUCT_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.redroid.rc \

3
redroid_x86_64/device.mk Normal file
View File

@@ -0,0 +1,3 @@
PRODUCT_PACKAGES += \
vulkan.intel \