Skyline
Search
An error has occurred
Copied to clipboard
Settings
Share Logs
Refresh
Share log file
No logs were created during the last run
All
Metadata Missing
Icon
Cannot find any ROMs
Pin
Play
Searching for ROMs
Invalid file
Missing title key
Incomplete production keys
Emulator
Search Location
View Internal Directory
Opens Skyline\'s internal directory in a file manager
Cannot find an external file manager to open Skyline\'s internal directory
Theme
Game Display Layout
Group Games By Format
Games will be shown as a single list
Games will be shown grouped by format
Games Sorting Order
Always Show Game Information
Game information will be shown on clicking a game
Game information will only be shown on long-clicking a game
Show Performance Statistics
Disable shader cache
Performance Statistics will not be shown
Performance Statistics will be shown in the top-left corner
Cached shaders won\'t be loaded, will cause stutters
Cached shaders will be loaded, can heavily reduce stuttering
Log Level
GPU Driver Configuration
Active driver: %1$s
Your device doesn\'t support custom drivers
System
Use Docked Mode
The system will emulate being in handheld mode
The system will emulate being in docked mode
Username
@string/app_name
Profile picture
System language
System region
Keys
Production Keys
Title Keys
Successfully imported keys
The path to the provided keys is invalid
The keys you tried to import are invalid
Failed to delete the currently installed keys
Failed to move the keys to the internal directory
Display
Screen orientation
Force Triple Buffering
Utilize at least three swapchain buffers (Higher FPS but more input lag)
Utilize at least two swapchain buffers (Lower FPS but less input lag)
Disable Frame Throttling
Game is allowed to submit frames as fast as possible (Only for benchmarking)\n\nNote: An alternative method is utilized to measure the FPS with this enabled, the figures must not be compared to throttled FPS figures
Only allow the game to submit frames at the display refresh rate
Use Maximum Display Refresh Rate
Sets the display refresh rate as high as possible (Will break most games)
Sets the display refresh rate to 60Hz
Aspect Ratio
Respect Display Cutout
Do not draw UI elements in the cutout area
Allow UI elements to be drawn in the cutout area
Executor Slot Count Scale
Scale controlling the maximum number of simultaneous GPU executions (Higher may sometimes perform better but will use more RAM)
Executor Flush Threshold
Controls how frequently work is flushed to the GPU
Use Direct Memory Import
May alter performance and stability in some games\nNOTE: This option only works on proprietary Adreno drivers
Force Maximum GPU Clocks
Forces the GPU to run at its maximum possible clock speed (May cause excessive heating and power usage)
Your device does not support forcing maximum GPU clocks
Hacks
Enable fast GPU readback
Fast GPU readback is enabled (Will break some games but others will have higher performance)
Fast GPU readback is disabled (Ensures highest accuracy)
Audio
Disable Audio Output
Audio output is disabled
Audio output is enabled
Debug
Enable validation layer
The Vulkan validation layer is enabled, major slowdowns are to be expected
The Vulkan validation layer is disabled
GPU Driver
Add a GPU driver
Delete this GPU driver
System Driver
The GPU driver provided by your system
Install
Installing the GPU driver…
GPU driver installed successfully
Failed to unzip the provided driver package
The supplied driver package is invalid due to missing metadata
The supplied driver package contains invalid metadata, it may be corrupted
Your device doesn\'t meet the minimum Android version requirements for the supplied driver
The supplied driver package is already installled
Input
On-Screen Controls
Enable On-Screen Controls
On-Screen Controls won\'t be shown
On-Screen Controls will be shown
Enable Haptic Feedback
Excludes joysticks and hardware controls
Edit On-Screen Controls layout
Setup Guide
Sequentially map every stick and button
Joystick
Confirm
Cancel
Recenter Sticks On Touch
Controller
Configure Controller
Controller Type
None
Handheld + Pro Controller
Pro Controller
Left JoyCon
Right JoyCon
General
Partner Joy-Con
Rumble Device
Supported
Not Supported
Press any button on a controller
Confirm choice by pressing a button again
Built-in
Built-in Vibrator
Reset
Buttons
Use any button or axis on a controller
Release to confirm selection
Hold to confirm selection
Sticks
Stick Button
Next
Stick X+ Axis (Right)
Stick Y+ Axis (Up)
Stick X- Axis (Left)
Stick Y- Axis (Down)
A
B
X
Y
Left Shoulder
Right Shoulder
Left Trigger
Right Trigger
Plus
Minus
Emulator Menu
Stick Preview
Done
Use any unmapped button to finish
Button
Up
Down
Left
Right
D-pad
Left Stick
Right Stick
Face Buttons
Shoulder & Trigger Buttons
Shoulder Buttons on Joy-Con Rail
Miscellaneous Buttons
Credits
Licenses
Skyline is licensed under Mozilla Public License 2.0
Ryujinx has been used for reference throughout the project due to their highly accurate implementations\n\nNote: Skyline is not based on Ryujinx
Skyline\'s shader compiler is a fork of yuzu\'s shader compiler with Skyline-specific changes while other changes are shared between them allowing both projects to benefit from the development of it\n\nNote: Using it in Skyline is only possible due to the licensing exemption granted to Skyline by the yuzu team
Skyline\'s shader compiler internally uses Sirit to emit SPIR-V in an efficient manner
Vulkan-Hpp provides a C++ API for Vulkan
Vulkan Memory Allocator provides a high-quality GPU memory allocator with UMA support
Khronos\'s Vulkan Validation Layer provides error-checking for Vulkan API calls in debug builds
Oboe is used for high-performance audio output
Perfetto is used to profile and debug with detailed tracing
{fmt} provides a modern C++ string formatting API
Boost provides high-quality implementations of containers and other convenience functions in C++
Range v3 is a reference implementation of ISO C++ 20 ranges, this allows us to use ranges while they are developed in LLVM\'s libc++
Frozen provides compile-time immutable hash maps with a perfect hash function for faster lookups
pugixml is used to parse the preference XML to retrieve settings from C++
Opus Audio Codec provides a high-quality Opus decoder used to decode Opus-encoded audio provided by the guest
Mbed TLS is used to decrypt AES-encrypted NCAs
LZ4 is used to extract LZ4-compressed ELF sections from an NSO
tzcode provides a C API to access tzdb for time zone data
Java String Similarity powers our search functionality
AndroidX provides a consistent user-experience across Android versions
Android Material Components provides a consistent Material Design UI
Kotlin Standard Library provides convenience functions in Kotlin
Dagger provides a framework for compile-time dependency injection
Material Design Icons provides consistent iconography throughout the application
Noto Sans is used as our FOSS shared font replacement for Latin, Japanese and (Traditional) Chinese
Roboto is used as our FOSS shared font replacement for Korean and Nintendo\'s extended character set
Input Text
Expand
Undo