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()
;;
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
# 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)
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*)
init_hal_gps
init_hal_gralloc
init_hal_hwcomposer
+ init_hal_vulkan
init_hal_lights
init_hal_power
init_hal_sensors
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
;;
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