Convert Figma logo to code with AI

Kron4ek logoWine-Builds

Wine builds (Vanilla, Staging, TkG and Proton)

1,069
90
1,069
0

Top Related Projects

My custom build of wine, made to use with lutris. Built with lutris's buildbot.

29,685

Compatibility tool for Steam Play based on Wine and additional components

The wine-tkg build systems, to create custom Wine and Proton builds

A wrapper that does winetricks things for Proton enabled games, requires Winetricks.

Quick Overview

Kron4ek/Wine-Builds is a GitHub repository that provides pre-compiled Wine builds for Linux. It offers various Wine versions, including stable, staging, and custom builds, making it easier for users to install and use Wine without compiling it from source.

Pros

  • Ready-to-use Wine builds for different Linux distributions
  • Regular updates with the latest Wine versions
  • Includes both stable and staging builds
  • Saves time and effort compared to compiling Wine from source

Cons

  • Limited to specific Linux distributions and architectures
  • May not include all possible Wine configurations or patches
  • Relies on third-party builds, which may introduce potential security risks
  • Not officially supported by the Wine project

Getting Started

To use the Wine builds from this repository:

  1. Visit the GitHub repository: https://github.com/Kron4ek/Wine-Builds
  2. Download the desired Wine build for your Linux distribution and architecture
  3. Extract the downloaded archive to a suitable location
  4. Run Wine executables directly from the extracted folder or add the bin directory to your PATH

Example usage:

# Download and extract Wine
wget https://github.com/Kron4ek/Wine-Builds/releases/download/7.0/wine-7.0-amd64.tar.xz
tar xf wine-7.0-amd64.tar.xz

# Run Wine
./wine-7.0-amd64/bin/wine winecfg

Note: Make sure to check the repository for the latest available versions and specific instructions for your system.

Competitor Comparisons

My custom build of wine, made to use with lutris. Built with lutris's buildbot.

Pros of wine-ge-custom

  • More frequent updates and active development
  • Includes gaming-specific patches and optimizations
  • Better integration with Steam and Proton

Cons of wine-ge-custom

  • Potentially less stable due to frequent changes
  • May have compatibility issues with some applications
  • Larger download size due to additional features

Code Comparison

wine-ge-custom:

#!/bin/bash
set -e
./configure --enable-win64 --with-x --with-vulkan
make -j$(nproc)
make install DESTDIR="$PWD/wine-install"

Wine-Builds:

#!/bin/bash
set -e
./configure --enable-win64
make -j$(nproc)
make install DESTDIR="$PWD/wine-install"

The main difference in the build scripts is that wine-ge-custom includes additional configuration options for X11 and Vulkan support, which are beneficial for gaming performance.

wine-ge-custom is tailored for gaming, with frequent updates and optimizations specifically for running games through Steam and Proton. It includes patches that may improve performance and compatibility for certain games.

Wine-Builds, on the other hand, provides more standard Wine builds without gaming-specific optimizations. It may offer better stability for general-purpose Windows application compatibility but might lack some of the gaming-focused improvements found in wine-ge-custom.

29,685

Compatibility tool for Steam Play based on Wine and additional components

Pros of Proton

  • Specifically optimized for gaming, with a focus on Steam games
  • Includes additional components like DXVK and FAudio for improved compatibility
  • Regularly updated and maintained by Valve, ensuring compatibility with latest games

Cons of Proton

  • Primarily designed for use with Steam, may require additional setup for non-Steam games
  • Can be more resource-intensive due to additional components
  • May not be as lightweight or versatile for general-purpose Windows application use

Code Comparison

While both projects are based on Wine, their implementation and usage differ. Here's a simplified example of how you might use each:

Proton:

STEAM_COMPAT_DATA_PATH="$HOME/proton" \
SteamAppId=546560 \
/path/to/proton run game.exe

Wine-Builds:

WINEPREFIX="$HOME/wine-prefix" \
/path/to/wine game.exe

Proton includes additional environment variables and is typically used through Steam, while Wine-Builds provides a more traditional Wine experience for running Windows applications on Linux.

The wine-tkg build systems, to create custom Wine and Proton builds

Pros of wine-tkg-git

  • Highly customizable build options for tailoring Wine to specific needs
  • Includes various patches and improvements not found in standard Wine
  • Supports building newer Wine versions with bleeding-edge features

Cons of wine-tkg-git

  • Requires more technical knowledge to set up and configure
  • Build process can be time-consuming and resource-intensive
  • May have stability issues due to experimental patches and features

Code Comparison

wine-tkg-git configuration example:

_EXTERNAL_INSTALL="false"
_NUKR="false"
_NOINITIALPROMPT="true"
_SKIPBUILDING="false"
_NOLOAD="false"

Wine-Builds usage example:

wget https://github.com/Kron4ek/Wine-Builds/releases/download/7.0/wine-7.0-amd64.tar.xz
tar -xvf wine-7.0-amd64.tar.xz
./wine-7.0-amd64/bin/wine winecfg

