move common config to /vendor/redroid

This commit is contained in:
Ziyang Zhou
2022-06-04 11:12:59 +08:00
parent fc58f231aa
commit 09a0b54043
3 changed files with 2 additions and 162 deletions

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_drm)
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_drm|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
}
# ?? workaround for ueventd
chmod 0666 /dev/dri/*
gpu_setup

View File

@@ -1,6 +1,4 @@
on early-init
mount debugfs debugfs /sys/kernel/debug mode=755
# Mount binderfs
mkdir /dev/binderfs
mount binder binder /dev/binderfs stats=global
@@ -13,46 +11,3 @@ on early-init
# 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

View File

@@ -49,21 +49,15 @@ PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.nobootanimation=1
PRODUCT_PACKAGES += \
binder_alloc \
hwcomposer.redroid \
gralloc.redroid \
gralloc.gbm \
gatekeeper.redroid \
libEGL_swiftshader \
libGLESv1_CM_swiftshader \
libGLESv2_swiftshader \
vulkan.pastel \
ipconfigstore \
PRODUCT_PROPERTY_OVERRIDES += \
ro.kernel.qemu=1 \
ro.hardware=redroid \
ro.sf.lcd_density=320 \
# Phone App required
PRODUCT_PACKAGES += \
@@ -128,7 +122,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 \
@@ -136,4 +129,6 @@ $(call inherit-product, device/redroid/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)