Files
creamlinux-installer/README.md
T
2026-07-11 12:30:01 +02:00

186 lines
5.0 KiB
Markdown

# 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), SmokeAPI (for Windows games running through Proton) and ScreamAPI (Epic Games).
## Watch the demo here:
[![Watch the demo](./src/assets/screenshot1.png)](https://www.youtube.com/watch?v=neUDotrqnDM)
## 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
- **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
## Installation
### AppImage (Recommended)
1. Download the latest `creamlinux.AppImage` from the [Releases](https://github.com/Novattz/creamlinux-installer/releases) page
2. Make it executable:
```bash
chmod +x creamlinux.AppImage
```
3. Run it:
```bash
./creamlinux.AppImage
```
For Nvidia users use this command:
```
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./creamlinux.AppImage
```
### Nix
You can add this package to your configuration using `pkgs.fetchFromGitHub`:
```nix
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`:
```nix
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](https://github.com/andir/npins):
```bash
npins add github Novattz creamlinux-installer --branch main
```
```nix
let
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:
```nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
creamlinux-installer = {
type = "github";
owner = "Novattz";
repo = "creamlinux-installer";
flake = false;
};
};
}
```
Then, in your configuration:
```nix
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.
### 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:
```bash
git clone https://github.com/Novattz/creamlinux-installer.git
cd creamlinux-installer
```
2. Install dependencies:
```bash
npm install # or yarn
```
3. Build the application:
```bash
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:
```bash
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:
```bash
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`
Found a bug? Please report it on the [GitHub Issues page](https://github.com/Novattz/creamlinux-installer/issues).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.
## Credits
- [Creamlinux](https://github.com/anticitizn/creamlinux) - Native support
- [SmokeAPI](https://github.com/acidicoala/SmokeAPI) - Proton support
- [Tauri](https://tauri.app/) - Framework for building the desktop application
- [React](https://reactjs.org/) - UI library