VANET Simulation Setup in 2026: The Command Reference
This is the companion reference to the YouTube tutorial on setting up OMNeT++, SUMO, Veins, and INET with opp_env on Fedora Linux. Watch the video for the full walkthrough and context: Getting Started with OMNeT++, INET, Veins, and SUMO (2026 Edition). Keep this open in a second window while you follow along.
Prerequisites
- Fedora Linux (this guide is Fedora-specific)
- Python 3 and pip (ships with Fedora by default)
- Internet connection (opp_env downloads and compiles everything)
Step 1: Install Nix
Use the Determinate Systems installer. It handles Fedora's SELinux out of the box, which the standard Nix installer does not.
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
Follow the prompts. When it finishes, close your terminal and open a new one.
Verify:
nix --version
Step 2: Install opp_env
Make sure pip is up to date:
pip install --upgrade pip
Install opp_env:
pip install opp-env
If you hit an externally-managed-environment error:
pip install --user opp-env
Add your local bin to PATH:
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
These two commands produce no output. Silence means they worked.
Verify:
opp_env --version
Step 3: Install the full VANET stack
One command installs OMNeT++, SUMO, Veins, and INET with compatible versions resolved automatically:
opp_env install -w vanet-workspace --init veins-latest
This takes a while. opp_env uses Nix under the hood and compiles everything in an isolated environment. Let it run.
Step 4: Enter the simulation environment
Every time you want to work on your simulation:
cd vanet-workspace
opp_env shell
Your prompt changes when you are inside the environment. All tools are on your PATH from here.
Step 5: Open the OMNeT++ IDE
From inside the opp_env shell:
omnetpp
If the Veins project is not visible in the Project Explorer, import it manually: File, Import, General, Existing Projects into Workspace, Browse to the Veins directory inside vanet-workspace, Finish.
Step 6: Run your first simulation
Start the Veins launch daemon first. This must be running before you launch any simulation. From inside the opp_env shell:
veins_launchd -vv -c $(which sumo)
You should see:
Listening on port 9999
Leave this terminal open.
Then run the example scenario in the OMNeT++ IDE. Navigate to the Veins project, open the simulations folder, and find erlangen.ini. Right-click, Run As, OMNeT++ Simulation. Choose the Release configuration when prompted.
SUMO opens with a road network and vehicles moving. OMNeT++ runs alongside it. If both are running, your stack is working.
Troubleshooting reference
TraCI connection refused
veins_launchd is not running, or you are not inside the opp_env shell. Run this before anything else:
opp_env shell
Then start the launch daemon:
veins_launchd -vv -c $(which sumo)
NED file not found
Project references are not set. In OMNeT++, right-click your project, go to Properties, Project References, and check both inet and veins.
opp_env command not found
Your ~/.local/bin is not on your PATH. Run:
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
Nix install fails on Fedora
SELinux conflict with the standard Nix installer. Use the Determinate Systems installer instead:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
Simulation runs slowly
You are in the Debug configuration. Switch to Release when the dialog prompts you, or go to Project, Build Configurations, Set Active, Release.
Links
- opp_env: https://github.com/omnetpp/opp_env
- opp_env documentation: https://oppenv.omnetpp.org/
- Determinate Systems Nix installer: https://install.determinate.systems
- Veins: https://veins.car2x.org
- Veins compatibility matrix: https://veins.car2x.org/download/
- OMNeT++ download: https://omnetpp.org/download/