Windows games

Wine allows you to play Windows games. Old and even recent games, 32 and 64 bits. Some opensource games are available in the free Batocera content store (from the EmulationStation menu, UPDATES & DOWNLOADSCONTENT DOWNLOADER)

The following links contain infos about some games compatibility with Wine

List liberodark

protondb

supertuxland

It is also important to note that it is recommended to use btrfs or ext4 for /userdata/ as Wine explains on their FAQ that some games won't run on a non-Linux native file system. Steam games are notoriously known to be unusable under wine.

  • /userdata/roms/windows : installed windows game (both 32 and 64 bits).
  • /userdata/roms/windows_installers : .iso, and setup.exe used to install games into /userdata/roms/windows

There are 2 types of formats for a Windows game installer :

  • CD-Rom images : An .iso file created from a game on a CD-Rom
  • Executable Installers : A .exe or .msi file, that usually contains “setup” or “install” in the name (in some cases, other files may be bundled with them)

In both cases, those files need to be put into the /userdata/roms/windows_installers folder. Once this is done, refresh the gamelist in EmulationStation, then go into the “Windows” system, select “Install a new game”, and run the installer.

After a screen telling you the configuration is being made, the installer should open up, it'll look the same way it does inside Windows.

Proceed to install the game as you normally would, as for the installation path, leave it to the default : The virtual C:\ Drive will be located at /userdata/roms/windows/<game_name>.wine/drive_c.

Once the installation is done, head over to the /userdata/roms/windows/<game_name>.wine folder, and edit the autorun.cmd accordingly.

Example :

DIR=drive_c/Program Files/xmoto 0.6.1
CMD=xmoto.exe --fullscreen

or if you have some spaces in the name of the game

DIR=drive_c/Program Files (x86)/Ubisoft/Rayman Origins
CMD="Rayman Origins.exe"

This .wine folder is called the wineprefix.

Installed games can be converted into two other formats: wtgz and wsquashfs, this conversion is doable via command line :

batocera-wine wine2winetgz xmoto.wine
batocera-wine wine2squashfs xmoto.wine

This conversion will create a file in /userdata/roms/windows which, as opposed to the .wine, will be no more modified. Instead, when you start this new game, it will create a directory in /userdata/saves/windows.

The difference between the 2 :

  • wtgz is a .wine directory zipped. This file is unzipped into the saves directory and instead of modifying the original game, you have a copy of it.
  • wsquashfs is a squashfs file. When you start such a game, an overlay is created on top of it into the saves directory. The overlay contains only the delta, so it takes less storage space.

This makes it easier to remove and put back a game, as it won't be modified with every launch.

Those games usually come as a game folder containing a .exe file (or several) as well as other files and subfolders. They may also come as a .zip file, if that is the case, unzip them first.

For those, there are two easy ways to handle them:

  • The .exe method : Just put the game folder into the /userdata/roms/windows, and refresh the gamelist in EmulationStation
  • The .pc method (recommanded) : Rename the game folder as a .pc (for exemple : Windlands.pc), put it into the /userdata/roms/windows, create a file named autorun.cmd directly into it, edit it so it points to the game executable.

Exemple:

if the .exe of the game is directly in the .pc folder, and is called Windlands_Win_x64.exe, the autorun.cmd file should contain :

CMD=Windlands_Win_x64.exe

If the name of the executable contains specials characters or spaces however, be sure to put quotes around it, like so :

CMD="launch game.exe"

The first time you run the game, a .wine folder will be created at /userdata/saves/windows.

This .wine folder is called the wineprefix.

For debugging purposes, if you want to launch a windows game from SSH, use the following commands:

export DISPLAY=:0.0
batocera-wine play /userdata/roms/windows/Windlands.pc

Where /userdata/roms/windows/Windlands.pc is the path to your game

Recommended options for most games:

These options need AMD/NVIDIA/INTEL GPU with Vulkan support!

DXVK = TRUE
DXVK HUD = FALSE
ESYNC = TRUE
FSYNC = TRUE
PBA = FALSE
MF = AUTO
VIRTUAL DESKTOP = FALSE

DXVK : converts the D3D (DirectX) calls from 9 to 12 in Vulkan.

DXVK HUD : to see your FPS and version of Vulkan API and Driver.

ESYNC : removes wineserver overhead for synchronization objects. This can increase performance for some games, especially ones that rely heavily on the CPU.

FSYNC : improving frame rates and responsiveness with scheduling policies.

PBA : implements a GL-free GPU heap allocator, vastly improving the speed of buffer maps.

MF : install Media Fondation, that help somes games for run.

VIRTUAL DESKTOP : is an option to define the resolution and a new dedicated window.

Some games require tricks to run. For example, Age of King requires directplay if you want to play on network (https://appdb.winehq.org/objectManager.php?sClass=version&iId=147). It can be installed automatically thanks to the winetricks command.

export DISPLAY=:0.0
batocera-wine tricks /userdata/roms/windows/aok.wine directplay

You can find a list of winetricks commands on this link, you can also read a bit more about winetricks and Batocera right here.

  • emulators/windows32_windows64.txt
  • Last modified: 11 days ago
  • by liberodark