]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - scripts/generate-props.sh
anbox: Sed symlink path instead for finding hal
[waydroid.git] / scripts / generate-props.sh
1 #!/bin/sh
2
3 find_hal ()
4 {
5 HAL_PROP=
6 for p in "ro.hardware.$1" "ro.hardware" "ro.product.board" "ro.arch" "ro.board.platform"; do
7 if [ "$(getprop $p)" != "" ]; then
8 for l in lib lib64; do
9 HAL_FILE=/vendor/$l/hw/$1.$(getprop $p).so
10 HAL_FILE_PATH=$(readlink -f $HAL_FILE)
11 if [ -f "$HAL_FILE_PATH" ]; then
12 HAL_PROP=$(echo $HAL_FILE |sed "s|.*$1.\(.*\).so|\1|")
13 if [ "$HAL_PROP" != "" ]; then
14 break
15 fi
16 fi
17 done
18 fi
19 if [ "$HAL_PROP" != "" ]; then
20 break
21 fi
22 done
23
24 echo $HAL_PROP
25 }
26
27 GRALLOC=$(find_hal gralloc)
28 if [ -z $GRALLOC ]; then
29 GRALLOC="gbm"
30 fi
31 GRALLOC_PROP="ro.hardware.gralloc=${GRALLOC}"
32
33 EGL=`getprop ro.hardware.egl`
34 if [ ! -z $EGL ]; then
35 EGL_PROP="ro.hardware.egl=${EGL}"
36 fi
37
38 MEDIA_PROFILES=`getprop media.settings.xml`
39 if [ ! -z $MEDIA_PROFILES ]; then
40 MEDIA_PROFILES_EXTRA=`echo ${MEDIA_PROFILES} | sed "s/vendor/vendor_extra/" | sed "s/odm/odm_extra/"`
41 MEDIA_PROFILES_PROP="media.settings.xml=${MEDIA_PROFILES_EXTRA}"
42 fi
43
44 CCODEC=`getprop debug.stagefright.ccodec`
45 if [ ! -z $CCODEC ]; then
46 CCODEC_PROP="debug.stagefright.ccodec=${CCODEC}"
47 fi
48
49 EXT_LIB=`getprop ro.vendor.extension_library`
50 if [ ! -z $EXT_LIB ]; then
51 EXT_LIB_EXTRA=`echo ${EXT_LIB} | sed 's/vendor/vendor_extra/g'`
52 EXT_LIB_PROP="ro.vendor.extension_library=${EXT_LIB_EXTRA}"
53 fi
54
55 #TODO: Add gbm vulkan or something
56 VULKAN=$(find_hal vulkan)
57 if [ ! -z $VULKAN ]; then
58 VULKAN_PROP="ro.hardware.vulkan=${VULKAN}"
59 fi
60
61 #TODO: Better dpi detection
62 DPI=$(getprop ro.sf.lcd_density)
63 if [ -z $DPI ]; then
64 if [ ! -z $GRID_UNIT_PX ]; then
65 DPI=`echo $GRID_UNIT_PX | awk '{$1=int($1*20);printf $1}'`
66 else
67 DPI="420"
68 fi
69 fi
70 DPI_PROP="ro.sf.lcd_density=${DPI}"
71
72 GLES_VER=$(getprop ro.opengles.version)
73 if [ -z $GLES_VER ]; then
74 GLES_VER="196608"
75 fi
76 GLES_VER_PROP="ro.opengles.version=${GLES_VER}"
77
78 if [ ! -z $XDG_RUNTIME_DIR ]; then
79 XDG_PROP="anbox.xdg_runtime_dir=${XDG_RUNTIME_DIR}"
80 fi
81
82 #TODO: Do Not force wayland display 1
83 WAYLAND_DISPLAY="wayland-1"
84 if [ ! -z $WAYLAND_DISPLAY ]; then
85 WAYLAND_DISP_PROP="anbox.wayland_display=${WAYLAND_DISPLAY}"
86 fi
87
88 if [ ! -z $PULSE_RUNTIME_PATH ]; then
89 PULSE_PROP="anbox.pulse_runtime_path=${PULSE_RUNTIME_PATH}"
90 else
91 if [ -d "${XDG_RUNTIME_DIR}/pulse" ]; then
92 PULSE_PROP="anbox.pulse_runtime_path=${XDG_RUNTIME_DIR}/pulse"
93 fi
94 fi