From db7d3d3526da090f5054170dd4091dadc00ed400 Mon Sep 17 00:00:00 2001 From: Ziyang Zhou Date: Sat, 4 Jun 2022 11:12:59 +0800 Subject: [PATCH] move common config to /vendor/redroid --- gpu_config.sh | 107 ------------------------------------------------ init.redroid.rc | 45 -------------------- redroid.mk | 8 +--- 3 files changed, 2 insertions(+), 158 deletions(-) delete mode 100755 gpu_config.sh diff --git a/gpu_config.sh b/gpu_config.sh deleted file mode 100755 index 346000c..0000000 --- a/gpu_config.sh +++ /dev/null @@ -1,107 +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 swiftshader - 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 -} - -gpu_setup - diff --git a/init.redroid.rc b/init.redroid.rc index 36d081c..e4d14f0 100644 --- a/init.redroid.rc +++ b/init.redroid.rc @@ -1,48 +1,3 @@ on early-init - mount debugfs debugfs /sys/kernel/debug mode=755 - # 32bit app require this, remove for 64bit only redroid write /proc/sys/kernel/pid_max 65535 - - 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 - diff --git a/redroid.mk b/redroid.mk index fdc124f..31facf9 100644 --- a/redroid.mk +++ b/redroid.mk @@ -51,15 +51,10 @@ PRODUCT_PROPERTY_OVERRIDES += \ debug.sf.nobootanimation=1 PRODUCT_PACKAGES += \ - binder_alloc \ - hwcomposer.redroid \ - gralloc.gbm \ - gralloc.redroid \ libEGL_swiftshader \ libGLESv1_CM_swiftshader \ libGLESv2_swiftshader \ vulkan.pastel \ - ipconfigstore \ PRODUCT_PROPERTY_OVERRIDES += \ ro.kernel.qemu=1 \ @@ -144,7 +139,6 @@ PRODUCT_COPY_FILES += \ 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)/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \ $(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid.rc \ @@ -152,4 +146,6 @@ $(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)