Pin seven independently reviewed replay outputs to the unchanged recorded inputs and baseline provenance. Correct Subaru test helper cleanup without changing native admission rules. Declare the exact generated pandad test executable in the build-output inventory. Run the unchanged whole-target RELEASE workload in sixteen mandatory shards, retaining all cases, assertions, skip and provenance gates, and existing deadlines. Refresh the canonical protected inventory receipt. Native qualification completed 10,211 passed and 115 existing skips across all sixteen bins; fresh source-bound hosted CI remains required.
openpilot tools
For StarPilot's ./build, ./dev, ./onroad, ./c3, and ./c4 workflows,
see StarPilot developer commands.
System Requirements
openpilot supports Linux alongside the supported embedded hardware.
Most of openpilot should work natively on macOS. On Windows, you can use WSL for a nearly native Linux experience.
Native setup on Linux 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
WSL on Windows
Windows Subsystem for Linux (WSL) should provide a similar experience to native Linux. WSL 2 specifically has been reported by several users to be a seamless experience.
Follow these instructions to set up WSL. We recommend installing the Ubuntu-24.04 distribution. Once your WSL environment is set up, follow the Linux setup instructions to finish setting up your environment. See these instructions for running GUI apps.
NOTE: If you are running WSL 2 and experiencing performance issues with the UI or simulator, you may need to explicitly enable hardware acceleration by setting GALLIUM_DRIVER=d3d12 before commands. Add export GALLIUM_DRIVER=d3d12 to your ~/.bashrc file to make it automatic for future sessions.
CTF
Learn about the openpilot ecosystem and tools by playing our CTF.
Directory Structure
├── car_porting/ # Tools for porting new cars
├── release/ # Scripts for building openpilot releases
└── scripts/ # Miscellaneous scripts
Development tools such as cabana, plotjuggler, and replay live in openpilot/tools/:
├── 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
└── sim/ # Run openpilot in a simulator