Skip to content

psyraxaus/Prosim2GSX

Β 
Β 

Repository files navigation

Prosim2GSX


Full and proper GSX Integration and Automation for the ProSim A320!

  • The Refuel Service is filling the Tanks as planned (or more correctly GSX and ProSim are "synched")
  • Calling Boarding load's Passengers and Cargo, as does Deboarding for unloading (or more correctly GSX and ProSim are "synched")
  • Ground Equipment (GPU, Chocks, PCA) is automatically set or removed
  • All Service Calls can be automated β€” including Pushback Direction (cockpit-style Korry buttons on the OFP tab) and De-Icing (auto-answer + fluid selection)
  • Arrival Gate can be assigned from the OFP tab β€” Prosim2GSX drives both ATC (via SayIntentions) and GSX (via an in-sim Stackless Python handler installed automatically)
  • Flight Plan loading via the INIT page on the web interface β€” enter Departure / Arrival on the MCDU or hit FETCH OFP in the web UI; Prosim2GSX pulls the OFP from SimBrief and writes it into ProSim. Replaces the legacy ProSim-EFB import workflow and is the only path with per-field overrides (ZFW / Block Fuel / Pax / Cargo)
  • Using the INT/RAD Switch as a Shortcut for certain GSX Interactions (i.e. call / confirm Pushback)
  • GSX Audio and ATC Volume can be controlled via the INT/VHF1-Knob from the ACP in the Cockpit (driven directly from ProSim datarefs β€” no LVAR poller, no separate startup-state to configure)
  • Applications can be freely mapped to Audio-Channels β€” either via CoreAudio (per-process) or VoiceMeeter Remote API (per-strip/bus), selectable per install
  • Can be used, within certain Limits, with the native Integration
  • Supports to use the Volume Control without having GSX installed or running (or to solely use the native Integration)
  • Embedded Web Interface β€” full operational surface (INIT, LOADSHEET, W&B, FUEL, TAKEOFF, LANDING, OFP, CHECKLISTS, settings) in any LAN browser (phone, tablet, second PC). QR-code onboarding, bearer-token auth, loopback-only by default. Designed for headless sim-PC setups where the WPF window isn't reachable.

Where to find each feature. The WPF window covers Flight Status, OFP (with a read-only flight-plan summary), Checklists, GSX Settings, Aircraft Profiles, Audio Settings, and App Settings. The advanced EFB features β€” INIT (flight-plan fetch + per-field overrides), LOADSHEET, W&B, FUEL, TAKEOFF (Airbus-style V-speed calculator with one-click FMS uplink), and LANDING (landing-distance calculator) β€” live on the embedded web interface (Section 3). Enable the web server in App Settings to use them.



1 - Introduction

1.1 - Requirements

  • Windows 10/11, MSFS 2020/2024, ProSim A320 latest πŸ˜‰
  • A properly working and updated GSX Installation. GSX Pro v4.0.0 or newer is required β€” Prosim2GSX is built against the GSX Pro v4.0.0 menu layout and handler-script API. The in-sim arrival-gate handler, the ground-services menu automation, and the VDGS / de-icing integrations all assume v4.0.0.
  • Capability to actually read the Readme up until and beyond this Point 😜
  • The Installer will install the following Software automatically:
    • .NET 10 Desktop Runtime (x64) - Reboot your System if it was installed for the first Time

Download here

(Under Assests, the Prosim2GSX-Installer-vXYZ.exe File)

1.2 - Installation, Update & Removal

Just Download & Run the Installer Binary! It will check and install all Requirements the App (or remove it). Your existing Configuration persists through Updates.
On the second Installer Page you can select if Auto-Start should be set up for Prosim2GSX (recommended for Ease of Use). On a fresh install (or an update where the path is missing) the same page also asks for the ProSim SDK location and β€” optionally β€” the VoiceMeeter Remote DLL path if you want to use VoiceMeeter as the audio backend. Both fields try to auto-detect; both can be left/changed later from the WPF tabs.
You do not need to remove the old Version for an Update (unless instructed) - using 'Remove' in the Installer completely removes Prosim2GSX and removes it from Auto-Start. This also removes your Configuration including Aircraft Profiles and saved Fuel!

It is highly likely that you need to Unblock/Exclude the Installer & App from BitDefender and other AV-/Security-Software.
DO NOT run the Installer or App "as Admin" - it might work, it might fail.

When Upgrading from Versions before 0.5.0:

  • Remove the old Version first (with the new Installer)!
  • You only need to backup your old Config if you want to go back (the old and new Config Formats are incompatible)
  • The MobiFlight Module is not required anymore, the Installer will offer an Option to remove it - if MF Connector and PilotsDeck are not detected.
  • Even then it is your Responsibility to know if the MobiFlight Module is not required for other Addons on your System and safe to remove!

The Installer also drops a small gsx_handler.py script into each %appdata%\Virtuali\Airplanes\prosim-a322-* profile folder. GSX Pro loads this at sim start and uses it to read the user-confirmed arrival gate from Prosim2GSX over loopback HTTP (see Section 2.3.3). The handler is always refreshed on update, even if you opted out of overwriting GSX profiles.


Prosim2GSX will display a little Exclamation Mark on its SysTray/Notification Area Icon if a new Version (both Stable and Development) is available. There is no Version Pop-Up and there will never be.

1.3 - Auto-Start

When starting it manually, please do so when MSFS is loading or in the Main Menu.
To automatically start it with FSUIPC or MSFS, select the respective Option in the Installer. Just re-run it if you want to change if and how Prosim2GSX is auto started. Selecting one Option (i.e. MSFS) will also check and remove Prosim2GSX from all other Options (i.e. FSUIPC), so just set & forget.
For Auto-Start either your FSUIPC7.ini or EXE.xml (MSFS) is modified. The Installer does not create a Backup (not deemed neccessary), so if you want a Backup, do so yourself.

1.3.1 - Addon Linker

If you use Addon Linker to start your Addons/Tools, you can also add it there:
Program to launch C:\Users\YOURUSERNAME\AppData\Roaming\Prosim2GSX\bin\Prosim2GSX.exe
Wait for simconnect checked
The Rest can be left at Default.

1.4 - Release & Dev/Beta Versions

There are two Version Channel for Updates to be released:

  1. The "Dev" or "Beta" Version is located in the Source Files as Prosim2GSX-Installer-latest
  2. The "Release" or "Stable" Version is located under Releases (Under Assests, the Prosim2GSX-Installer-vXYZ.exe File)

Whenever there is a new Commit to Code, the -latest Installer will contain these Changes. For example Fixes to open Issues, Changes for ProSim or GSX Updates or new Features added. So that these Changes & Fixes can be tested publicly.
After some Time and positive/good Feedback, all these Changes will be published as the Release Version.
So some general Rule-of-Thumbs:

  • Most Users should use the Release Version
  • If experiencing an Issue, then try if the Dev Versions works better
  • When eager to test new Stuff as soon as possible, you're welcome to use the Dev Version, as long as you understand it as something that is being worked on πŸ˜‰




2 - Configuration

2.1 - ProSim EFB

Make sure your Default State is set to either Cold & Dark or Turn-Around with GPU or APU - GSX won't provide any Services when the Engines are running.
All other relevant EFB Options will automatically be disabled by Prosim2GSX (including Audio Mappings). Note that they are not re-enabled!



2.2 - GSX Pro

  • Prosim2GSX includes custom GSX Aircraft Profiles for all three A322 variants (CFM, IAE, NEO) which are installed automatically to %appdata%\Virtuali\Airplanes during installation. If existing profiles are detected, the installer will ask whether you want to overwrite them.
  • It is recommended (but not required) to enter your SimBrief Username and have Ignore Time checked to have correct Information on the VDGS Displays.
  • The De-/Boarding Speed of Passengers is dependant on the Passenger Density Setting (GSX In-Game Menu -> GSX Settings -> Timings). Higher Density => faster De/Boarding (But "Extreme" can be to extreme in some Cases).
  • Ensure the other two Settings under Timings are on their Default (15s, 1x).
  • As with GSX itself, Prosim2GSX runs best when you have a proper Airport Profile installed!
  • Up to everyone's Preference, but disabling the Aural Cues (GSX In-Game Menu -> GSX Settings -> Audio) and setting Message verbosity to "only Important" (GSX In-Game Menu -> GSX Settings -> Simulation) can improve Immersion! πŸ˜‰

GSX Settings - Simulation

The following settings should be configured on the Simulation tab (GSX In-Game Menu -> GSX Settings -> Simulation):

Enabled (checked):

  • Multiple trips
  • Airport walkers
  • Good engine start confirmation
  • Speed up far vehicles
  • Pushback Wingwalkers
  • Progressive taxi AI rerouting
  • Loaders stay until departure

Disabled (unchecked):

  • Estimate passengers number
  • Always refuel progressively
  • Detect custom aircraft system refueling
  • Assistance services Auto Mode
  • Auto Mode ignore doors
  • Automated staircases
  • Automated reposition
  • Ignore wingspan when parking
  • Always ask for pushback
  • FollowMe disable flee
  • Disable rear staircases if jetway
  • Connect Pushback on Boarding
  • Ignore crew in boarding/deboarding
  • Disable GSX in cruise
  • Ignore icing condition in Pushback



