Skip to content

Instantly share code, notes, and snippets.

@Chooks22
Last active July 16, 2024 02:03
Show Gist options
  • Save Chooks22/a34e907d3b3ef3fc22b19a3d9954a8c7 to your computer and use it in GitHub Desktop.
Save Chooks22/a34e907d3b3ef3fc22b19a3d9954a8c7 to your computer and use it in GitHub Desktop.
How To Run Koikatsu in Linux using Bottles

How To Run Koikatsu in Linux using Bottles

Installing Bottles

Bottles is a Graphical Frontend for managing your Wine Applications.

Basically it's an app that allows you to click buttons to play games instead of typing random commands you don't understand that you copy-pasted from the internet into your terminal.

For Ubuntu-based distros (apt install)

# if you haven't installed flatpak yet
$ sudo apt install flatpak
$ sudo flatpak install com.usebottles.bottles

Note: You may need to logout and log back in for the Bottles app to show.

For Arch-based distros (using AUR helpers)

$ yay -S bottles

For other distros

For other distros, visit https://usebottles.com/download/

Setting up Koikatsu

Note: This guide does not cover how to download the game. There are other guides for that. As long as you can get the relevant files this guide should work.

  1. Create a new Bottle:
    1. Click the "Create a new Bottle" button (or the "+" button in the upper left)
    2. Name it koikatsu
    3. Select the "Gaming" environment
    4. Click "Create"
  2. Add winhttp override:
    1. Utilities
    2. Wine config
    3. Libraries
    4. Select winhttp under "New override for library"
    5. Click "Add" > "OK"
  3. Under the "Dependencies" tab, install the following:
    • allfonts
    • mono
  4. Under the "Programs" tab, click the "+" button up top and browse and select your executables:
    • Koikatu.exe/Koikatsu.exe
    • CharaStudio.exe
    • KKManager.exe
    • etc.
  5. Run the game. Enjoy!

Running Games Using The Terminal

Bottles allows you to run executables once you've set up a bottle using the bottles command.

To run an executable using an existing environment (in this example, run Koikatsu.exe under the koikatsu bottle), run the command:

# cd into the directory if you're not in the directory yet.
$ cd ~/Games/Koikatsu
# this command runs "Koikatsu.exe" under the "koikatsu" bottle
$ bottles-cli run -b koikatsu -e ./Koikatsu.exe

Note: For more info, run bottles-cli -h

Creating a Desktop Entry

Desktop Entries allows Desktop Environments to let you essentially search for apps in a user-friendly way.

These files end in .desktop, and for regular users these files live in $HOME/.local/share/applications/.

The snippet below is an example of what a Desktop Entry for Koikatsu Party would look like:

[Desktop Entry]
Type=Application
Name=Koikatsu Party!
Comment=The Ultimate Anime Character Maker
Icon=/home/user/.icons/koikatsu.png
Path=/home/user/Games/Koikatsu
Exec=bottles-cli run -b koikatsu -e ./Koikatsu.exe
Categories=Game;

Desktop entries really only need the Type and Name field, but that would do nothing but just show on the list.

Breaking this down, the sample above does the following:

  • The Type is Application, which means it should launch using its proper handler (like file.txt should be opened by Notepad on Windows, etc.)
  • The Name of the app is Koikatsu Party!, which means it would show up on the list with the proper name.
  • The Comment field is optional. It just shows extra information if the launcher you're using supports it.
  • The Icon field lets the launcher display an icon if your launcher supports it.
  • Path lets us go to the directory where the executable lives. This just lets us shorten our Exec field so it's not super long.
  • Exec is what the launcher should run when we try to open the application.
  • Categories lets you search by category if your launcher supports it. In this case it means searching for game would show our app along with other games.

This file could be named as Koikatsu Party!.desktop, and should be placed at /home/user/.local/share/applications/Koikatsu Party!.desktop.

Note: Koikatsu Party!.desktop could be named anything, as long as it ends with the .desktop extension.

@Yuriyalloween
Copy link

How's the performance using this method?

@Chooks22
Copy link
Author

How's the performance using this method?

I don't have a Windows install available, but from asking around in their Discord server while testing this script performance seems to be on par. Same load times, same issues, etc.

@mirkobrombin
Copy link

mirkobrombin commented Jun 24, 2022

Just some improvements:

  • to launch the program from CLI use the -p flag without need to point to the executable: bottles-cli run -b <bottleName> -p <programName> or flatpak run —command="bottles-cli" com.usebottles.bottles run -b <bottleName> -p <programName> if Flatpak
  • to make a desktop entry just press "Add Desktop Entry" in the program menu (3 dots on the right)
  • If using Flatpak, move the whole game folder inside the bottle ("Browse Files", 3 dots icon in the bottle’s view) or give the permissions to the Flatpak to reach the path (e.g. using Flatseal)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment