It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
This thread is for news, FAQ and discussion pertaining to my Wine wrappers. Feel free to post here if you need help with any of them or have any questions.

Latest update (2020/03/28): Wrappers are now available for The Bard's Tale Trilogy, Batman: Arkham Asylum, Batman: Arkham City, and Wasteland Remastered. Thanks to sunshinecorp for donating the key for Wasteland Remastered :)

For a full list of release threads and an archive containing all wrappers, see this post.

Don't use Linux? Check out my Linux Mint beginner's guide/page1 if you're interested & consider trying it :)


***** About this project *****

The goal of this project is to provide an easy way for getting the supported games running on Linux using Wine, without any Wine knowledge being required and offering an experience as close as possible to playing a native game.

Saves are stored in their own subdirectory under $XDG_DATA_HOME or ~/.local/share (or optionally in the game directory) rather than being scattered around the Wine prefix or somewhere in your Documents directory or so. They can be set up to use other paths by setting an environment variable named WINEWRAP_UDATA_ROOT with the desired location.

Fixes for common issues are included where possible. Where there are hardware-specific issues and the solutions may cause issues with other hardware, I try to have the wrappers detect if the affected hardware is currently in use and automatically apply or revert the fixes as necessary (this behavior can be overridden by the user).

The wrappers are also designed to offer a high degree of customisability and user choice/control to facilitate things like using mods and third party tools/utilities, however in general no mods will be included by default. I do make exceptions for things like widescreen & performance/stability fixes though.


***** How it works *****

You simply run the build script to create the wrapper. If the game's installer files are not alongside the wrapper build files then the path to them will need to be specified either by passing it as an argument to the build script with -respath="<path>" or by setting an environment variable named WINEWRAP_RESPATH containing it. You can change the path to build the wrapper in and the name of the wrapper directory with the -buildpath= and -dirname= arguments. The build path can also be set with the WINEWRAP_BUILDPATH environment variable.

The output will be a directory containing the game set up within a preconfigured Wine prefix, along with its own copy of Wine, extracted game icons, documentation, and start script(s). From there simply run the start script to play.

Running the start script with no arguments will have it present a menu with various options. From here you can run the game, create a shortcut, access the advanced options menu etc. - this will vary slightly from game to game.

Creating a directory named "userdata" in the game directory will result in settings/saves/etc being kept there instead of your home directory.

There are some dependencies common to all of the wrappers: Wine's dependencies, icoutils, and innoextract - others may also be necessary depending on the game. Innoextract will be downloaded if your system's version is outdated or not installed.

For more automated use by other scripts etc., the wrapper build scripts return different exit codes on failure. The exit codes are:

01: Script was not run with Bash or was attempted to be used on a Windows filesystem
02: Wrapper directory already exists
03: Unrecognised argument specified
04: Wine version not specified
05: Missing one or more dependencies
06: Missing wrapper resource and/or installer file(s)
07: Failed to download Wine package
08: Checksum failed for Wine package
09: Failed to download Winetricks
10: Failed to download an additional resource file
11: Checksum failed for an additional resource file
12: Checksum failed for wrapper resource and/or installer files
13: Failed to unpack Wine
14: Failed to create Wine prefix
15: Failed to unpack installer
16: Failed to unpack resource archive
17: Failed to create tarball


***** FAQ *****

