Skip to content

ryzendew/AffinityOnLinux

Repository files navigation

AffinityOnLinux

A comprehensive solution for running Affinity software on GNU/Linux systems using Wine with full OpenCL hardware acceleration support.

image

Warning About Wine 10.17 method

it has major bugs and issues it's why we don't use it.

Features

  • Full OpenCL Support - Hardware acceleration enabled out of the box with multiple Wine versions (10.4, 10.10, 10.11, 9.14) patched for OpenCL
  • Multiple Wine Versions - Choose from Wine 10.4 (recommended), 10.4 v2 (older CPUs), 10.10, 10.11, or 9.14 (legacy) - all patched specifically for OpenCL support and AMD GPU fixes
  • Wine Version Switching - Easily switch between Wine versions without reinstalling applications
  • Automated Installation - Streamlined setup process with dependency management
  • Cross-Distribution Support - Works on modern Linux distributions (PikaOS 4, CachyOS, Nobara, Arch, EndeavourOS, XeroLinux, Fedora, openSUSE)
  • Desktop Integration - Automatic desktop entry and shortcut creation
  • Wine Configuration - Pre-configured Wine environment optimized for Affinity applications
  • Settings Save now - Affinity v3 Settings will save.
  • AppImage Release - Portable standalone AppImage available for easy distribution and use

AppImage Release

A portable AppImage version of the Affinity Linux Installer is now available! The AppImage is a self-contained application that includes everything needed to run the installer without requiring system-wide dependencies.

What is an AppImage?

An AppImage is a portable application format for Linux that:

  • No Installation Required - Just download, make executable, and run
  • Self-Contained - Includes all dependencies bundled within the file
  • Portable - Can be run from any location (USB drive, Downloads folder, etc.)
  • Distribution Independent - Works on most modern Linux distributions without modification
  • No Root Access Needed - Runs without administrator privileges

Download and Usage

The AppImage is available from the GitHub Releases page.

Quick Start:

  1. Download the AppImage file from the releases page
  2. Make it executable:
    chmod +x AffinityLinuxInstaller-*.AppImage
  3. Run it:
    ./AffinityLinuxInstaller-*.AppImage

AppImage Features

The AppImage includes:

  • βœ… Full GUI installer functionality
  • βœ… Wine 10.4 with patches for AMD GPU fixes (standard installer supports multiple Wine versions: 10.4, 10.4 v2, 10.10, 10.11, 9.14)
  • βœ… DXVK support for better graphics performance (NVIDIA and AMD GPUs)
  • βœ… Automated dependency management
  • βœ… All installer features (One-Click Setup, Wine Configuration, etc.)

Important Notes

  • OpenCL/vkd3d: The AppImage does not include OpenCL/vkd3d support. For full OpenCL hardware acceleration, use the Python GUI installer or shell scripts which will download and configure vkd3d-proton separately.
  • Graphics Backend: The AppImage uses DXVK by default for both NVIDIA and AMD GPUs, providing excellent hardware acceleration without requiring OpenCL.
  • Performance: DXVK offers excellent performance for most use cases. If you specifically need OpenCL features, use the standard installer methods.

When to Use AppImage vs. Standard Installer

Use the AppImage if:

  • You want a portable, self-contained installer
  • You prefer not to install Python/PyQt6 system-wide
  • You're testing or trying the installer on a new system
  • You need a quick, no-setup solution

Use the Python GUI Installer if:

  • You need full OpenCL/vkd3d support
  • You want the latest features and updates
  • You prefer running from source
  • You're doing a permanent installation

For more information, see the release notes.

Wine Version

The installer supports multiple Wine versions, all patched specifically for Affinity compatibility:

