PortMaster packaging and compatibility code for the Windows Steam release of The Swapper.
This repository does not contain game data. Users must provide their own legally owned copy of the game.
Copy the contents of the Steam install folder into:
ports/theswapper/gamedata/
The folder should contain TheSwapper.exe, mainSettings.ini, and the data
directory.
The game is a .NET Framework 4 assembly. The port runs it through PortMaster's Mono runtime and supplies native Linux replacements for the Windows-only native libraries used by the game.
src/: native compatibility libraries.packaging/: PortMaster launcher, setup script, metadata, and seed profile.scripts/: build and deployment helpers.build/: generated output.Dockerfile: AArch64 build environment.
Build the native compatibility libraries:
makeOr build in Docker:
scripts/build-docker.shBuild a PortMaster staging tree:
make packageThe package template includes the PortMaster support libraries required by this
port. The build step adds the local compatibility shims into libs.aarch64.
After building, deploy the package to a muOS/PortMaster device reachable over SSH:
scripts/deploy-muos.sh <ssh-host>Deploy to a Knulli device:
scripts/deploy-knulli.sh <ssh-host>Deploy to a dArkOS device:
scripts/deploy-darkos.sh <ssh-host>To test the same install path users will use, copy the zip into PortMaster's autoinstall folder:
scripts/deploy-muos.sh --autoinstall <ssh-host>
scripts/deploy-knulli.sh --autoinstall <ssh-host>
scripts/deploy-darkos.sh --autoinstall <ssh-host>Then open PortMaster on the device. PortMaster will install the zip and update the frontend metadata.
The deploy scripts use the standard single-card PortMaster paths by default. The Knulli and dArkOS helpers also accept explicit directories for custom layouts:
scripts/deploy-knulli.sh --ports-dir /userdata/roms/ports <ssh-host>
scripts/deploy-knulli.sh --autoinstall-dir /userdata/system/.local/share/PortMaster/autoinstall <ssh-host>
scripts/deploy-darkos.sh --ports-dir /roms/ports <ssh-host>
scripts/deploy-darkos.sh --autoinstall-dir /roms/tools/PortMaster/autoinstall <ssh-host>The host can also be provided with SWAPPER_DEPLOY_HOST.
For local testing, SWAPPER_GAMEFILES_DIR can point at a Steam install folder
to copy unmodified game files into ports/theswapper/gamedata.
SWAPPER_GAMEFILES_DIR=/path/to/The\ Swapper \
scripts/deploy-muos.sh <ssh-host>Set SWAPPER_RESET_SETUP=1 to force the first-launch setup step to run again on
the next launch.
The launcher uses PortMaster's patcher UI for first-run setup. The setup step
validates the game files, installs the Mono DLL map, downscales selected texture
assets in the user's local gamedata copy, seeds a low-spec profile if no
profile exists yet, and marks setup complete.