-
Notifications
You must be signed in to change notification settings - Fork 0
03 05 Config display
This page introduces Sprint Boost display configuration at a practical level.
Because display config is large, layout definitions are documented on a separate page:
Display config controls how the game is shown on screen, including:
- Which layout starts by default
- Background color
- Font used for text/leaderboards
- Optional screensaver behavior after inactivity
- Whether you can switch layouts at runtime (through menus/hotkeys)
Display settings are relevant for:
boost_mode = "enhanced"
In off and basic, Sprint Boost is not using the enhanced display compositor path.
[display]
default_layout = "fullscreen"
background_color = "#313131"
font_path = "{gv.assets_fonts}/immortal.ttf"
[display.screensaver]
enabled = falseSets the layout name Sprint Boost tries first at startup.
default_layout = "fullscreen"Helpful mental model:
- Sprint Boost has a built-in
fullscreenlayout behavior that fills the screen with the game. - If you define your own layout named
fullscreen, your definition becomes the activefullscreenlayout. - You can set
default_layoutto any other layout name you define (for exampleold_tv,tot_layout, etc.).
Sets the display background/panel color behind layout content.
This is especially noticeable when the game does not fill the full screen.
Common example:
- If your game view is 4:3, the left/right side areas use
background_color. - Can choose this color to match their overlay/theme style.
background_color = "#313131"Related layout-level option:
-
display.layouts.<layout>.enable_game_border_background_color = true- Uses current game border color as the active layout background when available.
- Falls back to
display.layouts.<layout>.background_color(if set) or globaldisplay.background_color.
Sets the font used for display text and leaderboard rendering.
font_path = "{gv.assets_fonts}/immortal.ttf"If omitted, Sprint Boost tries built-in default font locations.
Sprint Boost can automatically switch to a screensaver layout after a period of inactivity.
This is useful when:
- a cabinet sits idle between players
- you want a cleaner attract-style idle state
- you do not want a normal gameplay screen sitting unchanged for long periods
The screensaver is configured under display.screensaver.
Basic example:
[display.screensaver]
enabled = true
inactive_seconds = 30
layout = "screensaver_layout"Practical example with more control:
[display.screensaver]
enabled = true
inactive_seconds = 45
layout = "screensaver_layout"
pause_emulation = false
drift_pixels_per_second = 24
background_color = "#000000"Turns screensaver behavior on or off.
enabled = trueDefault:
true
If enabled = false, the rest of the screensaver settings are ignored.
How long Sprint Boost waits with no activity before showing the screensaver.
inactive_seconds = 30Default:
0
Practical meaning:
-
0means the screensaver will not auto-start from inactivity - use a low number if you want a quick idle transition
- use a higher number if you want the game view to stay visible longer between actions
The layout Sprint Boost should show when the screensaver activates.
layout = "screensaver_layout"This should be the name of a layout you define under display.layouts.
Common pattern:
- define a simple layout with one game or image element
- use that layout only for the screensaver
If layout is missing, Sprint Boost has no screensaver layout to switch to.
Controls whether Sprint Boost pauses the emulator while the screensaver is active.
pause_emulation = falseDefault:
true
How to think about this:
-
true: gameplay pauses while the screensaver is active -
false: the game keeps running in the background while the screensaver is shown
Which to choose:
- use
truefor games where you do not want time, danger, or audio continuing unattended - use
falseif you want a more attract-style feel where the game continues behind the scenes
Controls how quickly the screensaver image drifts across the screen.
drift_pixels_per_second = 24Default:
30
Practical meaning:
- lower values move more slowly
- higher values move more noticeably
- this is mainly useful for screensaver layouts that show a centered game or image instead of a full-screen static panel
Sets a background fill behind the screensaver layout.
background_color = "#000000"Default:
- unset
Why you might use it:
- to fully black out the normal display behind the screensaver
- to make the idle presentation feel cleaner
- to avoid the base layout showing around a smaller drifting screensaver view
The screensaver config above points to a normal layout definition.
Simple example:
[display.screensaver]
enabled = true
inactive_seconds = 30
layout = "screensaver_layout"
pause_emulation = false
background_color = "#000000"
[display.layouts.screensaver_layout]
[[display.layouts.screensaver_layout.elements]]
type = "game"
x = "center"
y = "center"
width = 640
height = 480
aspect = "force_4x3"This gives you:
- a black background
- a centered 4:3 game view
- a smaller presentation that can drift around the screen
For more detailed layout structure and element reference, continue to the layout page.
Display layouts are named presets (for example fullscreen, old_tv, or game-specific layouts).
You can:
- start with one layout using
default_layout - switch layouts at runtime with menu/hotkey actions like
switch_layout
Runtime switching changes the current session view, but does not rewrite your config file.
Sprint usage is effectively single-window.
In practice, most Sprint users can leave window-control settings at defaults and focus on layout configuration (default_layout and layout definitions).
A secondary layout is often used as a temporary overlay view.
A common pattern is:
- Base layout includes
type = "game" - Secondary layout may include only images/text (no game element)
- Hotkeys show/hide or toggle that secondary layout for quick reference aids
This is how many field-guide and overlay patterns are built.
Display config follows normal config precedence:
- Folder-level display settings provide shared defaults
- Game-level display settings override for one title
Typical override examples:
- Change
default_layoutfor one game - Use a game-specific
font_path - Define game-specific layouts while keeping shared defaults elsewhere
For layout structure, elements, and examples, continue to: