Guides / Steam Deck & Linux

Steam Deck & Linux

The Godot build of NOVA Swift runs on Linux x86_64 and the Steam Deck. It is a beta: it has been played on real Linux hardware and a Steam Deck, but it is new, so this page is upfront about what is still rough.

Beta status

It's a beta. The Linux package has been played on real Linux hardware and on a Steam Deck. It is still new, so expect rough edges, and please report anything odd.

Players supply their own EV Nova data. Nothing ships in the download.

Install

The current build is v1.0.0-beta.1. On a Steam Deck, do these steps in Desktop Mode.

  1. Download

    Open the GitHub Releases page and download NovaSwift-linux-x86_64.tar.gz. Use the Releases page rather than "latest", which skips pre-releases.

  2. Extract

    Extract it somewhere writable, for example ~/Games/NovaSwift. Keep the install folder writable if you want in-game updates to work.

    # example
    mkdir -p ~/Games
    tar -xzf ~/Downloads/NovaSwift-linux-x86_64.tar.gz -C ~/Games
  3. Run

    Open the extracted NovaSwift folder and run NovaSwift.sh. The first screen is the Data Setup wizard. See Import your EV Nova data.

The package includes the game, its libraries and the Swift runtime. It was built on Ubuntu 22.04 and needs no newer than glibc 2.35, which SteamOS 3 and current distributions exceed. There is a menu-entry file, novaswift.desktop, in the package sources. Copying it to ~/.local/share/applications/ (after pointing its Exec and Icon lines at absolute paths) is optional.

Add it to Game Mode

  1. Add a non-Steam game

    In Desktop Mode, open Steam, choose Games, then Add a Non-Steam Game to My Library, then Browse, and select NovaSwift.sh (or NovaSwift.x86_64). No Steam API or steam_appid.txt is needed. NOVA Swift also runs fine outside Steam.

  2. Pick the Gamepad template

    Open the shortcut's Controller settings and choose the Gamepad template, so Steam Input presents a plain Xbox-style pad. Avoid the Keyboard + Mouse templates. You do not need to map the trackpads.

  3. Switch to Game Mode

    Return to Game Mode and launch NOVA Swift from your library. Run it fullscreen in Settings, Graphics.

The Deck's 1280x800 screen is used fully, not letterboxed. The game's base size is 1280x720 and it stretches to fill the extra height.

Controller layout

NOVA Swift reads the Deck as a standard gamepad through Steam Input. Defaults:

ActionDeck control
Turn and thrustLeft stick
Aim (ship faces the stick)Right stick
Thrust / reverseRT / LT
Fire primary / secondaryA / B
AfterburnerL3 (press left stick)
Target nearest / nearest hostileX / Y
Clear targetR3 (press right stick)
Previous / next secondaryLB / RB (tap)
Jump / land / hail / boardD-pad up / down / left / right
Galaxy mapView (tap)
Pause menuMenu
Action wheelsHold LB, RB or View, flick the right stick, release

The Deck's own button names for View and Menu map to Back and Start in the game. Menus use the controller cursor, and text entry opens an on-screen pad keyboard. Everything is rebindable in Settings, Controls. The Controls & controllers guide has the full tables, action wheels and the cursor.

Import your EV Nova data

The game has no demo mode. Until your data is imported, the Data Setup wizard is the only thing it shows, apart from Settings and Quit. See Getting started for where to find the data and what the wizard accepts. On a Deck:

  1. Get the files onto the Deck

    In Desktop Mode, put the Windows .zip or the game folder on the Deck. A USB stick or SD card appears under /run/media/..., and a browser download lands in ~/Downloads. The zip does not need unzipping.

  2. Browse to it

    Back in NOVA Swift (Game Mode is fine), choose Browse… in the wizard. The built-in file browser has shortcuts for Home, Downloads and the SD card, and it is fully controller driven: A opens, B goes up, Y uses the current folder and X cancels. Installs the game spots by itself are listed on the page.

  3. Let it copy

    The wizard validates the data and copies it into NOVA Swift's own folder. Your originals are never changed, and it keeps your previous data until the new copy passes.

To change the data later: Settings, Data & Advanced, Re-import / Change Game Data….

Original movies (optional ffmpeg)

EV Nova's movies, such as the race clips, are QuickTime files, which the game engine cannot play directly. NOVA Swift converts them once, using ffmpeg. If ffmpeg is not found, movies are simply skipped and everything else still works, as with the original's QuickTime Movies preference turned off.

If your movies do not play, install ffmpeg:

# SteamOS: unlock the read-only system first (updates may remove ffmpeg again)
sudo steamos-readonly disable
sudo pacman -S ffmpeg

A static ffmpeg binary placed on your PATH also works, for example ~/.local/bin/ffmpeg. The game also looks in /usr/local/bin and /usr/bin. On other distributions, use your package manager. Any ffmpeg is fine.

Updates

The game checks GitHub for a newer release when the main menu opens, at most once a day, and never downloads anything until you choose Update Now. The other choices are Skip This Version and Later. Updates are cryptographically signed, and anything that does not verify is refused.

  • Settings, Data & Advanced, Updates has Check for updates (on by default) and Experimental updates (off by default). Experimental builds can be unstable or break saves.
  • If the install folder is read-only, or the game was installed through a system that manages itself (Flatpak, AppImage, Snap), the prompt offers Open Download Page instead.
  • If an update fails, the previous version is restored automatically and the next start tells you why.
  • Your pilots, settings and game data live outside the install folder, so updates never touch them.

The updater has not yet been verified end to end on an installed build. If it misbehaves, download the new tarball from Releases and extract it over the old folder.

File locations

WhatWhere
Imported EV Nova data~/.local/share/NovaSwift/data
Pilots (.evpilot and backups)~/Documents/NovaSwift/Pilots by default. Changeable in Settings, Data & Advanced, Saved Games.
Settings and other app data~/.local/share/godot/app_userdata/NOVA Swift (Godot)/
Install folderWherever you extracted it, for example ~/Games/NovaSwift

Known limits

  • It is a beta. Report anything odd.
  • The in-game updater has not been verified end to end on an installed build yet.
  • Windows has its own beta build: see Windows setup.
  • HD art packs and live 3D ship models are Apple-only. Plug-ins still work.
  • The Godot build is still catching up with the Apple app in places. See the status page for details.
  • Multiplayer is available over LAN, by IP address and on dedicated servers. See the Multiplayer guide.
  • There is also a NovaSwift-macos-arm64.zip from the same Releases page. It is a test build and is not notarised, so right-click the app and choose Open the first time. On a Mac, use the native TestFlight app instead.

Troubleshooting

The game does not start

Make sure you extracted the whole archive and are running NovaSwift.sh from inside the extracted folder, and that the file is allowed to run. Run it from a terminal to see any error message.

I only see the Data Setup screen

That is expected until your data is imported. Run through the wizard. If it reports a problem, check that you picked the game folder, Nova Files folder, .rez/.ndat files or the Windows zip, and that the disk has free space.

I cannot find my files in the browser

Use the shortcuts at the top of the browser for Home, Downloads and the SD card. Removable media shows up under /run/media/....

The controller does nothing in Game Mode

Check that the shortcut's controller layout is the Gamepad template and not a keyboard-and-mouse one.

No movies

Install ffmpeg as described above. Movies are optional.

Something looks wrong or crashes

In the game, go to Settings, Data & Advanced, Report a Bug… to build a diagnostics bundle, then open a GitHub issue and attach it. Include your Deck model, SteamOS version and whether you were in Desktop Mode or Game Mode.