wine-tkg-git offers more flexibility and customization options, allowing users to fine-tune their Wine builds. However, it requires more effort and technical expertise to set up and use effectively. Wine-Builds provides pre-compiled binaries that are easier to use out of the box but offer less customization. The choice between the two depends on the user's needs, technical skills, and desired level of control over the Wine environment.

A wrapper that does winetricks things for Proton enabled games, requires Winetricks.

Pros of protontricks

  • Specifically designed for managing Proton prefixes and Steam games
  • Integrates with Steam and Proton, providing a seamless experience for Linux gamers
  • Offers a user-friendly interface for applying Winetricks verbs to Proton prefixes

Cons of protontricks

  • Limited to Proton and Steam games, not as versatile for general Wine usage
  • Requires Steam and Proton to be installed, which may not be suitable for all users
  • May have a steeper learning curve for users unfamiliar with Proton and Steam

Code Comparison

protontricks:

def run_command(command, env=None, cwd=None):
    process = subprocess.Popen(
        command, env=env, cwd=cwd,
        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = process.communicate()
    return process.returncode, stdout, stderr

Wine-Builds:

#!/bin/bash
set -e
export WINEDEBUG=-all
export WINEARCH=win64
export WINEPREFIX="$HOME/.wine64"
wine "$@"

Note: The code snippets are not directly comparable as they serve different purposes. protontricks focuses on running commands with specific environments, while Wine-Builds provides a simple script to run Wine with predefined settings.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Download

The builds can be downloaded either from the releases page.

They are also available on the Actions page, you need to be logged into your GitHub account to be able to download from there.


How to use

Extract to any directory and run applications using the path to the Wine binary. For example:

/home/username/wine-7.0-amd64/bin/wine application.exe

Requirements

All regular Wine dependencies are required for these builds to work properly, including their 32-bit versions if you plan to run 32-bit applications.

The easiest way to install (almost) all required libraries is to install Wine from your distribution's package repository. I highly recommend to do this, otherwise you will have to manually figure out what libraries are needed, which may be not an easy task.

More precisely, not all the Wine dependencies are strictly required, some of them are optional and needed only for some Windows applications or only for some functions. Still, it's better to keep them all (or at least most of them) installed.

Also, do note that glibc (libc6) 2.27 or newer is required.

If you want to use Wine, but don't want to install any of its dependencies, take a look at my Conty project. Conty is a container that includes, among other things, Wine and all of its dependencies (including 32-bit ones), you can use it to run any games and programs.


What to do if Wine hangs during prefix creation/updating

There is a bug in gstreamer, which causes Wine to hang during prefix creation/updating, and even if you wait long enough for Wine to finish, your prefix will still be broken.

There are two ways to workaround this issue:

  • You can remove the gst-editing-services package from your system. The package may have a different name on some Linux distros (for example, on Debian-based distros the package is called libges-1.0-0).

  • You can disable winegstreamer before creating/updating your prefix. For example, you can do that with the WINEDLLOVERRIDES environment variable:

      export WINEDLLOVERRIDES="winegstreamer="
      winecfg
    

The second way, although works, may break video or audio playblack in some games, so it is better to use the first way if possible.


Builds description

Compilation parameters

Build flags (amd64): -march=x86-64 -msse3 -mfpmath=sse -O2 -ftree-vectorize

Build flags (x86): -march=i686 -msse2 -mfpmath=sse -O2 -ftree-vectorize

Configure options: --without-ldap --without-oss --disable-winemenubuilder --disable-win16 --disable-tests


Architectures

  • amd64 - for 64-bit systems, it can run both 32-bit and 64-bit applications.
  • amd64-wow64 - same as amd64, but does not require 32-bit libraries to run 32-bit applications, therefore it can work on systems without multilib.
  • x86 - for 32-bit systems, it can run only 32-bit applications.

Available builds

  • Vanilla is a Wine build compiled from the official WineHQ sources.

  • Staging is a Wine build with the Staging patchset applied. It contains many useful patches that are not present in vanilla.

  • Staging-TkG is a Wine build with the Staging patchset applied and with many additional useful patches. A complete list of patches is in wine-tkg-config.txt inside the build directory. Compiled from this source code, which is generated using the wine-tkg build system.

  • Proton is a Wine build modified by Valve and other contributors. It contains many useful patches (primarily for a better gaming experience), some of them are unique and not present in other builds. The differences from the official Steam's Proton are the lack of the Proton's python script and the lack of some builtin dlls (like DXVK and vkd3d-proton), the build environment is also different. However, you can still install DXVK and vkd3d-proton manually to your prefix, like you do with regular Wine builds.


Compilation / Build environment

I use create_ubuntu_bootstraps.sh and build_wine.sh to compile my Wine builds, you can use these scripts to compile your own Wine builds. The first script creates two Ubuntu bootstraps (32-bit and 64-bit) and the second script compiles Wine builds inside the created bootstraps by using bubblewrap.

These scripts are a pretty convenient way to compile your own Wine builds if you don't trust my binaries or if you want to apply different patches.


Links to the sources