Do these wrappers require PlayOnLinux or Lutris?
No. These wrappers download & use the Wine packages provided by PlayOnLinux (website: https://www.playonlinux.com) and Lutris ( https://lutris.net), but PlayOnLinux and Lutris are not required. I recommend checking out PlayOnLinux and Lutris if you want to try getting things running in Wine yourself though. I also wrote a PlayOnLinux guide along with my Linux Mint guide.

The build script for <game> appears to expect an outdated installer
I try to keep the wrappers updated to use the newest installers, but GOG don't always post changelogs or update notices so it's possible that I might miss them occasionally. First check that you have the latest classic installer and not the Galaxy installer; some games have two sets of installers, with the Galaxy installer being presented by default, and it's very easy to miss the Galaxy-free "classic" installer if you're not aware of this. To show the classic installers, click on the "More" button on the download page to bring up the menu and select the classic installers option. Only classic Galaxy-free installers are supported by my wrappers.

If you've checked this and have found a case where one of my scripts is expecting an outdated installer then post here or in the relevant release thread to let me know and I'll fix it as soon as I can.

It isn't working & there are messages like: "Wine cannot find the ncurses library (libncurses.so.5)"
Check that you have installed all of Wine's dependencies. Note that most of the wrappers are 32-bit, so 32-bit dependencies will be required. On Linux Mint just installing the wine package should install both the 64 and 32 bit versions.

Users of Mint 19.x or Ubuntu 18.04 (or other Ubuntu 18.04-based distros) can try my common dependencies meta-package, which should install the required dependencies as well as dependencies that are commonly required for many other games.

It runs but there are graphics issues
Make sure that you're using recent graphics drivers. For users of Ubuntu, Mint and other Ubuntu-based distros, you can use these PPAs to update your graphics drivers:

Kisak's Stable Mesa PPA (for users of the open graphics drivers)
Proprietary GPU Drivers PPA (proprietary drivers for Nvidia users)

Regarding multiplayer... ?
I generally don't test multiplayer (it's just me working on these) so it may or may not work. If not, then you could try using Winetricks to install native Windows versions of certain components that may be required. If you find that something requires additional components for multiplayer to work then let me know & I'll see about updating the wrapper to include them by default.

Do you take requests?
Yes, but I can't guarantee that I'll be able to get something running acceptably, or at all. It also depends on me actually having the game in question: In order to support and encourage official Linux releases I will usually wait for non-Linux games to become sufficiently discounted/cheap enough before I consider buying them for use with Wine (and they *must* be DRM-free), and I recommend that others do likewise. Save your full/high price purchases for games that officially support Linux :)

If you're particularly keen on playing a particular game you could try getting it running yourself using the GOGWrap generic wrapper (see towards the end of this post), or something like PlayOnLinux.
Post edited March 28, 2021 by adamhm
Thanks for these!! I've had nothing but success using your Wine Wrapper scripts on Arch 64 bit.

These are the games I've successfully installed and played:

Deus Ex
Oblivion
Fallout 2
Fallout 3
Rollercoaster Tycoon 3

I've also installed but haven't played:

Saints Row 2
System Shock 2
Fallout New Vegas
One of the STALKERS ... can't remember which one.

I've also modified one of your scripts to create a Wine Wrapper script for The Saboteur.
high rated
List of wrapper release threads:

This has gotten too long to fit in one post so I've split it up - click here for the second half

Alan Wake for Linux
Anno 1701 for Linux
Anno 1404 for Linux
Arma for Linux
The Bard's Tale Trilogy for Linux
Batman: Arkham Series for Linux
BioShock for Linux
BioShock 2 for Linux
The Bureau for Linux
Call of Cthulhu: DCotE for Linux
Call of Juarez for Linux
Chaos Gate for Linux
Civilization IV for Linux
Consortium for Linux
Crysis and Crysis Warhead for Linux
Cyberpunk 2077 for Linux
Dead Space for Linux
Deadly Premonition for Linux
Deus Ex for Linux
Deus Ex: Human Revolution Director's Cut for Linux
Deus Ex: Mankind Divided for Linux
Dishonored for Linux
Dragon Age: Origins for Linux
The Evil Within for Linux
Fallout 1 + 2 + Tactics for Linux
Fallout 3 for Linux
Fallout: New Vegas for Linux
FEAR &amp; FEAR 2 for Linux
Final Liberation for Linux
Freedom Force for Linux
GUN for Linux
Hitman series for Linux
Jade Empire for Linux
Jazz Jackrabbit 2 for Linux
The Longest Journey for Linux
Mafia for Linux
Mafia 2 for Linux
Magrunner for Linux
MDK for Linux
Mirror's Edge for Linux
MOHAA for Linux
MOHPA for Linux
Neverwinter Nights 2 for Linux

This has gotten too long to fit in one post so I've split it up - click here for the second half
Post edited July 11, 2021 by adamhm
TL;DR Yes, you are right, Adam.
The URL tag now handles the "~" weirdly.


At least you can post the links like raw text, ie:

launchpad.net/~graphics-drivers/+archive/ubuntu/ppa


----

Btw, does anyone have a twitter? I can't register, it has "technical difficulties". :(

If yes, would you please ask "@ubuntu_updates" to bump the "AQEMU" package for "Xenial" (aka 16.04) to "0.9.2-2", like they did for Yakkety and Zesty ? They just need to copy the existing 0.9.2-2 to Xenial, the yakkety package installs and runs perfectly on xenial!

The 0.8.2 is ANCIENT! "Aqemu" is a GUI to "qemu" and "kvm", its like Virtualbox, but much faster and without restrictions.
Post edited September 02, 2017 by Lin545
This FAQ may come handy.
At the moment I count about 25 games, so it is not a problem. But if you intend to expand your scripts, it could be useful to create a tar file containing all of them to be stored alongside my game installer backups.
Thank you for your work.
high rated
This has gotten too long to fit in one post so I've split it up - click here for the first half

Oblivion for Linux
Oddworld: Stranger's Wrath HD for Linux
Outlaws for Linux
Prey for Linux
Prince of Persia for Linux
Rayman Origins for Linux
RiME for Linux
Risen series for Linux
Rites of War for Linux
Rollercoaster Tycoon 3 for Linux
The Saboteur for Linux
Saints Row 2 for Linux
Saints Row 3 and 4 for Linux
Shadow Warrior 2 for Linux
Silent Storm for Linux
SimCity 4 for Linux
Soldier of Fortune for Linux
Splinter Cell for Linux
STALKER for Linux
Star Wars: Republic Commando for Linux
Star Wars: Rogue Squadron 3D for Linux
Still Life for Linux
Stories: The Path of Destinies for Linux
SWAT 4 for Linux
System Shock: Enhanced Edition for Linux
System Shock 2 for Linux
Tales from the Borderlands for Linux
Telltale Sam and Max for Linux
Torchlight for Linux
Total Annihilation for Linux
Total Overdose for Linux
Tropico 3 for Linux
UnderRail for Linux
Undying for Linux
Vampire: The Masquerade - Bloodlines for Linux
Wasteland Remastered for Linux
The Witcher for Linux
The Witcher 3 for Linux
XCOM: Enemy Unknown for Linux
XIII for Linux

An archive containing the current versions of all available wrappers (excluding GOGWrap & SteamPlay Menu) can be downloaded here:
allwrappers.tar.xz
(updated 2021/07/19, SHA256: b26aede6ade8bcad374c9d3e8eadcb8cb1a04ca65bce618fb5a05ead6796f5bf)

Other wrappers:

GOGWrap generic Wine/Proton wrapper
This was originally for my own use as a tool to help create my Wine wrappers, but I decided to tidy it up a little and make it available for others to play around with as well. It's still a bit rough/messy but it works well enough for its intended purpose.

Please note that this is intended for testing only and does not apply any workarounds or additional components besides DXVK (if not using Proton) - in the event that workarounds and/or native Windows libraries are required, the script offers options for configuring Wine and using Winetricks. This currently uses Proton 5.0-9 by default but can be configured to use other versions of Wine.

You can run it with no arguments & create a default, empty wrapper, or you can specify installer(s) and it will run those and then generate start scripts from any shortcuts it finds on the desktop/start menu as well as try to name the wrapper automatically if used with GOG games.

gogwrap.tar.xz
(41.1 kB, SHA256: 684af58d32ce6a4909228bd6ee9766e67be3814516348ee6fdddbf9314039d5a)
(updated 2021/07/11)


SteamPlay Menu

SteamPlay Menu is a tool for configuring SteamPlay prefixes, based on my wrapper scripts. It offers menu options for things such as Winecfg, Wine's registry editor, etc., easy access to Winetricks and quick configuration of more advanced Wine options, as well as other features. It also allows for easier installation and running of software such as mods & mod tools within them (and to create shortcuts for them), and to help diagnose & fix problems.

Unfortunately Valve recently made some changes to Proton that broke this as well as making Proton unusable outside of Steam and I currently don't have time to look into it, so this has been removed for now. (I don't think anyone apart from myself used this anyway...)

This has gotten too long to fit in one post so I've split it up - click here for the first half
Post edited July 19, 2021 by adamhm
avatar
adamhm: Saves are stored in their own subdirectory under ~/.local/share (or optionally in the game directory) rather than being scattered around the Wine prefix or somewhere in your Documents directory or so.
Did you decide on any kind of standard for saved games paths naming?
I think it would be nice if I improve ./play.it to be able to see saved games done by your wrappers, so our projects could work nicely together ;)
I haven't decided on any standard for naming, aside from the directory names being based on the game names.
avatar
adamhm: (…)
OK, I’ll give a try to the wrappers for games I own, and see if I can find an easy way to share saved games between both our installation methods.
high rated
A wrapper is now available for Civilization IV :)
Why aren't you using some existing Wine scripting application like Lutris or POL?
avatar
Yepoleb: ...
From my experience that scripts are often old, out-of-date, based on older versions of Wine etc. I had the same doubts before. After playing Witcher with adamhm's script I can see that his work makes the whole process very close to native instalation and gives you well optimized game running on relatively new, up-to-date libraries and hides all layers showing just a game running like charm. Now I'll always prefer playing with these scripts, if only exist for a specific game.
high rated
avatar
Yepoleb: Why aren't you using some existing Wine scripting application like Lutris or POL?
These are intended to be much easier to use - especially for new/less experienced users - and the resulting wrappers are independent/standalone like official wine wrapped releases are/would be, in order to try to provide an experience that's as close as possible to playing a native Linux game. Unlike most official wrappers I try to allow for as many options for customisation etc. as I can though :)

In addition, doing wrappers like these offers much finer control & options for tailoring them on a per-game basis. I can check userdata directories and link/relink them as required on startup to avoid having them clutter the prefix or the user's "Documents" etc directories, set initial game settings as required, check for and apply (or revert) any hardware-specific fixes that may be necessary - e.g. Fallout 3 needs a fix to work on Intel GPUs, the Crysis games need UseGLSL=disabled on Nvidia GPUs but this will cause issues on AMD/Intel GPUs - as well as other fixes. System Shock Enhanced Edition requires a MIDI synthesizer for music to work so I have it attempt to start FluidSynth as a background process if it's installed. Many games tamper with the display gamma and then fail to revert it on quitting; my scripts take care of this issue.

I also try to have every game use the detected desktop resolution to start with in order to avoid causing any changes, as I've had bad experiences with this in the past (when I used KDE the arrangement of my desktop icons always got messed up & needed fixing when anything did this... doesn't seem to happen with Cinnamon but I'm still very paranoid about it).
I have to admit, I didn't actually look at the scripts before writing that comment and just assumed they were like the standard install scripts from the applications mentioned. Now that I properly read them it makes sense not to limit yourself to these very simple environments.

I've tried something very similar with RCT3 and Python, but started focusing on GOG API stuff close before it would have been finished. It was more like a framework though and very little code for the actual game script. I think something like this would be very beneficial to the Linux ecosystem, but either doesn't exist or has received very little attention so far.
avatar
adamhm: These are intended to be much easier to use - especially for new/less experienced users - and the resulting wrappers are independent/standalone like official wine wrapped releases are/would be, in order to try to provide an experience that's as close as possible to playing a native Linux game. Unlike most official wrappers I try to allow for as many options for customisation etc. as I can though :)
Maybe it's just me, but seems like this would benefit from VCS with a public repository. You have enough scripts to keep track of by now. Depending on the Version control system poison of your choice:
Git-GitHub
Mercurial-Bitbucket
Bazaar-launchpad
SVN-OSDN (also git, hg & bzr).
It would make it easier for anyone who was interested in helping to collaborate.
Post edited September 18, 2017 by Gydion