You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
#!/usr/bin/env bash
|
|
|
|
# pull base image
|
|
if [[ -z $USE_LOCAL_IMAGE ]]; then
|
|
echo "Updating openpilot_base image if needed..."
|
|
docker pull ghcr.io/commaai/openpilot-base:latest
|
|
fi
|
|
|
|
# setup .host dir
|
|
mkdir -p .devcontainer/.host
|
|
|
|
# setup links to Xauthority
|
|
XAUTHORITY_LINK=".devcontainer/.host/.Xauthority"
|
|
rm -f $XAUTHORITY_LINK
|
|
if [[ -z $XAUTHORITY ]]; then
|
|
echo "XAUTHORITY not set. Fallback to ~/.Xauthority ..."
|
|
if ! [[ -f $HOME/.Xauthority ]]; then
|
|
echo "~/.XAuthority file does not exist. GUI tools may not work properly."
|
|
touch $XAUTHORITY_LINK # dummy file to satisfy container volume mount
|
|
else
|
|
ln -sf $HOME/.Xauthority $XAUTHORITY_LINK
|
|
fi
|
|
else
|
|
ln -sf $XAUTHORITY $XAUTHORITY_LINK
|
|
fi
|
|
|
|
# setup host env file
|
|
HOST_INFO_FILE=".devcontainer/.host/.env"
|
|
SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
echo "HOST_OS=\"$SYSTEM\"" > $HOST_INFO_FILE
|
|
echo "HOST_DISPLAY=\"$DISPLAY\"" >> $HOST_INFO_FILE
|
|
|
|
# run virtualgl if macos
|
|
if [[ $SYSTEM == "darwin" ]]; then
|
|
echo
|
|
if [[ -f /opt/VirtualGL/bin/vglclient ]]; then
|
|
echo "Starting VirtualGL client at port 10000..."
|
|
VGL_LOG_FILE=".devcontainer/.host/.vgl/vglclient.log"
|
|
mkdir -p "$(dirname $VGL_LOG_FILE)"
|
|
/opt/VirtualGL/bin/vglclient -l "$VGL_LOG_FILE" -display "$DISPLAY" -port 10000 -detach
|
|
else
|
|
echo "VirtualGL not found. GUI tools may not work properly. Some GUI tools require OpenGL to work properly. To use them with XQuartz on mac, VirtualGL needs to be installed. To install it run:"
|
|
echo
|
|
echo " brew install --cask virtualgl"
|
|
echo
|
|
fi
|
|
fi
|
|
|