Installation¶
Installing (end users)¶
- Windows — run the Inno Setup installer, or unzip the portable package
anywhere and run
kat5200.exe. - Linux — install your distro's package if available, or build and install from source (below). A Flatpak is also supported.
- macOS — open the
.dmgand dragkat5200.appto Applications. - Android — install the APK. Phones, tablets, Android TV / Google TV, and Fire TV devices are supported.
Android APK installs¶
kat5200 is distributed as a directly installable APK, not through the Play Store. The APK is still signed for Android installation, but Android treats it as an unknown-app install because it did not come from the Play Store. Android may ask you to allow the app that opens the APK, such as your browser or file manager, to install unknown apps.
On most phones and tablets, this is under:
Settings > Apps > Special app access > Install unknown apps
Choose the browser or file manager you are using, then allow installs from that source. Developer mode is usually not required for normal APK sideloading. It is only needed for USB/ADB installs on devices that require USB debugging. On Android TV / Google TV and Fire TV devices, the setting name and location vary by vendor; look for Unknown sources, Install unknown apps, or enable Developer options only if you are installing with ADB.
Building from source¶
CMake is the single source of truth on every platform. Out-of-source builds
are required (build into a separate directory such as build/). Install the
required libraries — SDL3, SDL3_image, zlib (and optionally a
ROM-download backend) — before configuring.
Linux¶
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4
sudo cmake --install build
The install step places the kat5200 binary in bin/, the seed config / shader
bundles / generated profiles.zip in ${KAT_DATADIR} (default
<prefix>/share/kat5200), and the icon, .desktop entry, and .metainfo.xml
in the standard XDG locations.
Flatpak developer convenience targets (not part of the default build):
cmake --build build --target flatpak-install # install to user Flatpak
cmake --build build --target flatpak-bundle # shareable .flatpak
Development environment
Any Linux distribution with the required libraries installed should work. On older distros SDL3 may need to be built from source.
Windows (MSYS2 UCRT64)¶
Use the UCRT64 MSYS2 environment. Install the toolchain and libraries with
pacman (mingw-w64-ucrt-x86_64- packages for gcc, cmake, ninja,
pkgconf, SDL3, SDL3_image, zlib), then:
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4
Build a portable package (bundles the MinGW runtime DLLs):
cmake --build build --target kat5200-portable-package
# -> build/dist/kat5200-<ver>-win64-portable/ (and a matching .zip)
The installer is built by compiling kat5200.iss with Inno Setup (64-bit only).
macOS¶
Requires the Xcode Command Line Tools and SDL3 / SDL3_image from Homebrew.
cmake -B build && cmake --build build -j4
open build/src/kat5200.app
For a self-contained, relocatable .app plus a compressed .dmg (bundles the
SDL3 dylibs and re-signs ad-hoc):
cmake --build build --target kat5200-macos-dmg
# -> build/dist/kat5200-<ver>-macos.dmg
The bundle is only ad-hoc signed — Apple Developer ID signing and notarization remain a manual step before distributing off-machine.
Android¶
Toolchain: Android SDK (compileSdk 35), NDK 27.3.13750724, JDK 17, and Gradle.
The APK supports Android phones and tablets, Android TV / Google TV, and Fire TV
devices. Native code is packaged for the arm64-v8a, armeabi-v7a, and
x86_64 ABIs with minSdk 21; x86_64 is mainly for Android emulator images.
From android-project/:
cd android-project
./fetch-sdl-aars.sh # download SDL3 + SDL3_image .aar into app/libs/
./gradlew assembleDebug # or assembleRelease / build
The same APK has both launcher and leanback launcher entries, so it appears on phone/tablet launchers and Android TV home screens.
Configuration file¶
kat5200 stores all of its settings in a single TOML file named kat5200.conf.
On Linux this lives at:
~/.config/kat5200/kat5200.conf
On first run, a default kat5200.conf is seeded from the installed data
directory if one does not already exist. You normally edit settings through the
GUI menus; the file is written automatically when you save.
The current configuration directory is shown in Misc -> Configuration.
Portable mode¶
On Windows and Linux, kat5200 can run fully self-contained, keeping its files
next to the executable instead of in your home directory. (There is intentionally
no portable mode on macOS, which uses a relocatable .app bundle.) To enable it:
- Create a file named
portable.txtin the same directory as thekat5200executable. - Put a single
1in that file. - Make sure a
kat5200.confis present in that directory.
When portable mode is active, the configuration and related files are read from and written to the executable's directory.
First run¶
If no ROM, no BIOS, or no valid configuration is found, kat5200 starts in the GUI so you can configure it. Use the Setup window (described under Misc → Setup) to scan for BIOS and ROM files and set up your controllers before launching anything.