openpilot/tools
github-actions[bot] 1f7233cb98 sunnypilot v0.10.1
version: sunnypilot v0.10.1 (staging-tici)
date: 2025-10-13T01:35:37
master commit: 737a6c4236e843034680c951005b38d15815363f
2025-10-13 01:35:37 +00:00
..
bodyteleop sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
cabana sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
camerastream sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
car_porting sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
clip sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
joystick sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
lib sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
longitudinal_maneuvers sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
plotjuggler sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
profiling sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
replay sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
scripts sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
sim sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
tuning sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
webcam sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
__init__.py sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
auto_source.py sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
CTF.md sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
install_python_dependencies.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
install_ubuntu_dependencies.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
mac_setup.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
op.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
README.md sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
setup.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00
ubuntu_setup.sh sunnypilot v0.10.1 2025-10-13 01:35:37 +00:00

openpilot tools

System Requirements

openpilot is developed and tested on Ubuntu 24.04, which is the primary development target aside from the supported embedded hardware.

Most of openpilot should work natively on macOS. On Windows you can use WSL for a nearly native Ubuntu experience. Running natively on any other system is not currently recommended and will likely require modifications.

Native setup on Ubuntu 24.04 and macOS

Follow these instructions for a fully managed setup experience. If you'd like to manage the dependencies yourself, just read the setup scripts in this directory.

1. Clone openpilot

git clone https://github.com/commaai/openpilot.git

2. Run the setup script

cd openpilot
tools/op.sh setup

3. Activate a Python shell Activate a shell with the Python dependencies installed:

source .venv/bin/activate

4. Build openpilot

scons -u -j$(nproc)

WSL on Windows

Windows Subsystem for Linux (WSL) should provide a similar experience to native Ubuntu. WSL 2 specifically has been reported by several users to be a seamless experience.

Follow these instructions to setup the WSL and install the Ubuntu-24.04 distribution. Once your Ubuntu WSL environment is setup, follow the Linux setup instructions to finish setting up your environment. See these instructions for running GUI apps.

NOTE: If you are running WSL and any GUIs are failing (segfaulting or other strange issues) even after following the steps above, you may need to enable software rendering with LIBGL_ALWAYS_SOFTWARE=1, e.g. LIBGL_ALWAYS_SOFTWARE=1 selfdrive/ui/ui.

CTF

Learn about the openpilot ecosystem and tools by playing our CTF.

Directory Structure

├── cabana/             # View and plot CAN messages from drives or in realtime
├── camerastream/       # Cameras stream over the network
├── joystick/           # Control your car with a joystick
├── lib/                # Libraries to support the tools and reading openpilot logs
├── plotjuggler/        # A tool to plot openpilot logs
├── replay/             # Replay drives and mock openpilot services
├── scripts/            # Miscellaneous scripts
├── serial/             # Tools for using the comma serial
├── sim/                # Run openpilot in a simulator
└── webcam/             # Run openpilot on a PC with webcams