Run BobSim Without Docker
Use this page to run the BobSim app directly on your machine, from a source checkout or from the released desktop app. Both need a local OpenModelica to simulate. The Docker path does not.
| Path | Python | OpenModelica | Files go to |
|---|---|---|---|
Source checkout with RUN= | Your Python 3.11 environment | Local install | The repository checkout |
| Released desktop app | Bundled | Local install | A per-user runtime root |
Run The App From A Source Checkout
RUN= empties the Docker prefix, so a target runs directly on your machine.
Create a Python 3.11 environment with the BobSim dependencies:
bashpython -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txtOn Windows PowerShell, activate with
.venv\Scripts\Activate.ps1instead.Start the app:
bashmake app RUN=
Without a local OpenModelica, the Simulation view stays locked. The rest of the app works.
RUN= works the same way for the simulation targets, for example make standard-eval-all RUN=. They then need a local omc with the exact library versions. GitHub Actions uses RUN= for its fast gate (make lint RUN=, make typecheck RUN=, make test RUN=).
Run The Released Desktop App
The GitHub Release has a desktop build of the app. It bundles its own Python and does not use Docker. To simulate, it needs a local OpenModelica. See Install OpenModelica.
- Download the asset for your operating system.
- Extract it.
- Run
BobSim.exeon Windows,BobSim.appon macOS, orBobSimon Linux.
| Asset detail | Value |
|---|---|
| Name | BobSim-<version>-<os>-<arch>, for example BobSim-<version>-windows-x86_64.zip |
| Archive format | .zip on Windows and macOS, .tar.gz on Linux |
| Checksum | A .sha256 file next to each asset |
| macOS architecture | Apple Silicon (arm64) |
The desktop app starts the same local server as make app, picks a free port, and opens it in an embedded window. If that window is not available, it opens your default browser. On Linux the embedded window needs GTK (gi) or PyQt6-WebEngine.
The desktop app keeps its files in a per-user runtime root, not in a repository:
| Platform | Runtime root |
|---|---|
| Windows | %LOCALAPPDATA%\BobDyn\BobSim |
| macOS | ~/Library/Application Support/BobDyn/BobSim |
| Linux | ${XDG_DATA_HOME:-~/.local/share}/BobDyn/BobSim |
Set BOBSIM_HOME to put it somewhere else.
Install OpenModelica
Install OpenModelica, then install the exact library versions in the OpenModelica shell:
installPackage(Modelica, "4.1.0", exactMatch=true);
installPackage(VehicleInterfaces, "2.0.2", exactMatch=true);Point The App At OpenModelica
The app looks for OpenModelica every time it checks status. It searches the usual install locations and these environment variables:
| Variable | Sets |
|---|---|
BOBSIM_OMC, or OMC | The omc executable |
BOBSIM_OPENMODELICA_HOME, or OPENMODELICAHOME | The OpenModelica install directory |
BOBSIM_OPENMODELICA_LIBRARY | The library directory |
If detection finds nothing, set the paths by hand:
- Click
OpenModelicain the top bar to open theToolchaindialog. The dialog lists the candidate paths it found. - Set omc executable:
omc.exeon Windows,omcelsewhere. - Set Library directory: the folder where
installPackageput Modelica and VehicleInterfaces. - Click
Save.
| Platform | Typical library directory |
|---|---|
| Windows | %APPDATA%\.openmodelica\libraries |
| macOS | ~/.openmodelica/libraries |
| Linux | ~/.openmodelica/libraries |
On Save, BobSim checks that the executable runs and that both required libraries are present. If a library is missing, it names it. Auto clears your manual paths and goes back to automatic detection.
The check does not compare versions
The toolchain check only looks for the library folders. A wrong version passes the check and then fails at build time.
Next Pages
- BobSim Startup Problems if the app or the toolchain check fails
- BobSim Use Guide for the daily workflow
- Development for local Python and desktop release builds