Available Wine Versions

  • Wine 10.4 (Recommended) - Latest version with AMD GPU and OpenCL patches. Best compatibility and performance for most systems.
  • Wine 10.4 v2 (Older CPUs) - Optimized for older CPUs (V1-V3 generations). Use this if you have a CPU from 2014-2020 (Zen/Broadwell through Zen 2/Coffee Lake).
  • Wine 10.10 - ElementalWarrior Wine 10.10 with AMD GPU and OpenCL patches. Alternative version for testing compatibility.
  • Wine 10.11 - ElementalWarrior Wine 10.11 with AMD GPU and OpenCL patches. Alternative version for testing compatibility.
  • Wine 9.14 (Legacy) - Legacy version with AMD GPU and OpenCL patches. Fallback option if you encounter issues with newer versions.

Wine Version Features

All Wine versions are specifically patched for:

  • OpenCL Support - Full hardware acceleration enabled out of the box
  • AMD GPU Fixes - Optimized patches for AMD graphics cards
  • Affinity Compatibility - Additional fixes and optimizations for running Affinity applications

The installer will automatically detect your CPU and recommend the best Wine version for your system. You can switch between Wine versions at any time using the "Switch Wine Version" feature in the GUI installer.

This patched Wine version is automatically downloaded and configured during setup, providing the best experience for Affinity software on Linux.

OpenCL Hardware Acceleration

OpenCL support is fully functional with all supported Wine versions (10.4, 10.4 v2, 10.10, 10.11, 9.14), all patched for OpenCL, enabling GPU acceleration for improved performance in Affinity applications. The patched Wine versions include specific fixes for OpenCL and AMD GPU compatibility.

OpenCL Hardware Acceleration

Supported Applications

Affinity Publisher Affinity Designer Affinity Photo

Affinity V3

Python GUI Dependencies Install Me!

Arch/CachyOS/EndeavourOS/XeroLinux:

sudo pacman -S python-pyqt6

Fedora/Nobara:

sudo dnf install python3-pyqt6

openSUSE (Tumbleweed/Leap):

sudo zypper install python313-PyQt6

PikaOS: Does not work use the Appimage instead

sudo apt install python3-pyqt6
sudo apt install -y python3-pyqt6.qtsvg

Note: PyQt6 is required to run the GUI installer. The installer will attempt to install it automatically if missing.

Ubuntu 25.10 Issues:

If you encounter issues with the GUI on Ubuntu 25.10, install this additional dependency:

sudo apt install python3-pyqt6.qtsvg
GUI Installer Click Me!

Python GUI Installer

Recommended - Modern graphical interface with one-click setup

A modern PyQt6-based graphical user interface for the Affinity Linux Installer, providing a clean and professional installation experience with a VS Code-inspired dark theme.

Alternative: AppImage Version

A portable AppImage version is also available - see the AppImage Release section below for details. The AppImage is self-contained and doesn't require Python/PyQt6 to be installed system-wide.

