A portable arcade frontend session manager for Windows 10+. For use with HyperSpin, AttractMode, etc.
FE Launcher is a rock-solid session manager that provides a variety of functionality allowing users to turn a Windows PC into a managed arcade machine.
It acts as a wrapper layer around any modern arcade frontend of choice, allowing you to launch pre-processes, run Lua hooks, and manage sessions on an OS level. If a pre-process or its children unexpectedly terminates, FE Launcher can automatically end or restart the session.
- Reliably launch pre-processes and frontend process as a tracked session
- End sessions with the click of a button, or control when the session should end gracefully
- Script custom pre/post-session hooks with an integrated Lua interpreter
- Add custom scripts to tray menu for easy user access, e.g., a dependency installer
Important
FE Launcher is intended for recent versions of Windows 10 (1809+) and Windows 11.
FE Launcher is as a completely portable system tray application, distributed as a single binary. It is recommended to place the executable at the root of your arcade drive.
Upon first startup, FE Launcher will create a folder named felauncher in the current directory. This folder will contain the log and settings files, and a hooks directory for scripts.
Note
felauncher.exe requires administrator privileges to allow seamless process launching without UAC prompts and to manage startup tasks via Task Scheduler.
The solution consists of 6 projects:
| Project | Description |
|---|---|
FELauncher.Host |
Entrypoint/lifetime; encapsulates generic host, bootstraps core functionality, and registers DI services |
FELauncher.Shared |
Shared contracts and constants |
FELauncher.Engine |
The core implementation of the app's features |
FELauncher.UI.Shell |
Native system tray menu and Windows 10 notification functionality |
FELauncher.UI.Desktop |
WPF settings GUI |
FELauncher.Tests |
Unit tests |
Releases are built by publishing the FELauncher.Host project with the included x64.pubxml profile.
To publish with cli:
dotnet publish src/FELauncher.Host/FELauncher.Host.csproj -p:PublishProfile=x64This will output the executable felauncher.exe located in the build folder bin/x64/.
Unit tests are located in the FELauncher.Tests project. xUnit is used for testing.
To run all tests:
dotnet test- Ensure current feature set works as expected.
- Write user documentation
- Support CIFS login with Credential Manager and provide Lua API for managing symlinks in scripts.
- Add support for multiple sessions.
- Implement a sleep timer: e.g., Wait
xminutes before ending session and shutting down or sleeping Windows.
This project is licensed under the MIT License. See the LICENSE file for details.

