User Tools

Site Tools


cs:old_wine

This is an old revision of the document!


Set up an old Wine

It happens than a newer version of Wine works worse than a previous one. It can be a regression or new features makes the execution slower, yet you do not need them.

In any case, you want an old wine to execute a Windows program. Archlinux is a rolling distribution and it gives you the newest and most recent version of software, but you can compile yourself and use the old versions.

The instruction focus on Wine, but the basic idea can be applied to other projects too.

As reference, here are https://wiki.winehq.org/Building_Wine.

Prepare the sources

Step 1. Download sources, if you already have them just use git pull

$ git clone git://source.winehq.org/git/wine.git ~/wine-source
$ cd ~/wine-source

Step 2. Find and put the version you want, here as example we see all versions 2 and set up for version 2.22

$ git tag | grep -e '-2\.'
wine-2.0
wine-2.0-rc1
[...]
wine-2.22
[...]
wine-2.8
wine-2.9
$ git reset --hard wine-2.22

Step 3. Build! The make command will use up to 8 concurrent tasks, but try to keep the average CPU usage under 90%, to keep the computer responsive. You can change the -j option to match the number of CPUs or hyperthreads of your system

$ mkdir ~/wine-source/BUILD
$ cd ~/wine-source/BUILD
$ CC="ccache gcc" ../configure.sh --prefix=/

Check if there are any problem. It is possible one needs to install some development libraries.

$ make -j8 -l 90.0

Step 4. If make has been successful, install

$ mkdir -p ~/bin/old_wine
$ make install DESTDIR=~/bin/old_wine/wine2.22

Step 5. Reset the wine sources to the newest version. Ready for the next time. Otherwise you can simply delete the source directory

$ cd ~/wine-source
$ git checkout HEAD
$ git pull

When you need to use the old wine you have to hide the one you installed system-wide. To do so just set up the PATH environment variable to see the new directory than the system one.

$ wine --version
wine-4.5 (Staging)
$ export PATH=~/bin/old_wine/wine2.22/bin:"$PATH"
$ wine --version
wine-2.22

If you are using https://github.com/paolobolzoni/useful-conf/tree/master/wine you probably want to edit the file so it sets up the PATH automatically.

cs/old_wine.1554634960.txt.gz · Last modified: 2019/04/07 11:02 by paolo_bolzoni