This repo contains the source code to SimBridge
Please make sure you have:
NodeJS 18 - Homepage
# Install all dependencies
$ npm install
# Build all packages
$ npm run build
# Optional: download the terrain database used for TERR ON ND / VD
$ npm run fetch:terrain
# Start server, to use interfaces you need to build them beforehand
$ npm run start
# Wipe build/ and dist/ folders, build all packages, package to exe and copy dependencies/resources to build folder
$ npm run build:exec
# Package to exe and copy dependencies/resources to build folder, without rebuilding
$ npm run install:exec
SimBridge is primarily a Windows companion for MSFS, but this tree runs natively on Linux (for example next to MSFS in Proton). HTTP features such as the remote MCDU, company routes, charts, and terrain via the aircraft SimBridge client work without the Windows SimConnect SDK.
# Native build tools (names vary by distro)
# Debian/Ubuntu: build-essential python3 pkg-config libgl1-mesa-dev libxi-dev
# Arch/Manjaro: base-devel mesa libxi pkgconf
# Terrain GPU (headless-gl) is built for Node 18. Use nvm:
nvm install 18
nvm use 18
npm install
npm run build
npm run fetch:terrain # optional, large terrain.map download
npm startData and logs default to ~/Documents/FlyByWireSim/Simbridge, with a fallback to
~/.local/share/FlyByWireSim/Simbridge. Point the aircraft EFB at http://<linux-host>:8380.
Notes:
-
TERR ON ND talks to SimBridge over SimConnect, not HTTP (MCDU is HTTP/WebSocket). On Linux, SimBridge uses
node-simconnectover TCP. Proton cannot bind privileged port 500, so you must expose SimConnect on port 5111:node scripts/setup-simconnect.js # patches Proton SimConnect.xml + writes ~/SimConnect.cfg # restart MSFS, then: npm start
Look for
Connected to MSFS via SimConnect TCPand laterReceiving aircraft status from MSFS. Override withSIMCONNECT_HOST/SIMCONNECT_PORTif needed. -
Printing uses CUPS (
lp/lpstat) instead of SumatraPDF. -
The tray icon is skipped on headless sessions (no
DISPLAY/WAYLAND_DISPLAY). -
GPU.js uses headless-gl. That native addon is ABI-specific;
npm startre-launches with Node 18 from nvm when the current Node is newer (e.g. distro Node 26). Without Node 18, the rest of SimBridge still runs and the terrain worker stays up, but TERR ON ND/VD is off.
Start the server and direct to localhost:8380/api for API documentation