move common config to /vendor/redroid
This commit is contained in:
107
gpu_config.sh
107
gpu_config.sh
@@ -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
|
|
||||||
|
|
||||||
@@ -1,48 +1,3 @@
|
|||||||
on early-init
|
on early-init
|
||||||
mount debugfs debugfs /sys/kernel/debug mode=755
|
|
||||||
|
|
||||||
# 32bit app require this, remove for 64bit only redroid
|
# 32bit app require this, remove for 64bit only redroid
|
||||||
write /proc/sys/kernel/pid_max 65535
|
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
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,15 +51,10 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
|||||||
debug.sf.nobootanimation=1
|
debug.sf.nobootanimation=1
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
binder_alloc \
|
|
||||||
hwcomposer.redroid \
|
|
||||||
gralloc.gbm \
|
|
||||||
gralloc.redroid \
|
|
||||||
libEGL_swiftshader \
|
libEGL_swiftshader \
|
||||||
libGLESv1_CM_swiftshader \
|
libGLESv1_CM_swiftshader \
|
||||||
libGLESv2_swiftshader \
|
libGLESv2_swiftshader \
|
||||||
vulkan.pastel \
|
vulkan.pastel \
|
||||||
ipconfigstore \
|
|
||||||
|
|
||||||
PRODUCT_PROPERTY_OVERRIDES += \
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
ro.kernel.qemu=1 \
|
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/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 \
|
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)/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 \
|
$(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-if-exists, product.mk)
|
||||||
|
|
||||||
|
$(call inherit-product, vendor/redroid/vendor.mk)
|
||||||
|
|
||||||
$(call inherit-product, device/redroid-prebuilts/prebuilts.mk)
|
$(call inherit-product, device/redroid-prebuilts/prebuilts.mk)
|
||||||
|
|||||||
Reference in New Issue
Block a user