2026-04-29 14:13:47 +02:00
2026-01-03 00:37:31 +01:00
2025-05-18 18:23:06 +02:00
2025-05-17 21:08:01 +02:00
2025-12-22 20:21:19 +01:00
2026-03-28 15:18:29 +00:00
2026-04-29 13:43:32 +02:00
2026-04-23 15:40:09 +02:00
2025-05-17 22:49:09 +02:00
2025-05-17 22:49:09 +02:00
2026-03-28 15:08:36 +01:00
2026-04-29 13:43:32 +02:00
2025-05-17 22:49:09 +02:00
2025-05-17 21:08:01 +02:00
2026-01-01 21:44:50 +01:00
2026-04-29 10:52:33 +02:00
2026-03-28 15:08:40 +01:00
2026-03-13 14:51:50 +00:00
2025-05-17 22:49:09 +02:00
2025-05-17 21:08:01 +02:00
2025-05-18 18:23:06 +02:00

CreamLinux

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) and SmokeAPI (for Windows games running through Proton).

Watch the demo here:

Watch the demo

Beta Status

⚠️ IMPORTANT: CreamLinux is currently in BETA. This means:

  • Some features may be incomplete or subject to change
  • You might encounter bugs or unexpected behavior
  • The application is under active development
  • Your feedback and bug reports are invaluable

While the core functionality is working, please be aware that this is an early release. Im continuously working to improve stability, add features, and enhance the user experience. Please report any issues you encounter on GitHub Issues page.

Features

  • 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
  • DLC management: Easily select which DLCs to enable
  • Modern UI: Clean, responsive interface that's easy to use

Installation

  1. Download the latest creamlinux.AppImage from the Releases page

  2. Make it executable:

    chmod +x creamlinux.AppImage
    
  3. Run it:

    ./creamlinux.AppImage
    

    For Nvidia users use this command:

    WEBKIT_DISABLE_DMABUF_RENDERER=1 ./creamlinux.AppImage
    

Nix

You can fetch this repository in your configuration using pkgs.fetchFromGithub:

let
  creamlinux = pkgs.callPackage (pkgs.fetchFromGitHub {
    owner = "Novattz";
    repo = "creamlinux-installer";
    rev = "main";
    hash = ""; # You can use nix-prefetch-url to determine which value to put here, or paste the value returned by the error your rebuild will output
  }) {};
in
{
  environment.systemPackages = [ creamlinux ];
}  

or, using builtins.fetchTarball:

let
  creamlinux-src = builtins.fetchTarball {
    url = "https://github.com/Novattz/creamlinux-installer/archive/main.tar.gz";
    sha256 = ""; # See above
  };
in
{
  environment.systemPackages = [
    (pkgs.callPackage creamlinux-src {})
  ];
}

alternatively and if you want to pin the package version, using npins:

npins add github Novattz creamlinux-installer --branch main
let
  sources = import ./npins;
  creamlinux = pkgs.callPackage sources.creamlinux-installer {};
in
{
  environment.systemPackages = [ creamlinux ];
}

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 = [
  (pkgs.callPackage inputs.creamlinux-installer {})
];

Building from Source

Prerequisites

  • Rust 1.77.2 or later
  • Node.js 18 or later
  • webkit2gtk-4.1 (libwebkit2gtk-4.1 for debian)
  • npm or yarn

Steps

  1. Clone the repository:

    git clone https://github.com/Novattz/creamlinux-installer.git
    cd creamlinux-installer
    
  2. Install dependencies:

    npm install # or yarn
    
  3. Build the application:

    NO_STRIP=true npm run tauri build
    
  4. The compiled binary will be available in src-tauri/target/release/creamlinux

Desktop Integration

If you're using the AppImage version, you can integrate it into your desktop environment:

  1. Create a desktop entry file:

    mkdir -p ~/.local/share/applications
    
  2. Create ~/.local/share/applications/creamlinux.desktop with 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
    
  3. Update your desktop database so creamlinux appears in your app launcher:

update-desktop-database ~/.local/share/applications

Troubleshooting

Common Issues

  • 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

Debug Logs

Logs are stored at: ~/.cache/creamlinux/creamlinux.log

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

Description
No description provided
Readme 5.9 MiB
Languages
TypeScript 44.8%
Rust 34.8%
SCSS 18.2%
JavaScript 1.7%
Nix 0.4%