Installation ============ Prepare the workspace once, then continue to :doc:`/getting-started/first-simulation`. The Docker workflow uses Linux containers on both platforms. On Windows, CARLA runs on the Windows host and the CAVISE commands run in Ubuntu under WSL2. Platform Requirements --------------------- The current CARLA image and OpenCDA client use **CARLA 0.9.16**. Keep the server, Python client, and additional maps on the same release. The OpenCDA images use Ubuntu 24.04 and CUDA 13.0.3. The host setup script needs Python 3.10 or newer. The supplied Compose configuration requests an NVIDIA GPU. Install a driver compatible with the image's CUDA runtime. Image builds, CARLA maps, and model checkpoints require substantial disk space. Download only the components and models needed for your experiment. .. tab-set:: :sync-group: os .. tab-item:: Linux :sync: linux Install Git, Python with venv support, Docker Engine with the Compose v2 plugin, and the NVIDIA Container Toolkit. Follow the `Docker Engine installation guide `_ and `NVIDIA Container Toolkit guide `_. CARLA runs in the ``carla`` container. GUI programs also need a working X11/XWayland display. See :doc:`troubleshooting` for display diagnostics. .. tab-item:: Windows :sync: windows Install WSL2 with Ubuntu and Docker Desktop. Enable Docker Desktop's WSL2 backend and integration with your Ubuntu distribution. Follow `Docker's GPU setup guide `_. In **Windows PowerShell**, check the WSL version: .. code-block:: powershell wsl --version wsl --list --verbose Install Git and Python with venv support inside Ubuntu. Keep the CAVISE checkout in the WSL filesystem, for example ``~/CAVISE``. Download the **Windows package for CARLA 0.9.16** and the matching additional maps using the `CARLA package instructions `_. Install the maps into the extracted CARLA package, including Town06 used by these guides. No Windows Python environment is needed to run the server. Map queries and scenario control below use the client in the OpenCDA container. Check the host environment from **Linux Bash or Ubuntu in WSL2**: .. code-block:: bash git --version python3 --version docker version docker compose version nvidia-smi ``docker version`` must report a reachable server. Host ``nvidia-smi`` alone does not prove container GPU access. The first-run guide checks it inside OpenCDA as well. Clone the Workspace ------------------- Run in **Linux Bash or Ubuntu in WSL2**: .. code-block:: bash git clone https://github.com/CAVISE/CAVISE.git cd CAVISE python3 -m venv venv source venv/bin/activate python -m pip install -r requirements.txt python setup.py Setup asks for a branch or tag for ``opencda``, ``opencood``, ``sumo``, ``artery``, and ``scenario-manager``. Choose compatible versions. The current main branches use separate OpenCOOD and models repositories. Existing directories are skipped. **Running setup again does not update an existing checkout.** When upgrading, review local changes and update each component deliberately. See :doc:`/reference/runtime` for selective setup and version flags. Workspace Paths --------------- Run ``run.sh`` from the CAVISE root, where ``paths.conf`` resides. It loads paths from that file and selects the appropriate Compose configuration. The standard layout is: .. code-block:: text CAVISE/ ├── paths.conf ├── run.sh ├── opencda/ ├── opencood/ ├── sumo/ ├── artery/ ├── scenario-manager/ └── models/ # created when needed ``models`` is not cloned by setup. ``run.sh up`` prepares its bind-mount directory. OpenCDA fetches requested bundles at runtime. See :doc:`/models` for offline use and custom checkpoints. Next: :doc:`/getting-started/first-simulation` builds only the images needed for a CARLA/OpenCDA scenario.