mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-20 20:43:54 +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>
old-commit-hash: c5dfbe7a72
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
|