Sign inSign up

danger89/wine-pkgbuilds

By danger89

•Updated over 6 years ago

Build your Wine (staging) + Proton patches from source using Arch Docker image

Image
1

1.7K

danger89/wine-pkgbuilds repository overview

Build your own Wine (staging or stable) from scratch together with the Proton patches (or even protonified). You a lot of configuration options to fine-tune your needs building your own Wine version, see customization.cfglater on.

This Docker image is based on Arch Linux⁠, since TK-Glitch⁠ is creating the scripts made for Arch pacman builder: makepkg.

Thanks Tk-Glitch for the effort of creating and maintaining this Github repository⁠.

⁠Setup

  1. On host system, clone the Tk-Glitch repository: git clone https://github.com/Tk-Glitch/PKGBUILDS.git ~/PKGBUILDS

  2. (optionally) Change your configuration with your favorite editor: xed ~/PKGBUILDS/wine-tkg-git/customization.cfg

Hint: Since the Wine is meant to be run on your Debian/Ubuntu/Linux Mint, you may want to change the following 3 configuration options: _EXTERNAL_INSTALL to "true", _EXTERNAL_NOVER to "true" and _PKGNAME_OVERRIDE to "none". This way your system can support multiple Wine versions, and the Wine files will be landed in /opt/wine-tkg-opt-git.

  1. Start the container (pulls the image for you automatically):

docker run -it -u arch -w /home/arch/PKGBUILDS/wine-tkg-git -v /home/$USER/PKGBUILDS:/home/arch/PKGBUILDS danger89/wine-pkgbuilds:latest

  1. Within the Docker container, update the packages, let's build and after the build exit the container:

Important note: Password of arch user is also: arch.

sudo pacman -Syu
makepkg -si
exit
  1. Now the build is finished, do the copy on your host PC: cp -r ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-*** ~/wine-build.

OR deploy your Wine to the /opt destination in case you followed my advise :), via:

rm ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-opt-git/.PKGINFO  && \
rm ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-opt-git/.MTREE && \
rm ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-opt-git/.INSTALL && \
rm ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-opt-git/.BUILDINFO && \
sudo cp -r ~/PKGBUILDS/wine-tkg-git/pkg/wine-tkg-opt-git/* /

⁠Test

Retrieve the Wine version:

/opt/wine-tkg-git/bin/wine --version

OR

~/wine-build/usr/bin/wine --version

⁠Usage

Some usage examples.

⁠Wine only

If you followed my advise, your Wine is now installed at the /opt/wine-tkg-opt-git directory.

You may want to add: WINEARCH=win32 in your command below to ensure you create a 32-bit Wine bottle.

export PATH=/opt/wine-tkg-opt-git/bin:$PATH

WINEPREFIX=~/.winetest/ wine notepad.exe

Small note: If you did it everything correctly... You should now NOT be able to use wine due to a mismatch of the glibc version [Ubuntu Bionic is using glibc v2.27, while Arch is already on v2.30]. -,- If you are able to help me out, having knowledge about CFLAGS, LDFLAGS, etc, please contact me⁠!!!

Another example starting some application from your Wine Bottle C:/ drive:

PATH=/opt/wine-tkg-opt-git/bin:$PATH WINEPREFIX=~/.winetest/ wine ~/.winetest/drive_c/some_folder/hello_world.exe
⁠Proton

Example of Proton v4.11 and Wine is roll-out to the~/wine-build directory.

You can use Proton to first handle your Wine Prefix and install the game/application:

mkdir -p ~/WineApps/test
STEAM_COMPAT_DATA_PATH=~/WineApps/test ~/.steam/ubuntu12_32/steam-runtime/run.sh ~/.steam/steam/steamapps/common/Proton\ 4.11/proton run ~/Downloads/GameInstaller.exe

Launch the Game/App:

WINEPREFIX=~/WineApps/test/pfx LD_LIBRARY_PATH=$HOME/wine-build/usr/lib:$HOME/wine-build/usr/lib32:$LD_LIBRARY_PATH WINEDLLPATH=$HOME/wine-build/usr/lib/wine/:$HOME/wine-build/usr/lib32/wine PATH=$HOME/wine-build/usr/bin:$PATH ~/.steam/ubuntu12_32/steam-runtime/run.sh wine ~/WineApps/test/pfx/drive_c/some_folder/Launch.exe

Note the pfx that Proton appends to the Wine prefix by default.

More info:

⁠Install Docker

Install Docker if you haven't it already.

Installs deps:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Install Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   bionic \
   stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker your-user

Tag summary

Content type

Image

Digest

Size

1.6 GB

Last updated

over 6 years ago

docker pull danger89/wine-pkgbuilds