Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/HarbourMasters/Starship/llms.txt

Use this file to discover all available pages before exploring further.

Starship’s graphics pipeline is built on top of libultraship and the Fast3D renderer, giving you a choice of three rendering backends alongside a wide set of quality-of-life settings for resolution, anti-aliasing, frame interpolation, and HUD scaling.

Graphics Backends

Three rendering APIs are supported. The default is chosen automatically based on your operating system.
DirectX 11 (id: 2) is the default backend on Windows and generally offers the best performance and compatibility.

Switching Backends via the Menu

  1. Press F1 to open the menu bar.
  2. Navigate to Graphics.
  3. Use the Renderer API dropdown to select a backend.
  4. Restart Starship for the change to take effect.

Switching Backends via Config File

If the game crashes before the menu is accessible, open starship.cfg.json in a text editor and locate the "Backend":{ block. Change id and Name according to the table below, then save and restart.
BackendidName
DirectX 112"DirectX"
OpenGL3"OpenGL"
Metal4"Metal"
"Backend": {
  "id": 3,
  "Name": "OpenGL"
}
Changing the backend requires a full restart of Starship. Unsaved progress will be lost.

Frame Interpolation (FPS)

Starship uses matrix interpolation to generate intermediate frames, producing smoother visuals without altering game logic, input timing, or glitch behaviour.
CVarDefaultDescription
gInterpolationFPS60Target interpolation framerate (30–360)
gMatchRefreshRate0When enabled, matches the interpolation target to the display refresh rate
Set the FPS slider in Graphics (under the menu bar) or edit gInterpolationFPS directly in starship.cfg.json.
Setting a target FPS higher than your monitor’s refresh rate wastes GPU resources without any visual benefit. Use Match Refresh Rate to avoid this automatically.

VSync

CVarDefaultDescription
gVsyncEnabled1Enables vertical sync; caps max FPS to the display refresh rate and eliminates tearing
Toggle Enable VSync in Graphics from the menu bar. VSync is on by default.

Render Parallelization

CVarDefaultDescription
gRenderParallelization1Allows the CPU to prepare the next frame while the GPU processes the current one
Render parallelization is only shown in the menu on DirectX 11. It adds up to one frame of input lag under certain scenarios but is recommended when you cannot reach your target FPS.
Internally, enabling this sets the maximum frame latency to 2 via:
wnd->SetMaximumFrameLatency(CVarGetInteger("gRenderParallelization", 1) ? 2 : 1);

Anti-Aliasing (MSAA)

CVarDefaultDescription
gMSAAValue1MSAA sample count — 1 disables MSAA, up to 8 for 8× MSAA
Adjust MSAA in Graphics from the menu bar. Changing this calls:
Ship::Context::GetInstance()->GetWindow()->SetMsaaLevel(CVarGetInteger("gMSAAValue", 1));
MSAA is not available on the Wii U platform.

HUD Aspect Ratio

The HUD (radar, gauges, and radio messages) can be locked to an independent aspect ratio so it doesn’t stretch on ultra-wide or non-standard displays.
CVarDefaultDescription
gHUDAspectRatio.Enabled0Enable a custom HUD aspect ratio
gHUDAspectRatio.X0Aspect ratio numerator
gHUDAspectRatio.Y0Aspect ratio denominator

Aspect Ratio Presets

Select a preset from Enhancements → HUD → HUD Aspect Ratio in the menu bar. The preset values written to the CVars are:
PresetgHUDAspectRatio.XgHUDAspectRatio.Y
Expand (default)
Original (4:3)43
Widescreen (16:9)169
Nintendo 3DS (5:3)53
16:10 (8:5)85
Ultrawide (21:9)219
Customuser-defineduser-defined
When Custom is selected, two sliders appear for the horizontal and vertical values (1–100 each).

Resolution Editor

The Advanced Resolution Settings window provides fine-grained control over the internal rendering resolution. Open it from Graphics → Resolution Editor in the menu bar (gAdvancedResolutionEditorEnabled).

Gamma Boost

CVarDefaultDescription
gGraphics.GammaMode00 = gamma boost enabled; 1 = gamma boost disabled
The gamma boost applies sRGB-aware tone correction to the rendered output. It is enabled by default. To disable it, toggle Disable Gamma Boost under Developer in the menu bar, or set gGraphics.GammaMode to 1 in starship.cfg.json.
A restart is required for gamma boost changes to take effect.

Alternate Assets

The alternate asset pack (custom .o2r/.otr mods in the mods/ folder) can be toggled without restarting.
CVarDefaultDescription
gEnhancements.Mods.AlternateAssets0Enable the alternate asset pack
  • Keyboard shortcut: Tab toggles this setting at any time.
  • Menu: Enable Alternative Assets in Graphics from the menu bar.

Texture Filtering

A global texture filter can be set from Graphics → Texture Filter in the menu bar (gTextureFilter). Available options are Three-Point, Linear, and None. To apply point filtering specifically to HUD elements only, enable Apply Point Filtering to UI Elements (gHUDPointFiltering, default 1). This setting requires a reload.

Build docs developers (and LLMs) love