Skip to content

[Feature]: macOS (macFUSE) support - working spike branch below #201

Description

@dlicudi

Proposed Solution

A working macFUSE port exists on a spike branch in my fork
(dlicudi/xearthlayer), using the fuse3 async backend, and flies in X-Plane 12.
Most recent test on 12.4.3 b4: a ~113 minute flight from LEMG. xearthlayer and
the mount stayed healthy the whole time; X-Plane itself crashed at ~113 min (an
X-Plane side stack overflow, see Known issue).

Links:

Environment:

  • macOS 26.4.1 (Apple Silicon, Metal)
  • X-Plane 12.4.3-b4 (build 124307)
  • macFUSE
  • Provider: Bing, consolidated ortho union mount

What works:

  • fuse3 mounts on macFUSE, X-Plane reads on-demand DDS tiles
  • Three-tier cache, prefetch, Web API telemetry, prewarm
  • Mount stays up across a long session, including bursts of macFUSE EINVAL
    replies that previously tore it down

Requires a small fuse3 fork: samsoir/fuse3@configurable-background plus one
patch so macFUSE EINVAL replies do not tear the mount down.

Known issue: X-Plane crashes during long flights (~40 min on beta 3, ~113 min
on beta 4). Triaged from the X-Plane minidump: a stack overflow from infinite
recursion in an X-Plane background worker thread (EXC_BAD_ACCESS /
KERN_PROTECTION_FAILURE, ~13,400 recursive frames). No XEL or macFUSE frames
appear in the stack, and xearthlayer plus the mount stay healthy across the
crash, so this is an X-Plane side bug, possibly triggered by the lazily served
textures, not a fault in XEL.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions