FlightGear 11 min read 274 views

How do I fix TerraSync not working in FlightGear?

Adam McEnroe
In short

FlightGear TerraSync not working? Find the active cache and log, then fix Linux Mint permissions, TLS, scenery paths or corrupt tiles.

First confirm FlightGear’s Download scenery automatically control is enabled, or start it with --enable-terrasync. Find the active TerraSync root and startup log, then watch that root. If no files arrive, diagnose downloading; if Terrain and Objects update but scenery does not appear, diagnose search-path and priority problems.

Start with the active TerraSync directory and log

The startup log from the failing run is the authoritative record of whether TerraSync started and which directories FlightGear is actually using.

  1. Confirm TerraSync is enabled: In the FlightGear launcher, enable Download scenery automatically. Command-line users should use --enable-terrasync; --disable-terrasync overrides it.
  2. Find the live directory: Open the launcher’s log or console output after starting FlightGear. Search for TerraSync, terrasync-dir, FG_SCENERY and scenery path. Record the exact TerraSync path reported there rather than relying on an old default path from a guide.
  3. Check the folder while FlightGear runs: Look for new files, changing modification times and increasing folder size. TerraSync downloads only the tiles needed around the aircraft, so test somewhere not already supplied by another scenery installation.
  4. Choose the correct branch: An empty, unchanged folder means TerraSync is disabled, blocked, unable to start or unable to write. A growing folder containing scenery means the downloader works; concentrate on the scenery search path, loading order and restarting the simulator.

The supported command-line controls are --enable-terrasync, --disable-terrasync and --terrasync-dir=/absolute/path. For example, --terrasync-dir='/home/name/FlightGear/TerraSync' selects a specific download root. Our walkthrough for enabling FlightGear’s automatic scenery downloads covers the initial launcher setup without assuming one fixed operating-system path.

Which folder should FlightGear use — is “this folder” correct?

The correct folder is the TerraSync root: the directory that contains Terrain and Objects after scenery has downloaded.

Do not select Terrain itself. If you are asking “this folder, ¿está bien?”, open it and check its structure: Terrain and Objects should be children of the selected root, not the selected folders themselves.

FlightGear’s integrated TerraSync handling normally places its configured root in the active scenery search path. The root must be added explicitly when the startup log does not list it, which can happen with a standalone downloader, a pre-populated cache or custom command-line scenery settings. Use the launcher’s additional scenery setting or include the root with --fg-scenery=/path/to/TerraSync.

Verify the result in the next startup log. The active scenery paths should include the TerraSync root, while an earlier custom scenery root may take priority over the same tile. Temporarily testing with only the required base scenery and TerraSync root is safer than guessing which package is winning. See our explanation of FlightGear scenery roots and path priority if manually installed scenery is also present.

No scenery, “didn’t work” or “nope, still no”: follow the symptom

“No scenery” can mean either that nothing was downloaded or that downloaded scenery was not loaded, and those failures require different fixes.

Observed symptomWhat it usually meansNext action
The TerraSync root stays emptyDownloads are disabled, the process did not start, or network access is blockedCheck the enabled setting and the TerraSync, process and network lines in the log
Directories appear but files cannot be retainedThe root or one of its parent directories is unwritable, read-only or fullTest write access and free space using the active path
Terrain and Objects change, but the view remains unchangedThe wrong scenery root is active, another source has priority, or the tile was loaded before the download completedCheck the logged scenery-path order and restart FlightGear at the same location
Terrain appears but expected buildings or landmarks do notObjects did not finish, rendering settings hide them, or that detail is not present in the available dataCheck object-download messages, restart and compare another well-covered airport
The same tile downloads repeatedlyChanges are not being saved, or the local copy fails validationCheck permissions and storage, then run a clean-cache test
One region fails while other airports workA local tile is damaged or the problem is specific to upstream coverageIsolate the cache for that location and test a second airport before treating it as a server-wide failure

