One Command. Zero Friction. Install the Affinity Universal app on Linux with a prepared Wine environment.
- Universal installer: downloads and runs the official Affinity Universal EXE.
- Guided Wine setup: prepares a 64‑bit Windows 11 prefix with required components.
- Profiles for speed vs. completeness: minimal, standard (default), full.
- Clear, non-interactive flow with preflight checks and progress logs.
- Python 3.8+
winetricks,curl,tar,python3on the host- Vulkan drivers if you plan to use DXVK (recommended)
# Clone
git clone https://github.com/ind4skylivey/affinity-cli.git
cd affinity-cli
# Virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install CLI
python -m pip install --upgrade pip
python -m pip install -e .
# Install Affinity (default profile: standard)
affinity-cli installgit clone https://github.com/ind4skylivey/affinity-cli.git
cd affinity-cli
git checkout release/v2.0.0
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Upgrading from an older checkout? Run:
git pull
rm -rf .venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
## Wine Runtime Setup (optional but recommended)
Affinity CLI can prepare a prefix on first run. If you prefer a pinned, portable runtime, use the companion repo affinity-wine-setup.
curl -LO https://raw.githubusercontent.com/ind4skylivey/affinity-wine-setup/main/setup-wine-ge.sh
chmod +x setup-wine-ge.sh
GE_TAG=GE-Proton10-25 ./setup-wine-ge.shThis creates a clean prefix at ~/.wine-affinity, sets Windows 10, and installs .NET 3.5 SP1, .NET 4.8, DXVK, and VKD3D using Proton-GE.
WINEPREFIX=$HOME/.wine-affinity \
WINE=$HOME/.local/share/Proton-GE/GE-Proton10-25/files/bin/wine \
affinity-cli <command>WINVER_TARGET:win10(default) orwin11WINEPREFIX: destination prefix (default~/.wine-affinity)WINE_BIN/WINESERVER_BIN: use your own Wine build; setSKIP_DOWNLOAD=1to skip Proton-GE downloadGITHUB_TOKEN: optional, avoids GitHub API rate limits when usinglatest
WINEPREFIX=$HOME/.wine-affinity \
WINE=$HOME/.local/share/Proton-GE/GE-Proton10-25/files/bin/wine \
$WINE winecfgIf winecfg opens without WoW64 experimental warnings, the runtime is ready.
Real installs created with Affinity-CLI on Linux desktops:
- The first
affinity-cli installcreates a dedicated 64-bit Wine prefix set to Windows 11. - Installs Windows components via winetricks (depending on profile).
- Initial setup can take several minutes (10–20 on the “full” profile).
- During this time you may see logs like:
winetricks is still running... please waitPreparing: C:\...\netfx_....msi...
- Subsequent runs reuse the prepared prefix and are much faster.
- Do not close the terminal during this step.
Choose how many components to install in the prefix:
- minimal – fastest, smallest set (advanced users):
win11, corefonts, tahoma, crypt32, d3dcompiler_47 - standard (default) – recommended balance: minimal +
vcrun2022 - full – maximum compatibility; first run can take 10–20 minutes: standard +
dotnet48, dxvk, vkd3d, remove_mono
Examples:
affinity-cli install --wine-profile minimal
affinity-cli install --wine-profile standard # default
affinity-cli install --wine-profile full
# via environment variable
AFFINITY_WINE_PROFILE=full affinity-cli installaffinity-cli install # preflight -> prepare prefix -> download/run installer -> verify
affinity-cli install --preflight-only
affinity-cli install --dry-run
affinity-cli install --silent
affinity-cli install --prefix ~/.wine-affinity-pro
affinity-cli install --download-url https://downloads.affinity.studio/Affinity%20x64.exe
affinity-cli install --wine-profile minimal|standard|full- Windows version warning: rerun with a clean prefix or try the full profile.
- Logs: set
AFFINITY_CLI_LOG=DEBUGand rerun. - Download issues: use
--download-urlor setAFFINITY_DOWNLOAD_URL.
- Pre-built Wine runtime & prefix: optional downloadable, pre-configured runtime/prefix to speed up first install.
MIT License. See LICENSE.
- Wine, DXVK, VKD3D and all contributors.
- Everyone opening issues, testing builds, and sharing feedback.
Native Linux support shouldn't be a luxury, yet we often find ourselves as the forgotten ones—the children of the night in the creative software world.
It costs nothing to acknowledge the Linux community, but since the industry won't build it for us, we build it ourselves.
Affinity-Cli exists to bridge that gap. We implement what others ignore, proving that creativity has no OS boundaries. If they won't give us the tools, we'll forge the path to run them anyway.
For the creators, the hackers, and the forgotten ones.
Affinity-Cli is an open-source project built by and for the Linux creative community.
- Found a bug? Please open an issue with your logs and distribution details.
- Have an idea? We welcome feature requests and pull requests!
- Wine trouble? Wine configuration can be tricky. If you encounter specific Wine errors, check the Troubleshooting section or try using a clean prefix.
This project is not affiliated with Serif (Affinity). It is a community tool to help you run the software you own on the OS you love.