Features:

  • One-Click Full Setup - Automatically detects your distribution, installs dependencies, sets up Wine (patched for OpenCL and AMD GPU fixes), and configures everything
  • Multiple Wine Versions - Choose from Wine 10.4 (recommended), 10.4 v2 (older CPUs), 10.10, 10.11, or 9.14 (legacy) - all patched for OpenCL support and AMD GPU fixes
  • Wine Version Switching - Switch between Wine versions without reinstalling applications or losing your configuration
  • System Setup Tools - Download Affinity installers and install custom Windows applications using the Wine environment
  • Update Affinity Applications - Update existing installations without creating new desktop entries or reinstalling dependencies
  • Automatic WebView2 Runtime Installation - Automatically detects and installs Microsoft Edge WebView2 Runtime for Affinity v3 to enable Help > View Help functionality
  • Automatic Patcher File Management - Automatically downloads AffinityPatcher files from GitHub if not found locally, ensuring settings fix functionality always works
  • Enhanced Status Detection - Real-time status display showing:
    • System dependencies (wine, winetricks, wget, curl, etc.)
    • Winetricks dependencies (.NET Framework, Visual C++, MSXML, fonts, Vulkan renderer)
    • WebView2 Runtime installation status
    • Affinity application installation status
    • Current Wine version in use
  • DPI Scaling Configuration - Adjust DPI scaling for Affinity applications with an intuitive slider (96-480 DPI range) to optimize UI size for different displays
  • Troubleshooting Tools:
    • Open Wine Configuration (winecfg)
    • Open Winetricks GUI
    • Set Windows 11 + Renderer (Vulkan/OpenGL/GDI)
    • Reinstall WinMetadata (fixes corrupted Windows metadata)
    • Install WebView2 Runtime manually (for Affinity v3)
    • Set DPI Scaling
    • Uninstall - Completely remove the .AffinityLinux folder and all installations
  • Custom Installation - Install any Windows application using the custom Wine environment
  • Visual Progress Tracking - Real-time progress bars and detailed logging
  • Modern UI - Clean, organized interface with grouped button sections and rounded corners
  • Zoom Controls - Adjustable log output font size with zoom buttons (πŸ”βž–, πŸ”, πŸ”βž•) or keyboard shortcuts (Ctrl++/Ctrl+-/Ctrl+0)

Installation:

Run directly from GitHub (recommended):

curl -sSL https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityLinuxInstaller.py | python3

Or download and run locally:

curl -sSL https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityLinuxInstaller.py -o install.py && python3 install.py

Or clone the repository and run locally:

python AffinityScripts/AffinityLinuxInstaller.py
image

Usage:

  1. Run the installer - it will automatically attempt to install PyQt6 if needed
  2. Click "One-Click Full Setup" for automatic configuration
  3. Choose your Wine version (10.4 recommended for most systems, or 10.4 v2 for older CPUs) - Wine will be automatically downloaded and configured with OpenCL and AMD GPU patches
  4. Once Wine is set up, use "Update Affinity Applications" to install or update Affinity apps
    • For Affinity v3 (Unified), WebView2 Runtime will be automatically installed if missing
  5. Use "Troubleshooting" tools to:
    • Switch Wine versions if needed (try different versions for better compatibility)
    • Configure Wine settings and renderers
    • Adjust DPI scaling for better UI visibility
    • Reinstall WinMetadata if needed
    • Completely uninstall Affinity Linux if desired
  6. Check the status log on startup to see what's installed and what's missing

πŸ“– Need Help? Check out the GUI Installer Guide for detailed step-by-step instructions, button explanations, and troubleshooting tips.

Zoom Controls:

  • Zoom In: Click the πŸ”βž• button or press Ctrl++ / Ctrl+=
  • Zoom Out: Click the πŸ”βž– button or press Ctrl+- / Ctrl+Minus
  • Reset Zoom: Click the πŸ” button or press Ctrl+0
  • Mouse Wheel Zoom: Hold Ctrl and scroll with the mouse wheel over the log area
  • Font size range: 6px (minimum) to 48px (maximum), default: 11px
Legacy Scripts

All-in-One Installer

The unified installer provides a single interface to install any Affinity application with automatic dependency management and an interactive menu.

Features:

  • Automatic Linux distribution detection
  • Dependency installation and verification
  • Interactive application selection menu
  • Drag-and-drop installer file support
  • Automatic desktop entry creation

Installation:

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityLinuxInstaller.sh)"

Individual Application Installers

For users who prefer to install applications individually, dedicated installers are available:

Affinity Photo Affinity Photo

Professional photo editing and image manipulation software with advanced tools for photographers and digital artists. Features include RAW editing, HDR merge, focus stacking, and comprehensive retouching capabilities.

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityPhoto.sh)"

Affinity Designer Affinity Designer

Vector graphic design software for creating illustrations, logos, UI designs, print projects, and mock-ups. Combines vector and raster workflows in a single application with precision drawing tools and professional typography support.

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityDesigner.sh)"

