FROM ghcr.io/commaai/openpilot-base:latest

RUN apt-get update && apt-get install -y --no-install-recommends\
    apt-utils \
    alien \
    unzip \
    tar \
    curl \
    xz-utils \
    dbus \
    gcc-arm-none-eabi \
    tmux \
    vim \
    lsb-core \
    libx11-6 \
  && rm -rf /var/lib/apt/lists/*

# Intel OpenCL driver
ARG INTEL_DRIVER=l_opencl_p_18.1.0.015.tgz
ARG INTEL_DRIVER_URL=http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/15532
RUN mkdir -p /tmp/opencl-driver-intel
WORKDIR /tmp/opencl-driver-intel
RUN echo INTEL_DRIVER is $INTEL_DRIVER && \
    curl -O $INTEL_DRIVER_URL/$INTEL_DRIVER && \
    tar -xzf $INTEL_DRIVER && \
    for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done && \
    dpkg -i *.deb && \
    rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb && \
    mkdir -p /etc/OpenCL/vendors && \
    echo /opt/intel/opencl_compilers_and_libraries_18.1.0.015/linux/compiler/lib/intel64_lin/libintelocl.so > /etc/OpenCL/vendors/intel.icd && \
    rm -rf /tmp/opencl-driver-intel
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute
ENV QTWEBENGINE_DISABLE_SANDBOX 1

RUN dbus-uuidgen > /etc/machine-id

