Skip to content

Installing CKAN on Steam Deck

ACiDxCHRiST edited this page Aug 25, 2024 · 11 revisions

NOTE: These instructions might not work in the future. The Lutris-Method was last revised in 07.2024. The Distrobox-Method does not currently work.

These instructions were contributed by CKAN users who have Steam Decks (no one on the CKAN team has one).

Proceed only if you are prepared to figure things out yourself, and we'd love it if you could make improvements!


The Steam Deck's operating system features an immutable root filesystem, meaning Mono itself can't be installed. To get around this we can use Lutris to run it with Wine and Mono for wine. We can also use Distrobox to create a container in which we can install Mono and CKAN.

Lutris Method

Installing Lutris and mono

Open the Desktop Mode. Install Lutris and mono via Discover. See Lutris downloads page for more info.

Installing CKAN

Download the latest ckan.exe from GitHub Releases. In Lutris, add a new game by clicking the "+" in the top left corner. Choose the "Add locally installed game" option. On the Game info tab, Enter a Name (ie. "CKAN") and select "Wine (Runs Windows games)" as the Runner. On the Game options tab, select ckan.exe wherever you saved it. For Arguments, enter --asroot. For Wine prefix, create a new folder somewhere and select it (ie. ~/Games/CKAN). Set the Prefix architecture to "32-bit". Click "Save" in the top right corner.

Install dependencies within Lutris

Within Lutris, in the Games library, click on the newly added "CKAN". Click the wine glass icon to the right of "Play", then select "Winetricks". You will need to wait a short time while Wine sets itself up. Winetricks has a quirk, in that, it likes to open new windows in the background. Keep this in mind, you might need to open them up through the task bar or minimize the Lutris window (and any other windows you have open). To make the following steps less painfull, select "Disable silent install“ in the wintetricks window and click OK. Choose "Select the default wineprefix" and click OK. You will need to add dotnet48 to the wine prefix. Select "Install a Windows DLL or component" and click OK. Scroll down to dotnet48, select it and click OK. If you have silent install active, get a snack and a book to read. You will need to wait quite some time! If you have silent install disabled, walk through the installation.

Optionally, you can copy ckan.exe into the new "game" folder with a file manager to make file organization cleaner and have everything together (ie. ~/Games/CKAN/drive_c/ckan.exe). If you do this, you need to update the configuration of your CKAN "game" in Lutris by right clicking on the CKAN entry and selecting "Configure". On the Game options tab, update the Executable field to the new location that you copied ckan.exe to.

Prepare KSP

Open the file manager, in the left panel click on "Home". Then click on the burger menu on the top right (the three horizontal bars) and select "show hidden files". Navigate to .local/share/Steam/steamapps/common/Kerbal Space Program. You will see KSP.x86_64. Click and drag the icon to a free place in the folder and let go. Select "Link Here". You will be prompted to enter a new link name. Enter KSP_x64.exe, so CKAN recognises the executable.

Running CKAN for the first time

Start CKAN in Lutris by clicking Play. When creating a New game instance, click the "/" entry on the left hand side, then navigate to /home/deck, you'll need to type .local in the file name box and then hit enter to continue (since it is a hidden folder and you won't see it in the file browser) Continue navigating on to /home/deck/.local/share/Steam/steamapps/common/Kerbal Space Program or wherever you have KSP installed. Select KSP_x64.exe.

(OPTIONAL) Adding CKAN to Steam

If you want to be able to launch CKAN in game mode, you can add it to Steam, but this isn't necessary and it is better usability-wise to just use CKAN in desktop mode for mod management, then return to game mode to launch KSP and play. In Lutris, right click CKAN and select "Create steam shortcut" I highly recommend you start CKAN in Desktop Mode for the first setup and initial configurations, as the UI-scaling in Gaming-Mode does not work properly and you can not exit the settings menu without stopping CKAN entirely.

For regular mod management the Desktop mode works well enough. Set the controller layout for CKAN to "Mouse Only", as CKAN does not support controller input.

Distrobox Method

NOTE: These instructions currently do not work. The install-podman script was deprecated and the original contributors are no longer around to fix the instructions. We‘d love it if you could make improvements.

Installing Distrobox

Open Konsole in desktop mode and run the following two commands:

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local

This will install Distrobox, as well as Podman, the container software that Distrobox is built on.

Then, open your /home/deck/.bashrc file in a text editor such as KWrite and add the following lines at the end:

xhost +si:localuser:$USER
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/.local/podman/bin:$PATH

The first line grants applications on Distrobox the required permissions to connect to the X server (and therefore open graphical windows). The last two lines add Distrobox and Podman to the PATH variable so we can actually run them.

Creating a container

In a new Konsole window, run distrobox create -i archlinux. When asked if you want to pull the image, press enter at the Y/n prompt and select the top option. This will create a new container running Arch Linux, which we can install Mono into without requiring write access to the Deck's root filesystem.

Enter your new container with distrobox enter archlinux.

Installing Mono

In the container, run sudo pacman -S mono to install Mono. Press enter at any y/n prompts. This will instalk Mono into the container.

Installing CKAN

Download the latest ckan.exe from GitHub Releases. Inside the container, run mono path/to/ckan.exe (replacing path/to/ckan.exe with the actual location of the file; this will usually be Downloads/ckan.exe if you just downloaded it). CKAN should open, and KSP should be auto-detected if it has been installed via Steam.

To run CKAN from outside the container, you can use distrobox enter archlinux -- mono path/to/ckan.exe.

To make it easier to launch CKAN, create a new text file called ckan.sh in the same folder as ckan.exe with the following contents:

#!/usr/bin/env sh
export PATH=/home/deck/.local/bin:$PATH  # Import distrobox utilities
export PATH=/home/deck/.local/podman/bin:$PATH  # Import distrobox utilities
xhost +si:localuser:$USER  # To allow distrobox to open graphical applications
# rm -rf "/home/deck/.local/share/steam/steamapps/Kerbal Space Program/CKAN/registry.locked"
distrobox enter archlinux -- mono ckan.exe  # Run the CKAN application

Set this file as executable in its properties (right click), and open it to run CKAN. You can also add this file to Steam as a non-Steam game to access CKAN from Gaming Mode.

Running in Gaming Mode

Right click on ckan.sh and select Add to Steam to add CKAN as a non-Steam game. Edit ckan.sh and remove the # at the start of the rm -rf line; we need to remove the lock file as Steam force-quits applications when you exit them in gaming mode. If your KSP install is not in the default Steam location you will need to change the file path here appropriately.

However, there are some graphical issues in gaming mode, so you may want to stick to running CKAN in desktop mode. You may want to create a .desktop file on your desktop that runs your ckan.sh file.

Keeping your container updated

It's a good idea to keep the packages in your container up to date; you can do this with distrobox enter archlinux -- sudo pacman -Syu.

Clone this wiki locally