Affinity Publisher Affinity Publisher

Desktop publishing application for creating professional layouts, magazines, books, and print materials. Features advanced text handling, master pages, tables, and seamless integration with other Affinity applications.

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityPublisher.sh)"

Affinity V3 Affinity V3 Suite (Unified Application)

The new unified Affinity application that combines Photo, Designer, and Publisher into a single modern interface. Access all creative tools from one application with seamless workflow integration and a streamlined user experience.

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/Affinityv3.sh)"

Affinity Updater

The Affinity Updater provides a lightweight way to update your existing Affinity installations without going through the full installation process.

Features:

  • Updates only the application binary
  • Preserves existing desktop entries and configurations
  • No dependency checks or Wine reconfiguration
  • Simple drag-and-drop interface

Usage:

bash -c "$(curl -s https://raw.githubusercontent.com/ryzendew/AffinityOnLinux/refs/heads/main/AffinityScripts/AffinityUpdater.sh)"

System Requirements

Supported Distributions

Officially Supported:

  • PikaOS 4
  • CachyOS
  • Nobara
  • Arch Linux
  • EndeavourOS
  • XeroLinux
  • Fedora
  • openSUSE (Tumbleweed/Leap)

Note: Ubuntu, Linux Mint, Pop!_OS, and Zorin OS are not officially supported due to outdated package management systems. Users on these distributions must manually install dependencies.

System Dependencies

Required Dependencies

  • Wine (provided automatically - Multiple Wine versions available: 10.4, 10.4 v2, 10.10, 10.11, or 9.14, all patched for OpenCL and AMD GPU fixes)
  • winetricks
  • wget
  • curl
  • p7zip or 7z
  • tar
  • jq
  • xz (optional - Python's lzma module can handle .xz archives, but xz command is useful as fallback)

Note: These dependencies are automatically installed by the GUI installer during "One-Click Full Setup". For legacy scripts, you may need to install them manually using your distribution's package manager.

Wine Version

The installer supports multiple Wine versions, all patched specifically for Affinity compatibility:

  • Wine 10.4 (Recommended) - Latest version with AMD GPU and OpenCL patches. Best compatibility and performance for most systems.
  • Wine 10.4 v2 (Older CPUs) - Optimized for older CPUs (V1-V3 generations). Use this if you have a CPU from 2014-2020.
  • Wine 10.10 - ElementalWarrior Wine 10.10 with AMD GPU and OpenCL patches. Alternative version for testing compatibility.
  • Wine 10.11 - ElementalWarrior Wine 10.11 with AMD GPU and OpenCL patches. Alternative version for testing compatibility.
  • Wine 9.14 (Legacy) - Legacy version with AMD GPU and OpenCL patches. Fallback option if you encounter issues with newer versions.

All Wine versions are specifically patched for OpenCL support, AMD GPU fixes, and Affinity compatibility. The installer will automatically detect your CPU and recommend the best Wine version for your system. You can switch between Wine versions at any time using the GUI installer.

This patched Wine version is automatically downloaded and configured during setup, providing the best experience for Affinity software on Linux.

PikaOS Special Instructions

PikaOS users must replace the built-in Wine with WineHQ staging before installation. The installer scripts will display the required commands automatically.

Additional Resources

Contributing

All pull requests are welcome to improve the scripts, documentation, and overall functionality of this project. Contributions help make AffinityOnLinux better for everyone.

Community

For support, questions, and community discussions, join our Discord server:

Join Discord Community

License

This project provides installation scripts and configurations for running Affinity software on Linux. Affinity software is a commercial product by Serif (Europe) Ltd. Please ensure you have a valid license before installing.


Disclaimer: This project is not affiliated with, endorsed by, or associated with Serif (Europe) Ltd. All trademarks and registered trademarks are the property of their respective owners.

About

A repository that helps users get affinity software working on GNU/Linux 🐧

Resources

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published