FlightGear TerraSync supplies terrain and scenery objects; it does not guarantee photographic imagery or every real-world building. Generic-looking but correctly shaped terrain can therefore be valid scenery rather than a failed download. For broader missing-terrain and rendering checks, use our diagnostic guide for missing FlightGear scenery.

Why am I getting this error?

Copy the complete timestamped log lines from these categories, including a few lines before and after the first error. The wording varies by FlightGear build, but the search terms and meanings are consistent.

Log category and terms to copyMeaningWhat to check
HTTP, connection refused, timeout, name resolution, 4xx or 5xxNetwork, DNS, proxy or remote-service failureAllow outbound access, test without a VPN or filtering proxy, and compare a second location
TLS, SSL, certificate, not yet valid or expiredA secure connection could not be validatedCorrect the computer’s date, time and time zone; then check the operating system’s certificate packages
permission denied, read-only, cannot create, cannot open or cannot renameFlightGear cannot write or replace files in the configured rootMove the root to a user-owned local folder or correct ownership without making it world-writable
executable not found, No such file or directory or failed to start processA package expects a separate TerraSync program or helper that is absentCheck how that FlightGear package exposes TerraSync; integrated builds do not necessarily install a separate terrasync command
checksum, hash, corrupt, parse, unexpected end or repeated tile failuresA cached file is incomplete or fails validationPreserve the old cache and repeat the location with an empty test root
FG_SCENERY, scenery path, Terrain and ObjectsThe log is showing where FlightGear searches; there may be no explicit errorConfirm that the TerraSync root, not its Terrain child, appears in the active path and is not hidden by an earlier scenery source

It was working a few hours ago

A failure after a previously successful session usually points to a changed network route, temporary remote error, full disk, clock correction, security update or damaged in-progress tile—not a need to reinstall FlightGear.

Keep the old log, restart once, and compare the first failing message with the earlier successful run. Check free space and the system clock before changing scenery paths. If the error is a timeout or remote status code, test a second airport and retry later rather than repeatedly deleting a healthy cache.

How do I run a clean-cache test without losing scenery?

Rename the old TerraSync root and test with a new empty root instead of deleting downloaded scenery.

  1. Close FlightGear completely. Confirm no TerraSync or FlightGear process is still writing to the directory.
  2. Preserve the cache: Rename the active root to something such as TerraSync-old. Do not move manually installed scenery into it.
  3. Create or select a new root: Configure an empty, user-writable folder such as TerraSync-test with the launcher or --terrasync-dir.
  4. Run one controlled location: Leave the simulator open until the log shows that requests have completed, then close and restart at the same airport.
  5. Interpret the result: If the fresh root works, the old cache or one of its tiles is damaged. If it fails identically, restore the original path and investigate the logged network, package or path error instead.

This test also prevents a common mistake: deleting gigabytes of valid scenery when only one cached tile is bad.

How should I test TerraSync at LSZH?

LSZH is useful as a location-specific test, but it should be compared with a second distant airport before blaming the TerraSync service.

  1. Isolate the relevant cache: The safest method is to point TerraSync to a new empty test root. This avoids guessing which tile directories cover LSZH and preserves the old cache.
  2. Start at LSZH: Keep FlightGear open while the log shows active scenery requests. Do not judge the result immediately after the first view appears.
  3. Restart at LSZH: Once requests have finished, close FlightGear and load LSZH again so terrain and objects are read from the completed cache.
  4. Test another distant airport: Use the same test root at a location outside the LSZH tile area.

If LSZH works with the clean root, its old local tile was the problem. If LSZH still fails but the second airport works, the issue is specific to the LSZH tile or available upstream coverage, not the global TerraSync setting. If neither airport downloads, return to the network, permission and executable messages in the log.

FlightGear TerraSync on Linux Mint

