FNA is an open source reimplementation of the Microsoft XNA Framework, specifically the 4.0 Refresh revision. It started as a branch of MonoGame called "MonoGame-SDL2".
The goal of the project is to recreate a fast, portable, and accurate XNA4 runtime library that prevents the need for code/content changes on the part of the XNA game developer. The currently supported platforms include Windows, GNU/Linux, and macOS, with further platform support including those supported by SDL2.
Launch Options
As of FNA 20.01, a handful of command line arguments are supported automatically by games using FNA:
| Parameter |
Description
|
/enablehighdpi:1
|
On macOS and Wayland, attempt to use a Retina-capable window
|
/mojoshaderprofile:...
|
Force a specific shader profile. Available options: glsl120, glspirv
|
/backbufferscalenearest:1
|
When scaling the game resolution, use a nearest-neighbor filter. Useful for pixel art games.
|
/usescancodes:1
|
Use scancodes for keyboard input, ignoring the user's keyboard layout
|
/disablelateswaptear:1
|
Do not use FIFO_RELAXED or EXT_swap_control_tear extension, disables adaptive VSync
|
/forcemailboxvsync:1
|
Enables triple buffering vsync with the Vulkan renderer
|
/glprofile:...
|
Force a specific OpenGL profile. Available options: es3, core, compatibility
|
/gldevice:...
|
Force a specific renderer. Available options: OpenGL, Vulkan, D3D11
|
More detailed information about these options can be found on the FNA Developer Wiki.
Joysticks
About XNA Joystick Support
XNA, being a Microsoft technology, centered its controller input around the Xbox 360 Controller. Because of this, the XNA API is not cleanly compatible with custom controllers, including the Xbox 360 Controller when not being read by XInput. However, a config format was developed to allow binding of joystick input values to a virtual 360 controller, which then gets read by XNA games.
Automatic Configuration: SDL_GameController
Since FNA uses SDL2 as its base library, we also get the benefit of SDL_GameController, a new subsystem added by Alfred Reynolds at Valve. This takes configurations for known controllers and automatically configures them for the virtual 360 controller, so if your controller is recognized, manual configuration is not necessary. If you run an FNA title through Steam, your controller will automatically be configured using the Big Picture Mode configuration. Additionally, FNA reads from a gamecontrollerdb.txt file for configurations, when it's found in the game's base directory. You can find a community-sourced database here.
About GUIDs
In addition to expanded configuration support, FNA provides the GetGUIDEXT extension that allows XNA devs to pull in a trimmed/standardized GUID string to determine the controller hardware and react accordingly. TowerFall Ascension uses this for button icon support, for example.
Consider this GUID from the PlayStation 4 controller:
// This is the string reported by SDL2's SDL_JoystickGetGUIDString:
// https://wiki.libsdl.org/SDL_JoystickGetGUIDString
// Note characters 9-12 and 17-20.
030000004c050000c405000011010000
// This is the GUID string returned by FNA. Get it?
4c05c405
For XInput controllers on Windows, the GUID string is simply 'xinput'.
Sony Light Bar Support
- Previously only supported on Linux, FNA 21.01 introduced LED support for all operating systems.
FNA supports the DualShock 4 and DualSense light bar, although it requires game developers to make use of the SetLightBarEXT extension to set the color of the light bar by way of adjusting the brightness of the RGB LEDs.
| Game |
Developer |
Publisher |
First release |
| A Virus Named TOM |
Misfits Attic |
|
2012-08-01 |
| Akane the Kunoichi |
Haruneko Entertainment |
|
2014-05-02 |
| Amorous |
Team Amorous |
Snaggletooth Studios |
2018-04-13 |
| Apotheon |
Alientrap Games |
|
2015-02-03 |
| Axiom Verge |
Thomas Happ Games |
|
2015-05-14 |
| Axiom Verge 2 |
Thomas Happ Games |
|
2021-08-11 |
| Bastion |
Supergiant Games |
Warner Bros. Interactive Entertainment, Supergiant Games |
2011-08-16 |
| Before the Echo |
Iridium Studios |
|
2011-10-20 |
| Bleed |
Bootdisk Revolution |
|
2012-11-28 |
| Bleed 2 |
Bootdisk Revolution |
|
2017-02-08 |
| Blueberry Garden |
Erik Svedäng |
|
2009-06-10 |
| Brushwood Buddies |
Steven Colling |
|
2016-02-17 |
| Capsized |
Alientrap Games |
|
2011-04-29 |
| Cat Warrior |
Sadi & Ayu |
sadimakegames |
2024-01-17 |
| Celeste |
Extremely OK Games |
|
2018-01-25 |
| Charlie Murder |
Ska Studios |
|
2017-05-12 |
| Chasm |
Bit Kid |
|
2018-07-31 |
| CometStriker DX |
Iced Lizard Games |
|
2018-06-08 |
| Cryptark |
Alientrap Games |
|
2017-06-20 |
| Crystal Project |
Andrew Willman |
|
2022-03-31 |
| Curse of the Crescent Isle DX |
Adam Mowery |
|
2015-08-21 |
| Dust: An Elysian Tail |
Humble Hearts |
Microsoft Studios |
2013-05-24 |
| Escape Goat |
Magical Time Bean |
|
2012-06-14 |
| Escape Goat 2 |
Magical Time Bean |
Double Fine Productions |
2014-03-24 |
| Fez |
Polytron Corporation, BlitWorks |
Trapdoor |
2013-05-01 |
| Fist Puncher |
Team2Bit |
Adult Swim Games |
2013-06-21 |
| Flinthook |
Tribute Games |
|
2017-04-18 |
| Flotilla |
Blendo Games, Ethan Lee |
|
2010-02-27 |
| Fossil Echo |
Awaceb |
|
2016-07-08 |
| Full Metal Furies |
Cellar Door Games |
|
2018-01-17 |
| Gateways |
Smudged Cat Games |
|
2012-06-22 |
| Gnomoria |
Robotronic Games |
|
2016-02-23 |
| Growing Pains |
Smudged Cat Games |
|
2014-05-28 |
| Hacknet |
Team Fractal Alligator |
Surprise Attack Games |
2015-08-12 |
| Hidden in Plain Sight |
Adam Spragg |
|
2014-07-16 |
| Hive |
BlueLine Games |
|
2013-11-15 |
| Hyphen |
FarSpace Studios |
|
2015-02-12 |
| Jon Shafer's At the Gates |
Conifer Games |
|
2019-01-23 |
| Khet 2.0 |
BlueLine Games |
|
2014-10-01 |
| Kitsune Tails |
Kitsune Games |
Kitsune Games, MidBoss, LLC |
2024-08-01 |
| Little Racers Street |
Milkstone Studios |
|
2012-09-27 |
| Marvel Cosmic Invasion |
Tribute Games, Seaven Studio, Headbang Club |
DotEmu, Gamirror Games |
2025-12-01 |
| Melody's Escape |
Icetesy |
|
2016-05-20 |
| Mercenary Kings |
Tribute Games |
|
2014-03-25 |
| MidBoss |
Kitsune Games |
|
2017-05-25 |
| Murder Miners |
JForce Games |
|
2014-07-25 |
| Neverway |
Coldblood |
Coldblood, Outersloth |
2026-10-01 |
| Overdriven Reloaded |
TOMAGameStudio |
|
2016-10-07 |
| Owlboy |
D-Pad Studio |
IndieBox |
2016-11-01 |
| Paladin |
Pumpkin Games |
|
2017-03-20 |
| Panzer Paladin |
Tribute Games |
|
2020-07-21 |
| Poöf |
Arkedo Studio |
Neko Entertainment, Plug In Digital |
2013-11-08 |
| Press X to Not Die |
All Seeing Eye Games |
|
2017-10-06 |
| Quadrilateral Cowboy |
Blendo Games |
|
2016-07-25 |
| Reus |
Abbey Games |
|
2013-05-16 |
| Revolver360 Re:Actor |
Cross Eaglet |
AGM PLAYISM |
2013-12-29 |
| Rex Rocket |
Castle Pixel |
|
2014-08-05 |
| River City Ransom: Underground |
Conatus Creative |
|
2017-02-27 |
| Rogue Legacy |
Cellar Door Games |
|
2013-06-27 |
| Salt and Sanctuary |
Ska Studios |
|
2016-05-17 |
| Scott Pilgrim EX |
Tribute Games |
|
2026-03-03 |
| Shipwreck |
Brushfire Games |
|
2014-02-25 |
| Skulls of the Shogun |
17-BIT |
|
2013-07-29 |
| Slipstream |
ansdor |
|
2018-05-21 |
| Solaroids: Prologue |
DynF/X Digital |
|
|
| Soulcaster |
Magical Time Bean |
|
2012-02-10 |
| Soulcaster II |
Magical Time Bean |
|
2012-02-10 |
| SpeedRunners |
DoubleDutch Games, tinyBuild |
tinyBuild |
2016-04-19 |
| Star-Twine |
Eric Billingsley |
|
2011-04-29 |
| Staxel |
Plukit |
Humble Games |
2019-04-11 |
| Streets of Rage 4 |
Lizardcube, Guard Crush Games, DotEmu, BlitWorks |
DotEmu, Yooreka Studio |
2020-04-30 |
| Sumico - The Numbers Game |
Ludomotion |
|
2015-07-03 |
| Super Bernie World |
Gamedevs for Bernie |
Kitsune Games |
2020-03-09 |
| Super Rad Raygun |
TRU FUN Entertainment |
Rooster Teeth Games |
2016-11-08 |
| Teenage Mutant Ninja Turtles: Shredder's Revenge |
Tribute Games, Seaven Studio |
DotEmu, GameraGame |
2022-06-16 |
| Terraria |
Re-Logic |
|
2011-05-16 |
| The Adventures of Shuggy |
Smudged Cat Games |
|
2012-06-13 |
| The Dishwasher: Vampire Smile |
Ska Studios |
|
2017-05-12 |
| Timespinner |
Lunar Ray Games |
Chucklefish Games |
2018-09-25 |
| Tooth and Tail |
Pocketwatch Games |
|
2017-09-12 |
| TowerFall Ascension |
Extremely OK Games, Maddy Makes Games Inc. |
Maddy Makes Games Inc. |
2014-03-11 |
| Transistor |
Supergiant Games |
|
2014-05-20 |
| Unexplored |
Ludomotion |
|
2017-02-22 |
| Unrailed! |
Indoor Astronaut |
Daedalic Entertainment, bilibili |
2020-09-23 |
| Vay |
SoMoGa, SIMS |
SoMoGa |
2024-07-07 |
| Wizorb |
Tribute Games |
|
2011-11-07 |
| Wyv and Keep: The Temple of the Lost Idol |
A Jolly Corpse |
|
2013-08-14 |
References