7 Configuration Hints
This section covers SDL configuration hints, which are variables that affect SDL’s behavior. Hints can be set before or during SDL initialization.
7.1 Core Hint Operations
'default —
Low priority, can be overridden by environment variables 'normal —
Normal priority (default) 'override —
High priority, overrides environment variables
Returns #t if the hint was set.
(set-hint! 'render-vsync "1") (set-hint! 'app-name "My Game" 'override)
Returns #f if the hint is not set.
procedure
(get-hint-boolean name default) → boolean?
name : symbol? default : boolean?
Returns default if the hint is not set.
procedure
(reset-hint! name) → void?
name : symbol?
procedure
7.2 Available Hint Names
Hint names are specified as symbols:
'app-name —
Application name (shown in audio controls, taskbar) 'app-id —
Application ID (used by desktop compositors) 'render-driver —
Renderer to use ("opengl", "metal", "vulkan", "software") 'render-vsync —
Enable VSync ("1") or disable ("0") 'video-allow-screensaver —
Allow screensaver ("1") or prevent ("0") 'framebuffer-acceleration —
Framebuffer acceleration hint 'mouse-relative-mode-warp —
Mouse relative mode warp behavior
7.3 Convenience Functions
procedure
(set-app-name! name) → boolean?
name : string?
Should be called before sdl-init!.
(set-app-name! "My Awesome Game") (sdl-init!)
procedure
(set-app-id! id) → boolean?
id : string?
Should be called before sdl-init!.
procedure
(set-render-driver! driver) → boolean?
driver : string?
Should be called before creating a renderer.
Common drivers: "opengl", "metal", "vulkan", "software".
;; Force software rendering (set-render-driver! "software")
procedure
(allow-screensaver! enabled?) → boolean?
enabled? : boolean?
;; Prevent screensaver during gameplay (allow-screensaver! #f) ;; Allow screensaver when paused (allow-screensaver! #t)