]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
anbox: Update props generation
authorErfan Abdi <erfangplus@gmail.com>
Fri, 28 May 2021 01:48:22 +0000 (06:18 +0430)
committerErfan Abdi <erfangplus@gmail.com>
Sat, 29 May 2021 02:43:59 +0000 (07:13 +0430)
scripts/generate-props.sh [new file with mode: 0755]
scripts/install.sh

diff --git a/scripts/generate-props.sh b/scripts/generate-props.sh
new file mode 100755 (executable)
index 0000000..6cc0f4c
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+find_hal ()
+{
+HAL_PROP=
+for p in "ro.hardware.$1" "ro.hardware" "ro.product.board" "ro.arch" "ro.board.platform"; do
+    if [ "$(getprop $p)" != "" ]; then
+        for l in lib lib64; do
+            HAL_FILE=/vendor/$l/hw/$1.$(getprop $p).so
+            HAL_FILE_PATH=$(readlink -f $HAL_FILE)
+            if [ -f "$HAL_FILE_PATH" ]; then
+                HAL_PROP=$(echo $HAL_FILE_PATH |sed "s|.*$1.\(.*\).so|\1|")
+                if [ "$HAL_PROP" != "" ]; then
+                    break
+                fi
+            fi
+        done
+    fi
+    if [ "$HAL_PROP" != "" ]; then
+        break
+    fi
+done
+
+echo $HAL_PROP
+}
+
+GRALLOC=$(find_hal gralloc)
+if [ -z $GRALLOC ]; then
+    GRALLOC="gbm"
+fi
+GRALLOC_PROP="ro.hardware.gralloc=${GRALLOC}"
+
+EGL=`getprop ro.hardware.egl`
+if [ ! -z $EGL ]; then
+    EGL_PROP="ro.hardware.egl=${EGL}"
+fi
+
+MEDIA_PROFILES=`getprop media.settings.xml`
+if [ ! -z $MEDIA_PROFILES ]; then
+    MEDIA_PROFILES_EXTRA=`echo ${MEDIA_PROFILES} | sed "s/vendor/vendor_extra/" | sed "s/odm/odm_extra/"`
+    MEDIA_PROFILES_PROP="media.settings.xml=${MEDIA_PROFILES_EXTRA}"
+fi
+
+CCODEC=`getprop debug.stagefright.ccodec`
+if [ ! -z $CCODEC ]; then
+    CCODEC_PROP="debug.stagefright.ccodec=${CCODEC}"
+fi
+
+EXT_LIB=`getprop ro.vendor.extension_library`
+if [ ! -z $EXT_LIB ]; then
+    EXT_LIB_EXTRA=`echo ${EXT_LIB} | sed 's/vendor/vendor_extra/g'`
+    EXT_LIB_PROP="ro.vendor.extension_library=${EXT_LIB_EXTRA}"
+fi
+
+#TODO: Add gbm vulkan or something
+VULKAN=$(find_hal vulkan)
+if [ ! -z $VULKAN ]; then
+    VULKAN_PROP="ro.hardware.vulkan=${VULKAN}"
+fi
+
+#TODO: Better dpi detection
+DPI=$(getprop ro.sf.lcd_density)
+if [ -z $DPI ]; then
+    if [ ! -z $GRID_UNIT_PX ]; then
+        DPI=`echo $GRID_UNIT_PX | awk '{$1=int($1*20);printf $1}'`
+    else
+        DPI="420"
+    fi
+fi
+DPI_PROP="ro.sf.lcd_density=${DPI}"
+
+GLES_VER=$(getprop ro.opengles.version)
+if [ -z $GLES_VER ]; then
+    GLES_VER="196608"
+fi
+GLES_VER_PROP="ro.opengles.version=${GLES_VER}"
+
+if [ ! -z $XDG_RUNTIME_DIR ]; then
+    XDG_PROP="anbox.xdg_runtime_dir=${XDG_RUNTIME_DIR}"
+fi
+
+#TODO: Do Not force wayland display 1
+WAYLAND_DISPLAY="wayland-1"
+if [ ! -z $WAYLAND_DISPLAY ]; then
+    WAYLAND_DISP_PROP="anbox.wayland_display=${WAYLAND_DISPLAY}"
+fi
+
+if [ ! -z $PULSE_RUNTIME_PATH ]; then
+    PULSE_PROP="anbox.pulse_runtime_path=${PULSE_RUNTIME_PATH}"
+else
+    if [ -d "${XDG_RUNTIME_DIR}/pulse" ]; then
+        PULSE_PROP="anbox.pulse_runtime_path=${XDG_RUNTIME_DIR}/pulse"
+    fi
+fi
index f2955144b26ed47880c5dc30b8edb01a5a4d8547..941a3aa8944ecc54ae318a73d0b428bcb7184460 100644 (file)
@@ -1,36 +1,10 @@
 #!/bin/bash
 
 echo "Generating device properties"
-GRALLOC=`getprop ro.hardware.gralloc`
-if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then
-    GRALLOC=`getprop ro.hardware`
-    if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then
-        GRALLOC=`getprop ro.product.board`
-        if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then
-            GRALLOC=`getprop ro.board.platform`
-            if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then
-                GRALLOC=`getprop ro.arch`
-                if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then
-                    GRALLOC="gbm"
-                fi
-            fi
-        fi
-    fi
-fi
-EGL=`getprop ro.hardware.egl`
-if [ ! -z $EGL ]; then
-    EGL_PROP="ro.hardware.egl=${EGL}"
-fi
-
-MEDIA_PROFILES=`getprop media.settings.xml`
-if [ ! -z $MEDIA_PROFILES ]; then
-    MEDIA_PROFILES_EXTRA=`getprop media.settings.xml | sed "s/vendor/vendor_extra/" | sed "s/odm/odm_extra/"`
-    MEDIA_PROFILES_PROP="media.settings.xml=${MEDIA_PROFILES_EXTRA}"
-fi
-CCODEC=`getprop debug.stagefright.ccodec`
-if [ ! -z $CCODEC ]; then
-    CCODEC_PROP="debug.stagefright.ccodec=${CCODEC}"
-fi
+rm -f generate-props.sh
+wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/scripts/generate-props.sh
+chmod +x generate-props.sh
+. generate-props.sh
 
 echo "Asking for root access"
 sudo -s <<EOF
@@ -80,10 +54,17 @@ else
     echo "NOTE: Edit /home/anbox/anbox.prop based on your device screen resolution"
     echo "anbox.display_width=1080" >> anbox.prop
 fi
-echo "ro.hardware.gralloc=${GRALLOC}" >> anbox.prop
+echo "${GRALLOC_PROP}" >> anbox.prop
 echo "${EGL_PROP}" >> anbox.prop
 echo "${MEDIA_PROFILES_PROP}" >> anbox.prop
 echo "${CCODEC_PROP}" >> anbox.prop
+echo "${EXT_LIB_PROP}" >> anbox.prop
+echo "${VULKAN_PROP}" >> anbox.prop
+echo "${DPI_PROP}" >> anbox.prop
+echo "${GLES_VER_PROP}" >> anbox.prop
+echo "${XDG_PROP}" >> anbox.prop
+echo "${WAYLAND_DISP_PROP}" >> anbox.prop
+echo "${PULSE_PROP}" >> anbox.prop
 
 echo "Geting latest lxc config"
 mkdir /var/lib/lxc/anbox