OSDN Git Service

Port to Android 11
[android-x86/device-generic-common.git] / init.sh
diff --git a/init.sh b/init.sh
index a9d3d1e..0962c22 100644 (file)
--- a/init.sh
+++ b/init.sh
@@ -66,13 +66,10 @@ function init_hal_audio()
                VirtualBox*|Bochs*)
                        [ -d /proc/asound/card0 ] || modprobe snd-sb16 isapnp=0 irq=5
                        ;;
-               *)
+               TS10*)
+                       set_prop_if_empty hal.audio.out pcmC0D2p
                        ;;
        esac
-
-       if grep -qi "IntelHDMI" /proc/asound/card0/id; then
-               [ -d /proc/asound/card1 ] || set_property ro.hardware.audio.primary hdmi
-       fi
 }
 
 function init_hal_bluetooth()
@@ -180,42 +177,58 @@ function init_uvesafb()
                        ;;
        esac
 
-       modprobe uvesafb mode_option=${UVESA_MODE:-1024x768}-32 ${UVESA_OPTION:-mtrr=3 scroll=redraw}
+       modprobe uvesafb mode_option=${UVESA_MODE:-1024x768}-32 ${UVESA_OPTION:-mtrr=3 scroll=redraw} v86d=/system/bin/v86d
 }
 
 function init_hal_gralloc()
 {
-       case "$(cat /proc/fb | head -1)" in
-               *virtiodrmfb)
-                       if [ "$HWACCEL" != "0" ]; then
-                               set_property ro.hardware.hwcomposer drm
-                               set_property ro.hardware.gralloc gbm
-                               set_property debug.drm.mode.force ${video:-1280x800}
-                       fi
-                       set_prop_if_empty sleep.state none
-                       ;;
-               0*inteldrmfb|0*radeondrmfb|0*nouveaufb|0*svgadrmfb|0*amdgpudrmfb)
+       [ "$VULKAN" = "1" ] && GRALLOC=gbm
+
+       case "$(readlink /sys/class/graphics/fb0/device/driver)" in
+               *virtio_gpu)
+                       HWC=${HWC:-drm}
+                       GRALLOC=${GRALLOC:-gbm}
+                       video=${video:-1280x768}
+                       ;&
+               *i915|*radeon|*nouveau|*vmwgfx|*amdgpu)
                        if [ "$HWACCEL" != "0" ]; then
-                               set_property ro.hardware.gralloc drm
+                               ${HWC:+set_property ro.hardware.hwcomposer $HWC}
+                               set_property ro.hardware.gralloc ${GRALLOC:-drm}
                                set_drm_mode
                        fi
                        ;;
                "")
                        init_uvesafb
                        ;&
-               0*)
+               *)
                        ;;
        esac
 
+       [ -z "$(getprop ro.hardware.gralloc)" ] && set_property ro.hardware.egl swiftshader
        [ -n "$DEBUG" ] && set_property debug.egl.trace error
 }
 
 function init_hal_hwcomposer()
 {
        # TODO
+       [ "$HWC" = "drmfb" ] && start vendor.hwcomposer-2-1.drmfb
        return
 }
 
+function init_hal_vulkan()
+{
+       case "$(readlink /sys/class/graphics/fb0/device/driver)" in
+               *i915)
+                       set_property ro.hardware.vulkan android-x86
+                       ;;
+               *amdgpu)
+                       set_property ro.hardware.vulkan radv
+                       ;;
+               *)
+                       ;;
+       esac
+}
+
 function init_hal_lights()
 {
        chown 1000.1000 /sys/class/backlight/*/brightness
@@ -229,7 +242,7 @@ function init_hal_power()
 
        # TODO
        case "$PRODUCT" in
-               HP*Omni*|OEMB|Surface*3|T10*TA)
+               HP*Omni*|OEMB|Standard*PC*|Surface*3|T10*TA|VMware*)
                        set_prop_if_empty sleep.state none
                        ;;
                e-tab*Pro)
@@ -324,7 +337,7 @@ function init_hal_sensors()
                        set_property ro.iio.accel.x.opt_scale -1
                        set_property ro.iio.accel.y.opt_scale -1
                        ;;
-               *SP111-33*)
+               *SP111-33*|*TP300L*)
                        set_property ro.iio.accel.quirks no-trig
                        ;&
                *ST70416-6*)
@@ -428,6 +441,7 @@ function do_init()
        init_hal_gps
        init_hal_gralloc
        init_hal_hwcomposer
+       init_hal_vulkan
        init_hal_lights
        init_hal_power
        init_hal_sensors
@@ -486,6 +500,9 @@ function do_bootcomplete()
                Surface*Go)
                        echo on > /sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power/control
                        ;;
+               VMware*)
+                       pm disable com.android.bluetooth
+                       ;;
                X80*Power)
                        set_property power.nonboot-cpu-off 1
                        ;;
@@ -536,8 +553,13 @@ for c in `cat /proc/cmdline`; do
                                case $c in
                                        DEBUG=*)
                                                [ -n "$DEBUG" ] && set_property debug.logcat 1
+                                               [ "$DEBUG" = "0" ] || SETUPWIZARD=${SETUPWIZARD:-0}
+                                               ;;
+                                       DPI=*)
+                                               set_property ro.sf.lcd_density "$DPI"
                                                ;;
                                esac
+                               [ "$SETUPWIZARD" = "0" ] && set_property ro.setupwizard.mode DISABLED
                        fi
                        ;;
        esac