2.3 - Prosim2GSX

The Configuration is done through the GUI, open it by clicking on the System-Tray/Notification-Icon. You do not need to configure anything to start using Prosim2GSX - although it is recommended to get yourself familiar with the Settings. Change them to your Preferences in order to improve your Experience. The default Settings aim to maximize Automation respectively minimize GSX Interaction. All Options have ToolTips to explain them further.
Everything is stored persistently in the AppConfig.json File in the Application's Folder - so backup that File in order to backup your Settings!


The GUI uses a modern EFB-style card layout with a left-hand navigation tab strip. The interface is fully themeable β€” select from the built-in themes (Light, Dark, and several airline-inspired options such as Delta, Finnair, Lufthansa and Qantas) or create your own by dropping a JSON file into the Themes folder beside the executable. See Themes/THEMES.md for full documentation on creating custom themes.

Light theme Dark theme



Allmost all Settings regarding GSX, ProSim and the general Automation can be found in the 'GSX Settings' View. All Settings in this View are stored in a Profile.
The 'OFP' View shows the loaded Operational Flight Plan, lets you assign an Arrival Gate to ATC and GSX, and shows ATIS / METAR for Departure and Arrival when SayIntentions is enabled.
You can have many different Profiles which are automatically loaded depending on the current Aircraft's Registration, Title or Airline. To manage these Profiles use the 'Aircraft Profiles' View.
In order map Applications to the different ACP Audio Channels, use the 'Audio Settings' View. The Audio Settings are global - thay apply to all Profiles. Volume Control is generally independent from the GSX Integration/Automation.
All central Settings regarding the Application (so applying to all Profiles) are found in the 'App Settings' View. The Theme selector and the Use SayIntentions toggle are also located here β€” Theme changes apply immediately without a restart.

Most Settings can be changed dynamically on the Fly, BUT: only change Settings not relevant in the current Automation/Flight Phase. For Example do not change the Departure Services in the Departure Phase and do not change Profiles while Services are active.

In general, it is up to your Preference how much Automation you want. I you want to keep Control of when Services are Called and/or the Jetway is connected, you can still enjoy the (De-)Boarding and Refueling Syncronization when the Automation-Options are disabled. The only Automation which can not be disabled: The Removal of the Ground-Equipment is always active to assist with Departure & Push-Back and Arrival.



2.3.1 - GSX Settings

These are basically the core Settings to customize the Automation to your own Service-Flow. All Settings in this View are associated to an Aircraft Profile. The currently loaded Profile's Name is displayed on the Category Selection.
The Settings are grouped into different Categories:

Gate & Doors

Handling if and when the Jetway and or the Stairs are called or removed.
It also allows you to completely disable the Door Automation. But even then the Doors will automatically be closed when Pushback or Deice become active!


Ground Equipment

Configure the Chock-Delay, PCA Handling or the Removal when the Beacon is turned on.
Note: Basic Ground Equipment Handling (GPU, Chocks) is always active and can not be disabled. Prosim2GSX will automatically place or remove the Equipment on Startup, during Pushback and on Arrival.
When the Beacon-orchestrated Pushback Sequence is enabled (default β€” see Section 4.1.4), GPU / PCA / Chocks removal happens as part of the sequence's GPU step with its own random delay, rather than on the legacy beacon gate. Either way, the underlying safety interlocks (GPU needs External Power off; Chocks need Brake set) still apply.


GSX Services

Configure how the GSX Services are handled:

  • Reposition on Startup (either use Prosim2GSX for that or the GSX Setting - but not both!)
  • The Service Activation (if and when) and Order of the Departure Services (Refuel, Catering, Boarding as well as Lavatory & Water)
  • If the Departure Services should already be called while Deboarding
  • How Refueling is handled: with a fixed Rate, a fixed Time Target or via Refuel Panel (or if the GSX Service is called at all to support Tankering)
  • With the Refuel Panel Method, the Rate is determined by the EFB Settingn
  • If and when Pushback should be called automatically
  • The Beacon-orchestrated Pushback Sequence (SequenceOnBeacon, default on) and the random per-step delay bounds for Doors close, Jetway retract, and GPU disconnect (see Section 4.1.4 for the full flow)

De-Icing

When Automatically respond Yes to GSX de-icing request is enabled, Prosim2GSX answers the GSX de-icing prompt for you and selects the configured Fluid + concentration (e.g. Type IV 100%). When disabled (default), the de-icing menu is left open for manual selection β€” i.e. the legacy behaviour. Matching is done against the GSX de-icing type menu by text, so any fluid GSX exposes as a menu line is supported.


Operator Selection

Enable or Disable the automatic Operator Selection. You can also define Preferences to control which Operator is picked by Prosim2GSX! If no preferred Operator is found, it will use the 'GSX Choice' in the Menu.
The Preferred Operator List Operator List works only on the Name of the Operator as seen in the GSX Menu!
The Strings you add to the Preferred Operator List will be used in a (case insensitive) Substring-Search - so does Name listed in the Menu contains that Text. The List is evaluated from Top to Bottom - so the higher of two available Operator is choosen.


Company Hubs

Manage a List of Airport ICAO Codes which define "Company Hubs" for this Aircraft Profile. 1 to 4 Letters per Code.
The Codes are matched in the Order of the List, from Top to Bottom. For each Code, the Departure ICAO is matched if it starts (!) with the Code - so you can define whole Regions.
If your current Departure Airport is matched, Departure Services with the "Only on Hub" Constraint will be called. Consequently, Services with the "Only on Non-Hub" Constraint, will only be called if the Airport is not matched.


Skip Questions

All Options related to skip / automatically Answer certain GSX Questions or Aircraft Interactions: Crew Question, Tug Question, Follow-Me Question, ProSim Cabin-Calls and reopen the Pushback Menu.


Aircraft Options

Delay for the Final Loadsheet, Save & Load of the Fuel on Board, Randomization of Passengers on OFP Import.
By default, Prosim2GSX saves the FOB per Aircraft Registration upon Arrival. When you load the same Registration in another Session, it will load/restore the last saved FOB on Startup. If no saved Fuel Value can be found, it uses the Default Value set under App Settings (3000kg).



2.3.2 - INIT (EFB Flight Planning) β€” Web Interface only

The INIT page is the canonical place to load a SimBrief OFP into ProSim. It replaces the import button in the ProSim EFB β€” you can keep using the EFB if you prefer, but INIT is the recommended path going forward and is the only path with per-field override support.

Two entry points feed the same fetch logic:

  • MCDU β€” entering Departure / Arrival on the MCDU (aircraft.fms.origin / aircraft.fms.destination) automatically triggers a SimBrief fetch using the user ID configured in ProSim's EFB.
  • FETCH OFP button on the INIT page β€” manual fetch on demand. Useful when the OFP changed on simbrief.com and you want to pull the new copy without re-typing the route into the MCDU.

Either path:

  1. Calls SimBrief with your user ID
  2. Parses the returned OFP
  3. Writes the planned values to the ProSim EFB datarefs (planned pax, planned cargo, planned fuel) so downstream systems (W&B, loadsheet, GSX) see the right numbers
  4. Caches the parsed OFP in-memory and broadcasts on the WS feed

The page is laid out FMS-style in two columns:

  • Left ("ACTIVE / INIT") β€” flight info: FLT NBR, FROM / TO / ALTN, RWY OUT/IN, CALLSIGN, CRZ FL, CI, CPNY RTE, STD, ETA, status indicator with the OFP source (MCDU / MANUAL / SIMBRIEF).
  • Right ("DATA / STATUS") β€” aircraft type, registration, weights and fuels: ZFW, OEW, FUEL RAMP / TRIP / MIN / EXTRA, PAX, CARGO. Override-active fields render in amber-orange; unmodified OFP values in green.

Action buttons:

  • FETCH OFP β€” manual SimBrief fetch
  • SYNC TO FMS β€” pushes effective ZFW + block fuel to the FMS init datarefs (aircraft.fms.init.zfw, aircraft.fms.init.block). Idempotent
  • CLEAR OVERRIDES β€” drops every per-field override and re-applies the OFP values to ProSim
  • RESET FLIGHT β€” clears the in-memory OFP cache and any overrides. Also auto-fires on flight-cycle shutdown so a fresh session starts clean

Per-field overrides (ZFW / Fuel Ramp / Pax / Cargo) write to the matching ProSim dataref the moment they're committed β€” explicit pilot intent, no SYNC TO FMS click required. Clearing an override re-writes the SimBrief value back. Other displayed fields (trip / contingency / min / extra fuel etc.) are display-only β€” there are no FMS init datarefs to push them to.

A read-only summary of whichever OFP is currently loaded is mirrored on the WPF OFP tab (Section 2.3.3) so desktop users see the same situational awareness without launching a browser. Fetching, override management, and SYNC TO FMS remain web-only.

