# 本文件将基于kbox基础云手机镜像和va gpu相关的二进制制作va gpu云手机镜像
# 本文件前提是保证已有kbox基础云手机镜像（如kbox:latest）
# 在kbox基础云手机镜像的基础上将va gpu相关的二进制放入kbox基础云手机镜像中
# 使用docker命令制作kbox云手机镜像（如kbox:latest_va），方便用户使用

# ARG是定义参数名称
# FROM是指定kbox基础云手机镜像
# MAINTAINER是作者名
ARG KBOX_IMAGE
FROM ${KBOX_IMAGE}
MAINTAINER root

COPY ./imageFile/system /imageFile/system

# 注意：
# 因为每运行RUN一次就会创建一层镜像，容易产生非常臃肿、非常多层的镜像
# 所以将视频流云手机相关的所有二进制整合在一起，保证只运行一次RUN
RUN chmod -R 755 imageFile \
    && chown -R root:root imageFile \
    && cp -pR imageFile/system/* /system/ \
    && rm -rf imageFile \
    && sed -i 's/^ro.hardware.gralloc=.*/ro.hardware.gralloc=sgpu100/g' /system/build.prop \
    && sed -i 's/^ro.hardware.hwcomposer=.*/ro.hardware.hwcomposer=sgpu100/g' /system/build.prop \
    && sed -i 's/^ro.hardware.egl=.*/ro.hardware.egl=va/g' /system/build.prop \
    && sed -i 's/^ro.hardware.vulkan=.*/ro.hardware.vulkan=va/g' /system/build.prop \
    && sed -i 's/^ro.product.platform=.*/ro.product.platform=va/g' /system/build.prop \
    && sed -i 's/^ro.vmi.hardware.gpu=.*/ro.vmi.hardware.gpu=257/g' /system/build.prop \
    && sed -i 's/^ro.vmi.hardware.vpu=.*/ro.vmi.hardware.vpu=0/g' /system/build.prop \
    && sed -i 's/^ro.hardware.gralloc=.*/ro.hardware.gralloc=sgpu100/g' /system/vendor/build.prop \
    && sed -i 's/^ro.hardware.hwcomposer=.*/ro.hardware.hwcomposer=sgpu100/g' /system/vendor/build.prop \
    && sed -i 's/^ro.hardware.egl=.*/ro.hardware.egl=va/g' /system/vendor/build.prop \
    && sed -i 's/^ro.hardware.vulkan=.*/ro.hardware.vulkan=va/g' /system/vendor/build.prop \
    && sed -i 's/^ro.product.platform=.*/ro.product.platform=va/g' /system/vendor/build.prop \
    && sed -i 's/^ro.vmi.hardware.gpu=.*/ro.vmi.hardware.gpu=257/g' /system/vendor/build.prop \
    && sed -i 's/^ro.vmi.hardware.vpu=.*/ro.vmi.hardware.vpu=0/g' /system/vendor/build.prop \
    && sed -i '$a\ro.va.gpu.init=1' /system/vendor/build.prop \
    && sed -i '/on init/a \    export VASTSTREAM_PIPELINE true' init.kbox.rc \
    && sed -i '/on init/a \    export VASTSTREAM_HOME \/vendor\/lib64\/vame\/' init.kbox.rc \
    && sed -i '/on init/a \    export VACM_LOG_CFG \/vendor\/etc\/' init.kbox.rc \
    && sed -i '/on init/a \    export LD_LIBRARY_PATH \/vendor\/lib64\/vame\/lib\/' init.kbox.rc \
    && sed -i '/on init/a \    export LIBVASTVA_DRIVERS_PATH \/vendor\/lib64\/' init.kbox.rc \
    && sed -i '/on init/a \    export LIBVASTVA_DRIVER_NAME va' init.kbox.rc
