mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 20:33:53 +08:00
* dockerize carla + openpilot * separate dockerfile * bring back CI dockerfile * cleanup bridge * add op docker build and start script * build container in CI * fix camerad hack * remove most magic numbers from bridge.py * openpilot-sim docker build and run scripts * fix dmonitoring hacks * revert controlsd hacks * clean up build scripts * singular * fix path * fix image name * modify sim readme * sim readme and start script changes * dockerfile with working opengl * working opengl + passing panda build_st in docker * fix bug in sim docker file * bugfix sim docker file * bugfix all op-sim docker issues * modify readme + run script * IT DRIVES * clean this up * more cleanup * cleanup docker stuff * more cleanup * start with openpilot-base * install carla python package * Script is not in lib * chmod * everything should be running in docker now, the code may not be nice though * works locally... * rhdChecked is deprecated * Checkout using git lfs when building sim container * try to pass the tests * pull latest docker * gps should not throw an error on openpilot launch in bridge.py * fixed a coding style error * Only start ubloxd in car * fixed more style problems * revert typo * Use enviromental variable to prevent errors in a simulator * Remove unused import * Attempt to fix missing enviromental variable * fix typo * less work for users, auto tmux engagement * less work for users, auto tmux engagement * fix check for nvidia * clean up nvidia check * remove typo, shorted dockerfile Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Willem Melching <willem.melching@gmail.com> Co-authored-by: Bruce Wayne <batman@workstation-eu-gregor.eu.local> Co-authored-by: Gregor Kikelj <gregor1234567890@gmail.com>
105 lines
3.1 KiB
Docker
105 lines
3.1 KiB
Docker
FROM commaai/openpilot-base:latest
|
|
#Carla
|
|
|
|
COPY ./tools/sim/install_carla.sh /tmp
|
|
RUN /tmp/install_carla.sh
|
|
|
|
#Intel openCL- run openCL on CPU
|
|
RUN apt-get update && apt-get install -y \
|
|
apt-utils \
|
|
unzip \
|
|
tar \
|
|
curl \
|
|
xz-utils \
|
|
|
|
beignet-opencl-icd \
|
|
|
|
alien \
|
|
clinfo \
|
|
dbus \
|
|
gcc-arm-none-eabi \
|
|
tmux \
|
|
vim \
|
|
|
|
# libglvnd dependencies
|
|
automake \
|
|
libtool \
|
|
libxext-dev \
|
|
libx11-dev \
|
|
x11proto-gl-dev \
|
|
libpng16-16 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
ARG INTEL_DRIVER=opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz
|
|
ARG INTEL_DRIVER_URL=http://registrationcenter-download.intel.com/akdlm/irc_nas/9019
|
|
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; \
|
|
if echo $INTEL_DRIVER | grep -q "[.]zip$"; then \
|
|
unzip $INTEL_DRIVER; \
|
|
mkdir fakeroot; \
|
|
for f in intel-opencl-*.tar.xz; do tar -C fakeroot -Jxvf $f; done; \
|
|
cp -R fakeroot/* /; \
|
|
ldconfig; \
|
|
else \
|
|
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/*/lib64/libintelocl.so > /etc/OpenCL/vendors/intel.icd; \
|
|
fi; \
|
|
rm -rf /tmp/opencl-driver-intel;
|
|
|
|
|
|
#Open[GL,CL] for gpu
|
|
ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES},display
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
mesa-utils \
|
|
ocl-icd-libopencl1 \
|
|
clinfo && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
RUN mkdir -p /etc/OpenCL/vendors && \
|
|
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
|
|
ENV NVIDIA_VISIBLE_DEVICES all
|
|
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,display
|
|
|
|
#Python
|
|
ENV PYTHONPATH $HOME/openpilot:${PYTHONPATH}
|
|
RUN dbus-uuidgen > /etc/machine-id
|
|
|
|
# we can apt-get after moving to a newer ubuntu
|
|
WORKDIR /opt/libglvnd
|
|
RUN git clone --branch="0.1.1" https://github.com/NVIDIA/libglvnd.git . && \
|
|
./autogen.sh && \
|
|
./configure --prefix=/usr/local --libdir=/usr/local/lib/x86_64-linux-gnu && \
|
|
make -j"$(nproc)" install-strip && \
|
|
find /usr/local/lib/x86_64-linux-gnu -type f -name 'lib*.la' -delete
|
|
|
|
ENV LD_LIBRARY_PATH /usr/local/lib/x86_64-linux-gnu:/usr/local/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
|
|
|
# get same tmux config used on NEOS for debugging
|
|
RUN cd $HOME && \
|
|
wget https://raw.githubusercontent.com/commaai/eon-neos-builder/master/devices/eon/home/.tmux.conf
|
|
|
|
RUN mkdir -p $HOME/openpilot
|
|
|
|
COPY SConstruct $HOME/openpilot/
|
|
|
|
COPY ./phonelibs $HOME/openpilot/phonelibs
|
|
COPY ./laika $HOME/openpilot/laika
|
|
COPY ./laika_repo $HOME/openpilot/laika_repo
|
|
COPY ./rednose $HOME/openpilot/rednose
|
|
COPY ./common $HOME/openpilot/common
|
|
COPY ./models $HOME/openpilot/models
|
|
COPY ./opendbc $HOME/openpilot/opendbc
|
|
COPY ./cereal $HOME/openpilot/cereal
|
|
COPY ./panda $HOME/openpilot/panda
|
|
COPY ./selfdrive $HOME/openpilot/selfdrive
|
|
COPY ./tools $HOME/openpilot/tools
|
|
|
|
WORKDIR $HOME/openpilot
|
|
RUN scons -j40
|