On Linux Mint, first establish whether FlightGear came from a Debian package, Flatpak or another installation method because each may package or expose TerraSync differently.

Identify the installed package and executable

  • List Debian packages with dpkg-query -W 2>/dev/null | grep -Ei 'flightgear|terrasync'.
  • If Flatpak is installed, check it with flatpak list --app 2>/dev/null | grep -i flightgear.
  • Locate the native simulator with command -v fgfs and resolve it with readlink -f "$(command -v fgfs)" only when the first command returns a path.
  • Check for a separate helper with command -v terrasync. No output is not automatically an error: an integrated FlightGear build may not require a standalone executable.

Do not assume that every Mint package includes a separate TerraSync package or command. A missing-executable message matters only when the installed build is actually trying to launch one.

Verify cache ownership, write access and free space

Set a shell variable to the exact root reported in the startup log, for example TSROOT='/home/name/FlightGear/TerraSync', then run these checks as the same user who starts FlightGear.

  • stat -c '%U:%G %A %n' "$TSROOT" shows the owner, group and permissions.
  • namei -l "$TSROOT" checks every parent directory; one inaccessible parent is enough to block TerraSync.
  • test -d "$TSROOT" && test -w "$TSROOT" && echo writable || echo not-writable-or-missing performs a basic access check.
  • touch "$TSROOT/.fg-write-test" && rm "$TSROOT/.fg-write-test" verifies that a file can actually be created and removed.
  • df -h "$TSROOT" reports free space on the filesystem holding the cache.
  • timedatectl status checks the system time and synchronisation status when the log contains TLS or certificate errors.

Avoid blanket commands such as recursive world-writable permissions. If the root belongs to root because FlightGear was previously run with sudo, move to a normal user-owned directory or correct only the affected ownership. Flatpak installations may also be unable to write to arbitrary external or removable locations even when ordinary Unix permissions look correct.

Inspect the Linux Mint user log

The launcher’s output from the failed run is preferable because packaged builds do not all save logs in the same directory. Save it before another launch replaces or obscures the useful lines.

To look for user log files in common per-user locations, use find "$HOME/.fgfs" "${XDG_STATE_HOME:-$HOME/.local/state}" "${XDG_CACHE_HOME:-$HOME/.cache}" -maxdepth 5 -type f 2>/dev/null | grep -Ei '/(fgfs|flightgear|terrasync).*[.]log$'. Systemd user messages can be checked with journalctl --user --since '1 hour ago' | grep -iE 'fgfs|flightgear|terrasync'.

For a native fgfs installation, a controlled terminal run can be captured with fgfs --enable-terrasync --terrasync-dir="$TSROOT" 2>&1 | tee "$HOME/flightgear-terrasync.log". This starts a separate test using the options supplied there; it does not reproduce every aircraft or launcher setting unless those options are added as well.

“Me saca”: FlightGear closes or returns to the launcher

If FlightGear closes or returns to the launcher, treat that first as a simulator crash rather than assuming TerraSync merely failed to download.

Keep the complete log from the crashing run, then repeat the same aircraft and location with automatic scenery downloads disabled or with --disable-terrasync. If it still closes, the crash is not fixed by changing the TerraSync cache. Aircraft, graphics driver, memory and rendering faults require separate diagnosis.

If disabling TerraSync prevents the crash, preserve the old cache and repeat with an empty test root. A damaged tile or scenery-triggered rendering problem is possible, but that result still does not prove a network failure. Do not discard the original crash log or expect scenery troubleshooting alone to repair the simulator.

Can I use FlightGear scenery without TerraSync?

Offline scenery is the practical alternative when a managed network blocks downloads, the simulator has no internet connection or secure connections cannot be made reliable.

Keep offline scenery in its own root and add that root to the scenery search path; do not mix it into the TerraSync download directory. Our downloadable HD world scenery package for offline FlightGear use provides broad coverage, although it requires substantially more local storage than downloading only the areas being flown.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members