Kahvibreak on Linux (beta)


for Kahvibreak Launcher: libnss3 , libgtk-3.0
for KEmulator: wine (x86_64 users might need Wine with support for 32-bit Windows applications, for Debian and derivates see: https://wiki.debian.org/Wine#Installation_on_Debian_Jessie_and_newer)

A font with extensive international character support is required for display of some games characters in the launcher and while running on FreeJ2ME. Most desktop distros are already bundling these. If you come across missing characters in FreeJ2ME, install a font like Droid Sans Fallback.


Download Kahvibreak from https://bluemaxima.org/kahvibreak/. Version 1.4 is recommended. Older versions may not work.

Extract the archive and enter the Kahvibreak directory (which contains the Launcher, Games, Data and Software subdirectories). This directory will be refered to as "Kahvibreak home" in this guide.

Replace the Kahvibreak Launcher with the Linux version:

If you prefer or need so, you can build the Kahvibreak Launcher from source code (It is an Electron app, based on Flashpoint Launcher): KBLSources.7z
Otherwise, perform the following steps:
  1. Remove the Launcher directory
  2. Get the Launcher-Linux_common.tar.xz file. This archive contains the architecture-independent files of the launcher. Extract the tar.xz archive to the Kahvibreak home
  3. Get either the Launcher-Linux_x64.tar.xz (64-bit) or Launcher-Linux_x86.tar.xz depending on your system architecture and extract it to the Kahvibreak home

Replace the emulator launching scripts with the replacements for Linux:

  1. Remove the Software directory
  2. Extract the Software.tar.xz archive at the Kahvibreak home. This archive contains Linux replacements for the emulator launch scripts, and batch scripts adapted for running KEmulator under Wine

Note: You will notice plenty of *.bat files at the Software/ directory. These are actually shell scripts. They act as a wrapper, executing the original ones at Software/win32/ with WINE. The .bat extension has been kept for the sake of simplicity and compatibility with unmodified Kahvibreak datasets.

Setup a wineprefix for Kahvibreak:

Note: A wineprefix is WINE's configuration and data directory. By default, it is at the $HOME/.wine directory. By overriding this via the WINEPREFIX environment variable, several WINE environments can be isolated from each other. The following steps won't alter your current WINE settings, if any.

  1. Create a wineprefix directory at Kahvibreak home
  2. Open a terminal, and set the WINEPREFIX variable pointing to this directory: at Kahvibreak home, run the command export WINEPREFIX=`pwd`/wineprefix
  3. now run winecfg from the same terminal. This will initialize the wineprefix, and open the Wine configuration dialog (Note: this won't affect your standard Wine settings, only the settings of this wineprefix)
  4. (Optional step) If you want to avoid access to your full home directory from within this wineprefix under which KEmulator and games will run, perform the following steps:
    1. Go to the Desktop Integration tab and for each of the folders disable the Link to option
    2. Go to the Drives tab, select the Z: drive and remove it
  5. Go to the Drives tab, and add the following entries:
  6. Apply the changes and exit winecfg

Setup the fonts for KEmulator 0.9.8: (This is required due to a bug with the old JRE used by KEmulator 0.9.8)

  1. Make sure you have the WINE fonts installed. They are usually found at /usr/share/wine/fonts . Check the contents of the directory for a tahoma.ttf file (IE, by running ls /usr/share/wine/fonts/ on a terminal)
  2. Now, create symlinks at wineprefix/drive_c/windows/Fonts/ to the TTF fonts at /usr/share/wine/fonts/ : On a terminal at the Kahvibreak home directory, execute: ln -svt wineprefix/drive_c/windows/Fonts/ /usr/share/wine/fonts/*.ttf (or manually copy the fonts into wineprefix/drive_c/windows/Fonts/ )

Kahvibreak is (hopefully) ready now. Run the launcher by executing the FlashpointLauncher executable at the Launcher-Linux_x64 or Launcher-Linux_x86 directory.

If you come across any issue or would like to make a suggestion, you can find us at our Discord server