CreamLinux is a GUI application for Linux that simplifies the management of DLC IDs in Steam games. It provides a user-friendly interface to install and configure CreamAPI (for native Linux games), SmokeAPI (for Windows games running through Proton) and ScreamAPI (Epic Games).
- Auto-discovery: Automatically finds Steam games installed on your system
- Native support: Installs CreamLinux for native Linux games
- Proton support: Installs SmokeAPI for Windows games running through Proton
- Epic Games support: Installs ScreamAPI for games running through Heroic/Legendary
- DLC management: Easily select which DLCs to enable
- Modern UI: Clean, responsive interface that's easy to use
-
Download the latest
creamlinux.AppImagefrom the Releases page -
Make it executable:
chmod +x creamlinux.AppImage
-
Run it:
./creamlinux.AppImage
For Nvidia users use this command:
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./creamlinux.AppImage
You can add this package to your configuration using pkgs.fetchFromGitHub:
let
creamlinux = import (pkgs.fetchFromGitHub {
owner = "Novattz";
repo = "creamlinux-installer";
rev = "main"; # replace with a commit hash to pin the version
hash = ""; # paste the value returned by the error your rebuild will output
}) { inherit pkgs; };
in
{
environment.systemPackages = [ creamlinux ];
}or, using builtins.fetchTarball:
let
creamlinux = import (builtins.fetchTarball {
url = "https://github.com/Novattz/creamlinux-installer/archive/main.tar.gz";
sha256 = ""; # See above
}) { inherit pkgs; };
in
{
environment.systemPackages = [ creamlinux ];
}alternatively and if you want to pin the package version, using npins:
npins add github Novattz creamlinux-installer --branch mainlet
sources = import ./npins;
in
{
environment.systemPackages = [
(import sources.creamlinux-installer { inherit pkgs; })
];
}Those are the recommended methods to add creamlinux-installer to your environment. However, you could also add it as an input of your flake, like so:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
creamlinux-installer = {
type = "github";
owner = "Novattz";
repo = "creamlinux-installer";
flake = false;
};
};
}Then, in your configuration:
environment.systemPackages = [
(import inputs.creamlinux-installer { inherit pkgs; })
];Similarly to running the AppImage, you will need to set WEBKIT_DISABLE_DMABUF_RENDERER=1 if your GPU is from Nvidia in order to run the package.
- Rust 1.77.2 or later
- Node.js 18 or later
- webkit2gtk-4.1 (libwebkit2gtk-4.1 for debian)
- npm or yarn
-
Clone the repository:
git clone https://github.com/Novattz/creamlinux-installer.git cd creamlinux-installer -
Install dependencies:
npm install # or yarn -
Build the application:
NO_STRIP=true npm run tauri build
-
The compiled binary will be available in
src-tauri/target/release/creamlinux
If you're using the AppImage version, you can integrate it into your desktop environment:
-
Create a desktop entry file:
mkdir -p ~/.local/share/applications -
Create
~/.local/share/applications/creamlinux.desktopwith the following content (adjust the path to your AppImage):[Desktop Entry] Name=Creamlinux Exec=/absolute/path/to/CreamLinux.AppImage Icon=/absolute/path/to/creamlinux-icon.png Type=Application Categories=Game;Utility; Comment=DLC Manager for Steam games on Linux -
Update your desktop database so creamlinux appears in your app launcher:
update-desktop-database ~/.local/share/applications- Game doesn't load: Make sure the launch options are correctly set in Steam
- DLCs not showing up: Try refreshing the game list and reinstalling
- Cannot find Steam: Ensure Steam is installed and you've launched it at least once
Logs are stored at: ~/.cache/creamlinux/creamlinux.log
Found a bug? Please report it on the GitHub Issues page.
This project is licensed under the MIT License - see the LICENSE file for details.
- Creamlinux - Native support
- SmokeAPI - Proton support
- Tauri - Framework for building the desktop application
- React - UI library