App Settings flags that affect the INIT page:

  • Auto-sync FMS on fetch (default off) β€” when on, ZFW + block fuel are pushed to the FMS init datarefs the moment a fetch completes. Off by default to give the pilot positive control via the manual SYNC TO FMS button.
  • Lock fields from OFP (default on) β€” drives the locked-row UX (click a row to unlock and edit).



2.3.3 - OFP

The OFP tab covers a read-only FLIGHT PLAN summary, gate assignment, weather, and pushback preference. The summary shows whichever OFP is currently loaded β€” flight number, route, runways, aircraft, STD/ETA, ZFW, block fuel, pax, cargo β€” sourced live from the EFB flight-plan store. Fetching, per-field overrides, and SYNC TO FMS are managed exclusively on the INIT page of the web interface (Section 2.3.2 / 3.4).

The tab populates in stages:

  • Departure / Arrival ICAO appear as soon as the Flight Plan is loaded into the MCDU (read directly from aircraft.fms.origin / aircraft.fms.destination).
  • ATIS / METAR / wind / runway are fetched from SayIntentions on tab open and via the Refresh button.
  • CPDLC logon station appears next to the Refresh button when SayIntentions returns one (it's fetched in the same round-trip as weather).
Pushback Direction

Three cockpit-style Korry buttons (TAIL LEFT / STRAIGHT / TAIL RIGHT) select the direction Prosim2GSX will auto-pick when the GSX pushback direction menu appears. Default is STRAIGHT.

  • The selection is per-Profile and persists.
  • Auto-selection happens during the Pushback Phase the moment GSX shows the direction menu β€” there is nothing else to do once the button is lit.
  • You can still pick manually in GSX if you prefer; this just removes the menu interaction when you don't want it.
  • The same three buttons are also exposed on the OFP tab of the Web Interface (see Section 3) so you can flip the choice from a phone or tablet.
Arrival Gate Assignment

Type the destination gate identifier (e.g. B38, W34A) and click Confirm. The gate is queued but not transmitted yet β€” both ATC and GSX assignments are deferred until the aircraft reaches cruise (AutomationState.Flight), where they fire automatically. You can also click Send Now at any time to push the queued gate immediately (e.g. on short final).

The two status lines beneath the buttons report each channel independently:

  • ATC β€” uses the SayIntentions assignGate API. Requires SayIntentions to be running with a flight loaded.
  • GSX β€” driven by the gsx_handler.py Stackless Python script the Installer drops into each %appdata%\Virtuali\Airplanes\prosim-a322-* profile (see Section 1.2). GSX Pro loads the handler at sim start, polls Prosim2GSX over loopback HTTP for the queued gate, and calls GSX's native selectGate() at the in-flight gate-selection and airport-entry hooks. This replaces the older menu-walking approach and is far more robust at busy airports. Requires GSX Pro v4.0.0 or newer.

If either side fails, click Send Now again β€” only the failed channel is retried.

SayIntentions Integration (optional)

SayIntentions.AI is an optional ATC-style add-on. Prosim2GSX integrates with it for two purposes: arrival gate assignment and weather (ATIS / METAR) display.

To enable:

  1. Install and run SayIntentions β€” see the SayIntentions documentation for setup. When a SimBrief OFP is loaded, SayIntentions normally starts a flight session automatically.
  2. In Prosim2GSX, open App Settings β†’ tick Use SayIntentions.

Prosim2GSX reads your API key from %LOCALAPPDATA%\SayIntentionsAI\flight.json (the flight_details.api_key field) β€” there's nothing to enter manually. The file is re-read on every API call, so the toggle becomes effective immediately without restarting the app.

Behaviour notes:

  • Arrival gate assignment requires an active SayIntentions flight session (SayIntentions running with a flight loaded β€” usually automatic when SimBrief is being used). If no session is active you'll see "No active flight could be found" on the ATC status line.
  • Weather (ATIS/METAR) does not require an active session β€” only the API key. A single API call covers both ICAOs.
  • When Use SayIntentions is unchecked, the OFP tab still works for GSX gate assignment; the ATC channel is simply skipped.
Deice Holdover (HOT)

After GSX completes a de-icing service, the OFP tab shows a Holdover Time (HOT) card. Pick the precipitation condition (active frost, freezing fog, snow, freezing drizzle, light freezing rain, rain on a cold-soaked wing) and confirm the OAT β€” pre-filled from the Takeoff performance tab when you've set it there. Prosim2GSX reads back the applied de-icing fluid type from GSX, combines it with the concentration you configured (Section 2.3.1), looks up a holdover window and counts it down live β€” flipping to an expired state when re-treatment is due.

⚠️ The HOT figures are representative of the published FAA holdover-time guideline structure, rounded for simulation immersion only. They are not a certified table and must not be used for real-world dispatch.



2.3.4 - Aircraft Profiles

The Idea behind Aircraft Profiles is to have different Automation Settings for different Operators without having the Need to change the Settings manually every time.
The Profile Name is only for display Purposes, it doesn't have a functional Impact. The Match Type defines on what Aircraft Information the Match String will be compared to. The Match String can contain multiple Values separated by a Pipe | - for Example Condor|CFG for a Match String for the Airline.
When the Session starts and the Connection to the ProSim EFB was successful, Prosim2GSX will automatically switch to the Profile with the best Match:

  1. The Aircraft Title or Livery (as reported by the Sim) contains the Match String (case insensitive)
  2. The Aircraft Airline (as reported by the loaded SimBrief OFP, falling back to the SimVar ATC AIRLINE) starts with the Match String (case insensitive) β€” using the OFP source means the displayed airline will be the ICAO code (e.g. FIN for Finnair) once an OFP is loaded, rather than the generic ProSim string the Prosim livery hard-codes into the SimVar.

If there are multiple Results, only the first one will be used. If you want to switch to another Profile, do so before the Departure Phase (OFP was imported).
The default Profile can not be deleted and there can only ever be one Profile using the 'Default' Match Type.



2.3.5 - Audio Settings

Prosim2GSX will only start to control Volume once the Plane is powered (=DC Essential Bus powered). Volume and mute state are read directly from ProSim datarefs β€” the ACP knob and Record Latch are authoritative, so there is no separate "startup state" to configure anymore. Whatever the cockpit panel reads when the bus comes alive is what gets applied. Only one ACP Panel is used for Volume Control at any given time, but you can change your Seat Position / Panel at any Time.
Prosim2GSX will automatically disable the native Volume Control when it starts. If you want to use the native Volume Control, disable the Volume Controller in the App Settings. In any Case: do not let both Apps control the same Stuff!

Audio Backend

The top of the Audio Settings tab has an Audio Backend selector with two mutually-exclusive options:

  • CoreAudio (default) β€” Prosim2GSX directly drives per-application volume/mute on Windows audio sessions. This is the classic behaviour and works without any extra software. Use this if you let each app talk to your sound card on its own.
  • VoiceMeeter β€” Prosim2GSX drives strips and buses in VoiceMeeter via the VoiceMeeter Remote API. Use this if your audio chain runs through VoiceMeeter (Banana / Potato / Standard) and you'd rather mix at the strip/bus level than at the per-app session level.

VoiceMeeter must be installed separately β€” Prosim2GSX does not redistribute the VoiceMeeter DLL. The Installer offers to auto-detect and configure the path to VoicemeeterRemote64.dll on fresh install (typical location: C:\Program Files (x86)\VB\Voicemeeter\VoicemeeterRemote64.dll). You can also set or change the path later from the Audio Settings tab. The VoiceMeeter card on the tab shows a yellow warning when VoiceMeeter is enabled but the DLL path is missing or VoiceMeeter isn't running.

Switching backends is live β€” you don't need to restart Prosim2GSX. When swapping VoiceMeeter β†’ CoreAudio, Prosim2GSX resets the VoiceMeeter strips it was driving back to neutral (0 dB, unmuted) so VoiceMeeter doesn't keep mixing at whatever the last ACP knob position was.

CoreAudio: App Mappings

When the CoreAudio backend is selected, the APP MAPPINGS section is shown. You can map freely Applications to any of the ACP Channels. Per Default ATC Applications are controlled by VHF1, GSX by INT and the Simulator by CAB. You change the Mappings to your Preferences. All Mappings are global - they are not associated to an Aircraft Profile!
To identify an Application you need to enter it's Binary Name without .exe Extension. The UI presents an autocomplete list of matching applications that currently have a live audio session (so the dropdown stays snappy and only shows things you can actually map). Inaccessible processes are tagged with " β€” elevated"; see the note below.
The Use Mute Checkbox determines if the Record Latch (=Knob is pulled or pushed) is used to mute the Application.

Elevated-process limitation. If a target application is running elevated (as Administrator) while Prosim2GSX is running unelevated, Windows will refuse Prosim2GSX access to that application's audio session. When this is detected, the Audio Settings tab shows a yellow banner listing the affected binaries and the per-mapping Status column flags the offending row. The mapping stays in the config but is inactive until either the target app is run unelevated or Prosim2GSX itself is run as administrator. Running as administrator is generally not recommended β€” restart the target app unelevated where you can.

When you end your Session (or close Prosim2GSX), Prosim2GSX will try to reset all Audio Sessions of the controlled Applications to their last known State (before it started controlling the Volume). That might not work on Applications which reset their Audio Sessions at the same Time (like GSX). So GSX can stay muted when switching to another Plane (if it was muted) - keep that in Mind.
Prosim2GSX will control all Audio Sessions on all Devices for a configured Application by default. You can change the Configuration to limit the Volume Control to a certain Device per Application - but on that Device it will still control all Sessions at once.

VoiceMeeter: Channel Mappings

When the VoiceMeeter backend is selected, the VOICEMEETER MAPPINGS section is shown instead. Mappings here are per ACP channel β†’ strip or bus, not per process β€” VoiceMeeter doesn't expose individual app sessions, the strip/bus is the routing target. The dropdown lists all strips and buses currently published by VoiceMeeter (with the user-assigned label, where set). Use the Reload Strips button if you've just reconfigured VoiceMeeter and want the list refreshed.
The Use Latch checkbox is the VoiceMeeter equivalent of the Use Mute checkbox above β€” when ticked, the ACP Record Latch mutes the strip/bus.
ACP volume 0..100% maps to VoiceMeeter's -60 dB to +12 dB strip range (so 100% on the knob = +12 dB on the strip, not 0 dB).

The CoreAudio app mappings and the VoiceMeeter channel mappings are stored as separate lists in the config β€” flipping the radio doesn't lose either, so you can keep both wired up and switch between them as your audio chain changes.

Device Blacklist (CoreAudio only)

Some Audio Devices act 'strangely' or throw Exceptions when being scanned by Prosim2GSX for Audio-Sessions. If you have such a Device, you can add it to the Blacklist so that Prosim2GSX ignores it (normally it should automatically add Devices throwing Exceptions).
But there also Cases where Input (Capture) Devices are reported as Output (Render) Devices which leads to Prosim2GSX controlling the Volume of your Microphone! In such Cases these "false-output" also need to be added to the Blacklist.
Matching is done on the Start of the Device Name, but it is recommended to use the exact Device Name for blacklisting. Tip: when you hit Ctrl+C on the Device Dropdown (under App Mappings), the selected Device's Name is automatically pasted to Blacklist Input Field.



2.3.6 - App Settings

These global Settings affect all Profiles and basic App Features. In most cases you only need to check if the Weight per Bag matches to your SimBrief Profile (the default Value matches the Default in the official SimBrief Profile).
You might want to change the Weight Unit used in the UI, but you don't need to match that to SimBrief or the Airplane - it's just for displaying Purposes.
Depending on your Preferences, you might want to check the Settings to round the planned Block Fuel or skipping Walkaround.
If you only want to use Prosim2GSX for Volume-Control, uncheck 'Run GSX Controller' - in all other Cases leave it on!
The Integrations card at the top groups the optional add-on toggles:

  • Use SayIntentions β€” enables the SayIntentions ATC and weather integration on the OFP tab (see Section 2.3.3 for details).
  • Allow Manual Checklist Override β€” when ticked, the user can click any actionable Checklist item to toggle it, including dataref-bound ones. Off by default β€” follows real ECAM behaviour where checks track aircraft state automatically (see Section 2.3.7).

A few GSX behaviour / startup options also live on this tab:

  • Suppress GSX Door Messages β€” tells GSX to stop showing its "waiting for your action" door prompts (Prosim2GSX already handles the doors, so the prompts are redundant noise). Handy for headless setups. Off by default.
  • Remote-Control GSX (experimental) β€” places GSX under Remote Control, suppressing the in-sim pop-up menu and notifications for fully headless operation. It is automatically disabled during the pushback / taxi-out window so you can still interact with GSX when it needs input. Experimental β€” verify it behaves on your setup before relying on it. Off by default.
  • Delay ProSim Connection β€” defers the ProSim SDK handshake at startup so the walkaround / menu / reposition steps can run before the connection is established. Useful on slower or networked sim rigs. Off by default.

The Web Interface card on this tab (Enable Web Server, Port, Expose to LAN, Auth Token + Regenerate, LAN Address, Connection URL, QR Code) is documented separately in Section 3 β€” that section walks through enabling the embedded web server and onboarding a phone or tablet via QR code.



2.3.7 - Checklists

Interactive ECAM-style A320 checklists, automatically driven from ProSim datarefs. The tab mirrors the cockpit ECAM C/L page: items tick green when the associated cockpit switch / system state matches the procedure, and the C/L COMPLETE button glows green once every item in the active section has been confirmed.

Sequential gating + retreat + past-progress freeze. The evaluation engine walks the items top-to-bottom every tick:

  • An item only flips checked when its dataref condition holds and every prior actionable item in the section is already checked β€” no skipping ahead.
  • If a switch reverts while you're still on the leading edge of the checklist, the item un-ticks and so do any items below it. Catches accidental switch reverts during preparation.
  • Past-progress freeze: once an item is checked and you've moved past it (any later item in the same section is also checked), it freezes at "checked" and stops re-evaluating. This is what lets procedural toggles like STARTUP / APU START β†’ APU OFF or MODE SELECTOR IGN/START β†’ NORM work without the early item un-ticking when its dataref naturally reverts later in the procedure.

When every actionable item in the active section is satisfied, the C/L COMPLETE button paints full ECAM-green to signal the section is ready to advance:

Auto-reset edges. Take-off (on-ground β†’ airborne) clears PRE-START, STARTUP, BEFORE TAXI, TAXI, BEFORE TAKE-OFF, and TAKE-OFF so the next flight starts with a clean approach/landing flow. Engine shutdown on the ground does a full reset.

Per-profile selection. Each Aircraft Profile carries an optional Checklist Name β€” the dropdown at the top of the tab lets you pick from any JSON file under %LocalAppData%\Prosim2GSX\Checklists\. The default a320_default.json is shipped as an embedded resource and copied to that folder on first run so you can edit it directly or drop in airline-specific variants. The C/L MENU footer button focuses the section dropdown so you can jump between sections at any time:

Manual fallback for unreachable datarefs. If a JSON references a dataref that isn't available on this aircraft variant (or has a typo), the engine retries up to three ticks then falls back to manual ticking for that item β€” a single warning is logged with the section and label. The checklist never blocks; you can always click the item by hand to progress.

Authoring custom checklists. Drop additional *.json files into %LocalAppData%\Prosim2GSX\Checklists\. Every dataref a checklist references is auto-subscribed and polled at 250 ms when the file loads β€” no code change required. The schema is documented in the _README block at the top of a320_default.json. Most cockpit switches can be polled directly, but a handful are momentary in ProSim (Ext Pwr, APU Start, Auto/brk LO/MED/MAX, IDG, Refuel power, Terrain on ND, etc.) β€” they pulse 0 β†’ 1 β†’ 0 and the polling cache reads 0 almost all the time. For those, set "Momentary": true and add a "SteadyDataRef" field pointing at the indicator LED, gate, or composite state that actually holds the system's mode (the _README lists the convention and the default JSON shows the pattern in action for EXT POWER).

The Checklists tab is also fully replicated in the Web Interface β€” same evaluation, same green-state, same JSON files served live to any browser/tablet on the LAN.



2.3.8 - Performance & Data Tabs (Web Interface only)

The Web Interface hosts five additional tabs that have no WPF equivalent β€” the desktop UI was deliberately slimmed to the automation and settings surfaces, while these data-heavy and EFB-style tabs live exclusively in the browser (see Section 3). Open them on a phone or tablet alongside the sim.

Takeoff Performance

An EFB-style TAKEOFF performance tab. Enter the departure airport / runway (intersection departures supported), surface, wind, OAT and QNH, plus the aircraft configuration β€” flap, anti-ice, packs, force-TOGA β€” and TOW / MAC TOW. The weights can be pulled straight from the loadsheet with Sync Loadsheet. Calculate produces V1 / VR / V2, the take-off flap setting, FLEX temperature, THS trim and the runway shift, rendered in an MCDU-style FMGC TAKE OFF block, along with the headwind/tailwind component and the take-off performance limit. Send Uplink writes the V-speeds, FLAPS, FLEX, THS and SHIFT straight into the ProSim FMS PERF page. The METAR for the entered ICAO is shown at the foot of the tab.

Landing Performance

The arrival-side counterpart β€” a LANDING performance tab covering required landing distance and the approach / landing reference speeds for the configured runway, weather, landing weight and aircraft configuration.

W&B (Weight & Balance)

Live weight & balance built around the CG envelope chart β€” a single marker plotting the aircraft against the A320 envelope, with LIVE and LOADSHEET summary rows. The MACTOW chip shows whether the resolved figure came from the FINAL loadsheet, the PRELIM, or a live computation, and Sync to FMS pushes the loadsheet ZFW + ZFWCG to the FMS. A departure-readiness banner rolls up the all-doors-closed check.

The Aircraft Status silhouette shows the cabin (132-seat overlay) and every door β€” eight entry / overwing doors and three cargo doors β€” coloured live from the ProSim door datarefs. The Passenger Simulation controls (SIMULATE / CLEAR, plus the MANIFEST table) populate a plausible passenger load for testing and demos without flying a full boarding.

Fuel

A per-tank fuel breakdown β€” a capacity bar per tank, the planned-vs-in-tanks delta, a kg / litres mirror, and over / under-fuel flags when the load doesn't match the OFP plan.

Loadsheet

The preliminary and final loadsheets as transmitted by the ProSim SDK β€” weights, passenger zones and the A320 envelope, with MACTOW + FMS-sync staleness indicators. Prosim2GSX also raises operational notifications around the loadsheet timeline (preliminary overdue at STD, final loadsheet incoming once boarding completes); a manual STD override is available for OFP-less workflows.



2.4 - Running ProSim on a Separate Computer

Prosim2GSX supports setups where ProSim runs on a different PC to MSFS/Prosim2GSX (a common networked "sim rig" setup). Two small configuration changes are required on the MSFS PC β€” the one running Prosim2GSX.

Step 1 β€” Point Prosim2GSX at the ProSim SDK file on the other computer

The ProSim SDK (ProSimSDK.dll) lives inside your ProSim installation folder on the ProSim PC. Prosim2GSX needs to be able to read that file over the network.

  1. On the ProSim PC, locate the folder containing ProSimSDK.dll (typically inside the ProSim...\ProSimA322-System\ or similar folder).
  2. Share that folder on the network so the MSFS PC can read it. Right-click the folder β†’ Properties β†’ Sharing β†’ grant read access to the MSFS PC's user account (or everyone on a trusted home network).
  3. On the MSFS PC, open Prosim2GSX β†’ App Settings tab β†’ set the ProSim SDK Path to the UNC path of the shared DLL, for example:
    \\PROSIM-PC\ProSimA320\ProSimA322-System\ProSimSDK.dll
    
    Replace PROSIM-PC with the actual computer name (or IP address) of the machine running ProSim.
  4. Restart Prosim2GSX β€” the SDK is only loaded once at startup.

Step 2 β€” Tell Prosim2GSX which computer ProSim is running on

By default, Prosim2GSX assumes ProSim is on the same PC (localhost). For a remote setup you need to change this in the configuration file.

  1. Close Prosim2GSX first (right-click the tray icon β†’ Exit). Editing the config while the app is running will have your changes overwritten on shutdown.
  2. Open File Explorer and paste this into the address bar, then press Enter:
    %appdata%\Prosim2GSX
    
  3. Open AppConfig.json in Notepad (or any text editor).
  4. Find the line that looks like this:
    "ProSimSdkHostname": "localhost",
  5. Replace localhost with the computer name or IP address of the PC running ProSim. Keep the quote marks and the trailing comma. Examples:
    "ProSimSdkHostname": "PROSIM-PC",
    or
    "ProSimSdkHostname": "192.168.1.50",
  6. Save the file and close Notepad.
  7. Start Prosim2GSX again.

Step 3 β€” Make sure the two PCs can talk to each other

  • Both computers need to be on the same local network (same router / Wi-Fi).

  • Ensure ProSim is running on the other PC before you start Prosim2GSX β€” or at least before the flight is loaded.

  • If Windows Defender Firewall is enabled on the ProSim PC, you need to allow two inbound TCP ports so Prosim2GSX on the MSFS PC can reach it:

    • TCP 8082 β€” ProSim SDK
    • TCP 5000 β€” ProSim EFB (GraphQL / REST / loadsheet)

    If the firewall is disabled on the ProSim PC, skip this and move on.

    You can open the ports either via the GUI or with a single PowerShell command β€” pick whichever you prefer.

    Method A β€” Windows Defender Firewall GUI (on the ProSim PC):

    1. Press Win+R, type wf.msc, press Enter.
    2. In the left pane select Inbound Rules, then in the right pane click New Rule….
    3. Rule type: Port β†’ Next.
    4. Select TCP, then Specific local ports and enter: 8082, 5000 β†’ Next.
    5. Allow the connection β†’ Next.
    6. Leave all three profiles ticked (Domain, Private, Public) β€” or un-tick Public if this PC ever joins untrusted networks β†’ Next.
    7. Name the rule Prosim2GSX (ProSim SDK + EFB) β†’ Finish.

    Method B β€” PowerShell (run as Administrator on the ProSim PC):

    New-NetFirewallRule -DisplayName "Prosim2GSX (ProSim SDK + EFB)" `
      -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8082,5000

    To remove the rule later:

    Remove-NetFirewallRule -DisplayName "Prosim2GSX (ProSim SDK + EFB)"

How to check it's working

  • Open the Prosim2GSX window β†’ FLIGHT STATUS tab.
  • The App State section should show a green Connected indicator to ProSim after a few seconds.
  • If it stays red, check the log file in %appdata%\Prosim2GSX\log\ β€” it will say whether the SDK file was found, and whether the connection to the remote host succeeded.




3 - Web Interface (LAN browser)

Prosim2GSX ships with an embedded web server that mirrors the WPF UI in any modern browser β€” phone, tablet, second PC, anything on the same LAN. This is a first-class surface, not a remote viewer β€” in fact the web interface is the canonical superset: every WPF tab has a matching web panel, and the web additionally hosts the tabs the desktop UI doesn't (INIT, W&B, Fuel, Loadsheet, and the Takeoff / Landing performance tabs). Changes made in either UI propagate live to the other over a WebSocket.

It is built primarily for headless sim-PC setups (no monitor, sim-rig in another room) where opening the WPF window isn't practical, but it works just as well alongside the WPF UI on a normal desktop.

3.1 - Enabling

  1. Open the WPF UI β†’ App Settings tab β†’ scroll to the WEB INTERFACE card.
  2. Tick Enable Web Server. The host starts immediately β€” no app restart needed.
  3. The first time it starts, a random Auth Token is generated. Leave Expose to LAN unticked for loopback-only access (http://127.0.0.1:5001). Tick it to bind to all interfaces so other devices on the LAN can connect.
  4. Optionally change the Port (default 5001 β€” chosen because ProSim itself occupies 5000 on the same host).

3.2 - Onboarding a Phone or Tablet (QR Code)

Below the Web Interface card, the QUICK ACCESS card shows the live Connection URL and a QR Code that encodes it.

  • The auth token is embedded in the URL as a hash fragment (#token=...) β€” when the React app loads on the device, it moves the token into localStorage and strips it from the address bar so it never appears in browser history or server logs.
  • Pick the right LAN address from the LAN Address dropdown if you have multiple NICs (Wi-Fi, Ethernet, VPN, Hyper-V virtual switch, etc.). Click Refresh to re-enumerate after switching networks.
  • Scan the QR with your phone's camera or any QR-reader app. You should land on the EFB instantly with no login prompt.

The web UI is responsive and is intended to be used on small screens.

3.3 - Authentication & Security Model

  • Single shared bearer token β€” there are no user accounts. Click Regenerate in the Web Interface card to invalidate the existing token; every connected client will be force-disconnected and the QR code refreshes immediately.
  • Loopback-only by default. Only when Expose to LAN is ticked does the server bind to 0.0.0.0.
  • Plain HTTP, no TLS. This is intentional β€” it keeps the QR-code onboarding workflow trivial and avoids self-signed-certificate warnings on every device. Treat the web interface like any other LAN-only home-network service: don't expose it to the public internet, don't port-forward it through your router.
  • The in-sim gsx_handler.py polls a single endpoint (/api/gsxmenu/pending-gate) over loopback that is exempt from the bearer token because Stackless Python in GSX has no way to carry one. This endpoint returns only the queued arrival gate name.

3.4 - What's in the Web UI

Thirteen pages cover every operational and configuration surface:

  1. Flight Status β€” split-flap header (FLT NO / UTC / DATE), Sim/GSX/App state indicators, flight-phase progress bar, message log tail.
  2. INIT β€” the canonical flight-planning surface (web-only). SimBrief OFP fetch on MCDU origin/destination entry or via the FETCH OFP button, FMS-style two-column layout, per-field overrides on ZFW / FUEL RAMP / PAX / CARGO, SYNC TO FMS / CLEAR OVERRIDES / RESET FLIGHT actions. See Section 2.3.2 for the full feature description.
  3. OFP β€” route details, three Korry pushback-direction buttons, arrival gate Confirm / Send Now, ATIS / METAR, and the deice Holdover (HOT) card (see Section 2.3.3).
  4. LOADSHEET (web-only) β€” preliminary and final loadsheets parsed from the SDK datarefs, ICAO-aligned envelope display, MACTOW + FMS sync staleness, RESEND placeholder. See Section 2.3.8.
  5. W&B (web-only) β€” live weight & balance with the CG envelope chart, MACTOW resolution chip (FINAL / PRELIM / COMPUTED), SYNC TO FMS button, departure-readiness banner, the Aircraft Status silhouette (132-seat overlay + 8 entry doors + 3 cargo doors), and the SIMULATE / CLEAR / MANIFEST passenger-simulation surface. See Section 2.3.8.
  6. FUEL (web-only) β€” per-tank breakdown bars, planned vs in-tanks delta, kg / L mirror, over/under flags. See Section 2.3.8.
  7. TAKEOFF (web-only) β€” EFB-style take-off performance: V1 / VR / V2, FLEX, THS and runway shift, with an FMS uplink button. See Section 2.3.8.
  8. LANDING (web-only) β€” landing distance and approach / landing reference speeds. See Section 2.3.8.
  9. CHECKLISTS β€” per-profile checklist file, ECAM-style green-when-complete C/L COMPLETE button, sequential gating + retreat + past-progress freeze, manual-tick fallback for unreachable datarefs (see Section 2.3.7 for the engine semantics and authoring guide).
  10. GSX Settings β€” left-rail navigation by section, sticky save bar, full parity with the WPF GSX Settings tab.
  11. Aircraft Profiles β€” full CRUD against the Profiles list, including the active-profile selector.
  12. Audio Settings β€” full parity with the WPF Audio Settings tab: backend selector (CoreAudio / VoiceMeeter), VoiceMeeter DLL-path card with status warning, App Mappings (CoreAudio) with running-process autocomplete and elevated banner, VoiceMeeter Channel Mappings (per-strip/bus), Device Blacklist.
  13. App Settings β€” global app settings (excluding the Web Interface card itself, which is WPF-only by design so you can never lock yourself out).

3.5 - Limits

  • The web server hot-toggles, but a port-in-use error on enable surfaces in the WPF log only β€” check %appdata%\Prosim2GSX\log\ if the Connection URL doesn't respond.
  • Regenerating the token kicks every active client immediately. They'll have to re-scan the new QR code.




4 - Usage

4.1 - General Service Flow / SOP

Note that Prosim2GSX does not open a Window when started - it is designed to run in the Background, the Window/GUI is only there for Configuration! There is no Need to have the GUI opened while running the Sim. When you do open the GUI, it can safely be closed (it only closes that Window, it does not Stop the Binary/App itself).

4.1.1 - Pre-Flight

  • Ensure you use the correct SimBrief Airframe Configuration provided by ProSim (with the correct Registration)!
  • Ensure that the Units used in SimBrief match the Units used in the EFB/Aircraft!
  • Ensure your default State is either Cold & Dark or Turn-Around with GPU or APU!

Besides these general Best Practices, there is nothing Special to consider - Plan your Flight as you always do.

4.1.2 - Cockpit Preparation

  • Make sure Prosim2GSX was already started before starting the Session!
  • MSFS2024: When Walkaround is configured to be skipped, Prosim2GSX refocuses MSFS Window repeatedly. This already starts when the Session is about to become ready. So refrain from doing something else in another Window while Walkaround is skipped.
  • Wait until Prosim2GSX has finished it Startup Steps like Repositioning (if configured), calling Jetway/Stairs (if configured) and restoring the last stored Shutdown FOB.
    You will be informed with the Cabin "Ding" Sound when it has finished these Steps. Wait for that Signal before doing anything in the EFB or powering up the Plane (when starting Cold & Dark).
  • If you have disabled to call Jetway/Stairs on Session Start, you can use the INT/RAD Switch (move to the INT Position) to call them at your Discretion (before the Flightplan is imported).
  • When the Jetway/Stairs are called after Walkaround has ended (either Way), Prosim2GSX will remove ProSim's native Stairs
  • Mind that selecting a Panel-State in the EFB also changes the ACP State - that will override Startup State set by Prosim2GSX.
  • After that load the Flightplan to get the Automatic Service-Flow going. The recommended path is the INIT tab (Section 2.3.2) β€” either enter the route on the MCDU or hit FETCH OFP in the app β€” but the legacy ProSim-EFB import button still works as a fallback.
  • It is recommended to power-up the Aircraft before loading the Flightplan
  • If you plan to use any EFB Loading Option, remember that you have the Departure Services configured in a certain Way!



4.1.3 - Departure Phase

  • If you have choosen to disable the Automations, call the GSX Services at your Discretion. Note that you do need to call all Departure Services which are set to 'Manual' (so that Prosim2GSX switches properly to the Pushback Phase).
  • If you kept on the Automations, it is advisable to disable the GSX Menu (=Icon not white in the Toolbar) to prevent the Menu being displayed when Services are called by Prosim2GSX. (When using the Default Toolbar, see Addon NOTAMs for Flow)
  • Do not use Load Aircraft in the EFB when you intent to use Prosim2GSX for loading the Aircraft!
  • Do not use Reset All regardless if loading through GSX or EFB!
  • Use of Walkaround Mode while Services are running is possible with Constraints:
    • Do not use Walkaround Mode when Doors are about to be opened/closed (else they can't be handled)
  • When and in which Order the GSX Services are called depends on your Configuration, per Default it is Refuel + Catering -> Water -> Boarding. You can use the INT/RAD Switch to call the next Service in the Queue - i.e. call Boarding earlier.
  • The PCA will be removed anytime the APU is running and the APU Bleed is On (regardless if you have configured Prosim2GSX to place it).
  • When all Departure Services are completed (typically after Boarding), Prosim2GSX will switch to the Pushback Phase. The Final Loadsheet will be transmitted 90 - 150 Seconds (Delay configurable) after the Services are completed.
  • With default Settings, the Rear-Stair on Jetway Stand will be removed once the Services are completed.



4.1.4 - Pushback Phase

Prosim2GSX supports two departure flows in the Pushback Phase, selected by SequenceOnBeacon in the Aircraft Profile. The default (sequence) flow is a realistic, beacon-orchestrated ground-handling chain; the legacy flow is the original independent-trigger behaviour.

Default: Beacon-orchestrated Sequence (SequenceOnBeacon = true)

The sequence treats Beacon ON as the single "about-to-push" signal and runs the ground-handling steps in a realistic order, with randomised delays between each step to mimic real ground-crew timing.

  1. Turn Beacon ON β€” Prosim2GSX enters the sequence and waits for APU to be running and the Final Loadsheet to have been transmitted. If APU is not running after 2 minutes a warning is logged every 60 s (configurable via SequenceApuStallTimeoutSec, 0 disables).
  2. Doors Close β€” after a random 15-30 s delay.
  3. Jetway / Stairs retract β€” after another random 15-30 s delay.
  4. Ground Equipment cleared β€” GPU, PCA and Chocks released after another random 10-20 s delay. The existing safety interlocks still apply (GPU only if External Power disconnected, Chocks only if Brake set).
  5. Ready for Push β€” sequence idles here. If CallPushbackOnBeacon = true, pushback is called automatically; if false, press INT/RAD to call it.

During the sequence:

  • INT/RAD on any step skips that step's remaining random delay and performs its action immediately (e.g. "I'm ready, close the doors now"). At Ready-for-Push it calls pushback.
  • Turning Beacon OFF pauses the sequence in place; turning it back ON resumes from the same step with no state loss. An APU shutdown behaves the same way.
  • The CloseDoorsOnFinal and RemoveJetwayStairsOnFinal profile options are ignored when the sequence is enabled β€” the sequence owns those transitions.
  • The per-step min/max delays are configurable in the Aircraft Profile (SeqDoorsCloseDelayMin/Max, SeqJetwayRetractDelayMin/Max, SeqGpuDisconnectDelayMin/Max).
Legacy: Independent Triggers (SequenceOnBeacon = false)
  • Jetway/Stairs are removed and Doors are closed once the Final Loadsheet is received (CloseDoorsOnFinal, RemoveJetwayStairsOnFinal).
  • You can call GSX Pushback with the INT/RAD Switch, or automatically via CallPushbackOnBeacon once Beacon is on (requires Brake set, Engines off, External Power disconnected).
  • With ClearGroundEquipOnBeacon, Ground-Equipment is removed once you turn on the Beacon (again: External Power disconnected and Brake set).
Common to both flows
  • You need to enable the GSX Menu again for the Pushback Phase to interact with the Menu! By default Prosim2GSX does not answer the Deice Question β€” but it can be configured to do so:
    • Pushback Direction β€” preselect TAIL LEFT / STRAIGHT / TAIL RIGHT on the OFP tab (Section 2.3.3). The lit Korry button is auto-selected the moment GSX shows the direction menu. Default is STRAIGHT. The same controls are mirrored on the OFP tab of the Web Interface (Section 3).
    • De-Icing β€” tick Automatically respond Yes to GSX de-icing request under GSX Settings β†’ De-Icing (Section 2.3.1) to auto-answer the prompt and pick a configured fluid + concentration. Off by default.
  • With default Settings, Prosim2GSX will automatically reopen the Pushback Direction Menu if the GSX Menu should time out (hides itself again).
  • Ground-Equipment will also be removed automatically when GSX Pushback/Deice Service is running or when the Engines are running (=start combusting).
  • Ground-Equipment is only ever removed when safe β€” i.e. the GPU is only removed when External Power is disconnected or the Chocks when the Brake is set.
  • Consider to only call GSX Pushback (either Way) on Taxi-Out Gates which are correctly configured in the Airport Profile for that!
  • When the Push is running, you can disable the Menu again β€” you can use the INT/RAD Switch to Stop the Push or Confirm the Engine Start (that means Menu Option 1 is always selected when you move the Switch).
  • Good engine start is also auto-confirmed the moment GSX itself reports the pushback completion (VEHICLE_PUSHBACK_STATE == 12), so you usually don't need to press INT/RAD for that step at all. Falling back to INT/RAD still works if GSX skips the state.
  • DO NOT USE ABORT PUSHBACK (And if only as the very very last Resort, early stopping the Pushback is meant to be commenced with "Stop". If you abort, please set your Parking Brake.)



4.1.5 - Taxi-Out Phase

  • With default Settings, Prosim2GSX will automatically answer the Cabin Call while taxiing
  • There is no further Automation or Integration for the Deicing (on Deice Pads), but note that the Operator Selection is also active in this Phase!
  • If you loaded your Session directly on the Runway, Prosim2GSX will already start in this Phase. So do not spawn on a Runway if you plan to use Departure Services!



4.1.6 - Flight Phase

  • Enjoy your Flight πŸ˜‰ Note that Prosim2GSX can be (re)started while you are Airbone. It will continue with the Arrival Services as normal.
  • With default Settings, Prosim2GSX will automatically answer the Cabin Call on Approach



4.1.7 - Taxi-In Phase

  • Once the Aircraft is on the Ground again and below 30 Knots, Prosim2GSX will switch to the Taxi-In Phase.
  • You can configure Prosim2GSX to (hard) Restart GSX when switching to that Phase
  • Please pre-select the Gate in the GSX Menu while you're taxiing to it. If enabled, it will automatically answer the Follow-Me Question with 'No' and select the Operator if needed.
  • When using all Automations, you can disable the GSX Menu again after Gate Selection.



4.1.8 - Arrival Phase

  • The Arrival Phase will only begin once the Aircraft is truly parked: Brake set, Engines off, Beacon off, and Ground Speed zero β€” held stable for a short window (configurable via ArrivalHoldTicks, default ~1.5 s). This prevents false triggers during engine-out taxi stops or momentary halts mid-taxi.
  • Chocks will be placed 10-20 Seconds after the Aircraft is parked. The chock task re-verifies the parked state at placement time, so chocks are never set on an aircraft that has restarted engines or started moving again. When the Chocks are placed, Prosim2GSX presses the overhead MECH Call button β€” Prosim then drives the chime and INT-call lamp flash natively on both ACPs. You can release the Parking Brakes then.
  • GPU and PCA (if configured) will be connected once the Jetway or Stairs are connected (or when Deboarding starts), subject to standard safety checks β€” chocks in place, engines off, and no External Power already connected. No forced writes; the same ProSim safety interlocks apply.
  • With default Settings, Prosim2GSX will automatically call Deboard (which in turn calls the Jetway/Stairs). If not configured, you can still call Deboarding manually with the INT/RAD Switch. If Deboarding never runs (bypassed, cancelled in the GSX menu, or hung) you can also press INT/RAD to force progression out of the Arrival Phase β€” see Section 4.2.
  • A cabin chime plays on entry to the Arrival Phase (configurable via ChimeOnParked, default on).
  • Dismiss the Deboard Pop-Up in the EFB - Deboarding is handled by Prosim2GSX at its Synchronization!
  • Wait for Deboarding to finish if you plan for a Turn-Around - do not import a new Flightplan yet!
  • If Prosim2GSX is configured to start Departure Services while Deboarding (RunDepartureDuringDeboarding):
    • Wait until Deboarding is fully running (Passengers are deboarding, Cargo is unloaded) before importing the new OFP
    • Departure Services will be called according to the configured Activation & Order - but do mind that it is up to GSX to decide which Services can run in parallel (i.e. the Fuel Truck will only arrive when Cargo has finised)
    • The new Pax Number will only be applied in the EFB after Deboarding has completed
  • If a new OFP is detected at any time after Arrival Phase entry β€” whether before, during, or after Deboarding β€” Prosim2GSX will skip the Turn-Around Phase and go directly to Departure using a soft EFB reset that preserves your new flight plan. If no new OFP is detected, the standard Turn-Around Phase runs with a full EFB reset.
  • If Arrival lasts unusually long without Deboarding completing, Prosim2GSX will log a warning every minute (controlled by ArrivalStallTimeoutSec, default 10 minutes, 0 to disable). This is a prompt to either press INT/RAD to force progression or investigate the GSX state.



4.1.9 - Turn-Around Phase

  • The Turn-Around Phase begins once Deboarding has completed and no new flight plan has been loaded since Arrival. Prosim2GSX will reset the EFB (full reset) to ensure a clean State. A Cabin Chime plays once it is ready for import (configurable via ChimeOnDeboardComplete, default on).
  • If you have already loaded a new OFP in the EFB before Deboarding completes, the Turn-Around Phase is skipped entirely and Prosim2GSX switches straight to Departure with a soft EFB reset that preserves your new flight plan.
  • As soon as you import a new Flightplan in the EFB, Prosim2GSX will start over with the Departure Phase.
  • Prosim2GSX will trigger a SimBrief Reload in GSX so that the VDGS Displays show the new and correct Flight Information.



4.2 - Service Calls via INT/RAD Switch

You can also use the INT/RAD Switch on the ACP (both are monitored) to trigger some Services in certain Situations. Move the Switch to the INT Position and leave it there. When Prosim2GSX reacts to the Request it will reset the Switch Postion as Confirmation! Services triggerable:

  • Request Jetway/Stairs - Preparation Phase - If Jetway/Stairs are not called automatically on Session Start, you can call them manually with the Switch.
  • Request next Departure Service - Departure Phase - Call the next Departure Service, including Services set to 'Manual'. In a typical Scenario, you can use the Switch to start Boarding while Refueling is still active.
  • Advance / Request Pushback - Pushback Phase
    • Sequence mode (SequenceOnBeacon = true, default): INT/RAD skips the current step's remaining delay in the beacon-orchestrated sequence β€” doors close, jetway retracts, GPU disconnects on demand. At the final Ready-for-Push state, INT/RAD calls the GSX Pushback Service.
    • Legacy mode (SequenceOnBeacon = false): calls the GSX Pushback Service immediately and removes Ground-Equipment. When Pushback was already called but not started yet, you can use the Switch again to reopen the Direction Menu.
  • Stop / Confirm Pushback - Pushback Phase - Selects Menu Option 1 in the GSX Menu, so depending on the current State (and GSX Settings) it will either Stop Pushback or Confirms the good Engine-Start. Applies in both sequence and legacy modes.
  • Request Deboarding, after Parking Brake set, Engines off and Beacon off. If Automatic Jetway/Stair Operation is enabled, wait for them to be called. Only works when automatic Deboarding is disabled.
  • Force Arrival progression - Arrival Phase - If Deboarding was never called, was bypassed, or hangs, press the Switch to force the Arrival Phase to end. Prosim2GSX will branch to Turnaround or straight to Departure depending on whether a new OFP has been loaded.
  • Skip Turnaround while you are in the Turnaround Phase. You should still prefer to trigger the Departure Phase by importing a new OFP in the EFB!




5 - Addon NOTAMs

5.1 - Self-Loading Cargo

Prosim2GSX and Self-Loading Cargo (SLC) should work together: Based on User Reports, you need to disable 'Ground Crew' in SLC!
Generally you only want one Application to control the Service-Flow and Ground-Equipment.



5.2 - FlowPro

It is strongly recommended to disable the Option Skip 'Ready to Fly'. Else it might happen that Prosim2GSX starts in the Flight State.


In order to enable/disable the GSX Menu-Entry and prevent the GSX Menu to open/pop-up when Prosim2GSX does the Service Calls, you need to open FlowPro and Scroll on the GSX Icon. Green means on, not-green means off.


NOTE: Please uninstall the Plugin Flow GSX Launcher: it is outdated since that Widget is already included since Flow Version 2023.30.4.13.




6 - NOTAMs (Usage Tips)

6.1 - Usage without GSX (Volume Control only)

Just disable Run GSX Controller in the App Settings View - that disables all of the GSX Integration and Automation!
Note that this also includes non GSX related Automations like skipping Walkaround or Cabin-Calls.



6.2 - Usage with native Integration

  • You need to configure the Departure Services to 'Manual by User' so that the native Integration can call them
  • You need to have the same Services & Order configured under Departure Services as in the EFB (so if you set Fuel+Catering then Boarding in the EFB, do so in Prosim2GSX)
  • You can change the 'Wait for Refuel' EFB Setting, but do not change any other Setting (besides the Sequence as above)
  • Do not use the INT/RAD Switch to call the next Departure Service - the native Integration has to call the Services!
  • Do not call Refuel, Catering or Boarding manually - the native Integration has to call the Services!
  • The same applies when you decide to load/board the Aircraft via EFB only (so no GSX at all)! When the Aircraft loaded directly via the EFB, Prosim2GSX will directly switch to the Pushback Phase.



6.3 - Usage on VATSIM/IVAO

When flying on a Network it might happen that you need to change the Gate after you have started the Session. It is advisable to disable the automatic Call for Jetway/Stairs in case you need to switch Gates!
You can manually call the Jetway/Stairs with the INT/RAD Switch once you're settled. Note that this only works as long as you don't have imported a Flightplan yet!




7 - FCOM (Troubleshooting)

  1. Ensure you have fully read and understood the Readme πŸ˜‰
  2. Ensure you have checked the Instructions below for common/known Issues
  3. Ensure your GSX Installation is working correctly - Prosim2GSX ain't gonna fix it!
  4. If you report an Issue because you are really really sure that Prosim2GSX is misbehaving: provide a meaningful Description of the Issue and attach the Log-File covering the Issue ('Log-Directory' in the Systray or %appdata%\Prosim2GSX\log). If there are multiple Flights in one Log (it is one Log per Day for 3 Days), provide a rough Timestamp where/when to look.
  5. If your Issue is related to Volume Control, it is strongly recommended to attach the AudioDebug.txt File from the Log Directory (=> 'Write Debug Info' Button in the 'Audio Settings' View)

NOTE: It is my personal Decision to provide support or not. So if you don't put any Effort in reading the Readme or properly reporting your Issue, I won't put any Effort in doing any Support or even responding at all. You need to help me in order for me to help you! πŸ˜‰

You can use the 'FLIGHT STATUS' View of the UI to monitor the current State of Prosim2GSX:

  • The split-flap header at the top (FLT NO / UTC / DATE) is a quick at-a-glance check that the OFP and time source are wired up.
  • The Sim State Section reports on the Connection to MSFS - it should be all green.
  • The GSX State Section reports the State of GSX and it Services. Prosim2GSX can only do as good as the Information provided by GSX!
  • The App State Section reports most noteably reports the current Phase you are in and how many Departure Services are queued - besides the general State of its Services and Connection to the ProSim. The ProSim Binary indicator confirms the ProSimA322-System process is running locally; on remote-ProSim setups it stays grey because the binary lives on the other PC.
  • The Flight Phase progress bar visualises where you are in the Pre-Flight β†’ Departure β†’ Pushback β†’ Taxi-Out β†’ Flight β†’ Taxi-In β†’ Arrival β†’ Turn-Around chain.
  • The Message Log Section prints all informational (and above) Messages from the Log - it gives you a rough Idea what Prosim2GSX is doing.

NOTE: Although a Screenshot of the UI might be helpful in certain Situations, it is not enough to report an Issue! Always include the Log-File!



7.1 - Does not Start

  • It does not open a Window if you expect that. The GUI is only needed for Configuration and can be opened by clicking on the Icon in the SysTray / Notification Area (these Icons beside your Clock)
  • Ensure you have rebooted your PC after .NET 10 was installed
  • Check if the .NET Runtimes are correctly installed by running the Command dotnet --list-runtimes - it should show an Entry like Microsoft.WindowsDesktop.App (with Version 10.0.x).
  • Please just don't "run as Admin" because you think that is needed. You can try if that helps, but it should run just fine without that!
  • Certain AV/Security Software might require setting an Exception



7.2 - There are no Log Files

  • Please just don't "run as Admin" because you think that is needed. You can try if that helps, but it should run just fine without that!



7.3 - Prosim2GSX is stuck in a Reposition Loop

Some Issue in your Setup causes a Situation where Prosim2GSX can't read/evaluate the GSX Menu File. But during Reposition (and other Service Calls) Prosim2GSX checks actively to be in the right Menu before selecting anything - so it is stuck in a Loop because it can't get that Information.

  • This can happen if GSX is not correctly linked in the Community Folder, use the FSDT Installer to Relink it (and do Check!)
  • In past and rare Cases, a complete Reinstall of GSX was needed. Use the Offline Installer (see below) for that.

But generally it would be advisable to eliminate the Root Cause. Maybe a Reinstall through the Offline Installer (see below) or even a complete fresh/clean installation of GSX - in Case your Installation is somehow "corrupted".



7.4 - Prosim2GSX in Flight/Taxi-In when starting on the Ground

  • Can be caused by FlowPro - check the recommended Settings.



7.5 - Jetway does not connect

There can be certain Situations where the Jetways stops responding. This an 100% Asobo-Problem: Any Application, including GSX, is then not able to call Jetways anymore via SimEvent ("TOGGLE_JETWAY"). When you are in such a Situation, confirm it by use "Toggle Jetway" in the ProSim EFB. If it still does not move, you experience that MSFS-"Feature".
This can be caused by too many SimObjects being spawned, check the Tips below to reduce the Object Count.
The only Workaround is to request the Jetway via ATC Menu. But beware: That does not toggle the mentioned Event, so no Application (i.e. GSX) can detect that the Jetway is connected.
The Workaround is only for the Visuals, GSX (and therefor Prosim2GSX) should handle the Situation and should be able to deboard the Plane (you won't see any Passengers either Way though).



7.6 - Refuel Stops / Problems with Boarding or Deboarding / other Erratic Behavior

It is also likely that you have Issues with the SimConnect Interface (the API which both GSX and Prosim2GSX use) being overloaded by too many SimObjects (one of these Things Asobo is incapable or unwilling of fixing).
In most Cases this is caused by AI Aircraft or other Tools spawning SimObjects (e.g. Nool VDGS or even GSX itself). Reduce the Number of SimObjects and check if it works better then:

  • Remove Microsoft Fireworks (see below)
  • If only tried while connecting to an Online Network, try if it works in an Offline Session
  • Disable Road and Boat Traffic in the MSFS Settings
  • Disable Traffic in the MSFS Settings (Airport Vehicle / Ground Aircraft / Worker)
  • Reduce the amount of AI Planes in your Tool's Settings
  • External AI Tools might have the Option to spawn Ground Services for AI Aircraft (AIG-TC e.g.) - be sure to disable that!
  • Disable AI Traffic all together - whether it be MSFS or an external Tool
  • Disable "Ground Clutter" in GSX (FSDT Installer -> Config)
  • Disable other Addons spawning SimObjects

Remove Microsoft Fireworks

  • Go to the Content Manager
  • Search for 'Fireworks'
  • The "City Update 3: Texas" should be listed -> go do List View
  • Remove the Package "Microsoft Fireworks"

Offline Installer

There have been also Cases where the GSX Installation was somehow "corrupted". You can try to run the Check in the FSDT Installer multiple Times or use the offline Installer (run a Check again after using that Installer). Else a complete fresh / clean Installation of GSX might be required.


7.7 - ProSim runs on another PC (networked setup)

This is a supported configuration β€” see section 2.4 - Running ProSim on a Separate Computer for the step-by-step instructions. If you followed those steps and it still won't connect:

  • Double-check the UNC path to ProSimSDK.dll actually opens when you paste it into File Explorer on the MSFS PC. If Explorer can't reach it, Prosim2GSX can't either.
  • Double-check ProSimSdkHostname in %appdata%\Prosim2GSX\AppConfig.json matches the other PC's name or IP (no http://, no port number β€” just the hostname or IP).
  • Confirm inbound TCP 8082 (ProSim SDK) and TCP 5000 (ProSim EFB) are allowed on the ProSim PC β€” see section 2.4, Step 3 for the exact firewall rule.

7.8 - Web Interface won't connect / QR code lands on a blank page

  • Ensure Enable Web Server is ticked in App Settings and that the Connection URL textbox is populated. If the URL is empty, the host failed to start β€” check the log file in %appdata%\Prosim2GSX\log\ for a port-in-use or bind error.
  • If the device is on the LAN (not the sim PC), confirm Expose to LAN is ticked. When unticked the server is loopback-only and the QR code points at 127.0.0.1, which won't resolve from other devices.
  • If your sim PC has multiple network adapters (Wi-Fi + Ethernet, VPN, Hyper-V virtual switches), the auto-picked LAN address may not be the one the device can reach. Use the LAN Address dropdown in the Quick Access card to pick a different one and the QR code will refresh.
  • Windows Firewall may block inbound traffic on the chosen port (default 5001). Either allow Prosim2GSX through the firewall or open the port manually.
  • The arrival-gate handler (gsx_handler.py) talks to the web server over loopback specifically. The script's PROSIM2GSX_PORT constant is kept in sync automatically with WebServerPort β€” Prosim2GSX rewrites it in every installed %appdata%\Virtuali\Airplanes\prosim-a322-*\gsx_handler.py on startup and whenever you change the port in App Settings. If GSX was already running when you change the port, restart the sim so it reloads the updated script.

7.9 - Enabling the developer Debug surface

For deep diagnostics there is an opt-in Debug tab in the WPF UI plus a matching /debug HTML page on the web interface. Both are disabled by default so end-users never see them.

To enable: close Prosim2GSX, open %appdata%\Prosim2GSX\AppConfig.json, set "ShowDebugTab": true, save, and start Prosim2GSX again. The tab appears at the end of the tab strip and the /debug page becomes reachable on the web interface. Polling cadence is controlled by DebugRefreshMs (default 500 ms).

The Debug surface is read-only β€” it shows internal state for support purposes; it does not let you change anything.


About

GSX Integration for the Prosim A320

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages