Further to the recent announcement and subsequent discussion, I did a little testing over lunch on eoan 19.10 with all i386 packages removed and the i386 part of the repo disabled.

I did this because there’s been a couple of assertions made:

That games ship their own required libs and will likely work

That WINE64 is sufficient for playing Windows games

These don’t seem to be true for the limited testing I did. I would urge more testing and feedback. I’m also keen to hear if my testing strategy is flawed in any way. Bear in mind I’m trying to approach this from a “normal user” point of view who wants to download and run a game they already had in their collection, or a new title they just bought.

I have a few (50) games in GOG that I have purchased over the years. I only had time to select a few at ~random. I picked 5 which gave me a representative sample of relatively modern stuff mixed with retro games, and a good mix between native Linux and native Windows titles.

I did this in a clean eoan VM. I used VirtualBox. VirtualBox isn’t great for 3d accelerated gaming, but it’s good enough to see if I can fulfill my two goals:

Does the game install?

Does the game run?

Preparation

Install eoan from June 6th daily ISO from cdimage.ubuntu.com

Install all updates using sudo apt update && sudo apt dist-upgrade

Remove any i386 packages - sudo apt remove "*:i386" (none removed as none found)

Disable i386 repo - sudo dpkg --remove-architecture i386

Shutdown and take a snapshot of the VM

Boot the VM and install WINE, because I know there’s going to be some Windows applications going on here.

sudo apt update sudo apt install wine64

Note: The wine64 package from the Ubuntu archive recommends wine32 - which is uninstallable (obviously, as I have removed the capability to install i386 packages, of which wine32 is one.

alan@eoan:~$ sudo apt install wine32 Reading package lists... Done Building dependency tree Reading state information... Done Package wine32 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'wine32' has no installation candidate

Logged into my GOG account and downloaded the installers for a bunch of games.

I then attempted to install and run each game in turn using either WINE64 (for Windows titles) or the supplied installer shell script.

Results

GOG - Theme Hospital

setup_theme_hospital_v3_(28027).exe

Fails to install

wine/wine64 complain that wine32 is not installed

alan@eoan:~/GOG$ wine64 ./setup_theme_hospital_v3_\(28027\).exe it looks like wine32 is missing, you should install it. multiarch needs to be enabled first. as root, please execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32" wine: Bad EXE format for Z:\home\alan\GOG\setup_theme_hospital_v3_(28027).exe.

GOG Quake The Offering

setup_quake_the_offering_2.0.0.6.exe

Fails to install

wine/wine64 complain that wine32 is not installed

alan@eoan:~/GOG$ wine64 ./setup_quake_the_offering_2.0.0.6.exe it looks like wine32 is missing, you should install it. multiarch needs to be enabled first. as root, please execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32" wine: Bad EXE format for Z:\home\alan\GOG\setup_quake_the_offering_2.0.0.6.exe.

GOG Braid

gog_braid_2.0.0.3.sh

Successfully installed game using supplied shell script

alan@eoan:~/GOG$ ./gog_braid_2.0.0.3.sh Verifying archive integrity... All good. Uncompressing Braid (GOG.com) 100% Collecting info for this system... Operating system: linux CPU Arch: x86_64 trying mojosetup in bin/linux/x86_64 USING en_US Braid Braid ....

Game won’t launch - only 32-bit binary supplied

alan@eoan:~/Games/Braid$ ./start.sh Running Braid ./start.sh: line 19: ./launcher.bin.x86: No such file or directory alan@eoan:~/Games/Braid$ file game/launcher.bin.x86 game/launcher.bin.x86: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=e0a7c50f752aa8ca97613b0be74b44de7afd2437, not stripped

Used apt to install libc6-i386 . This got the game one step further. Now it complains about some 32-bit libraries which are required. I didn’t iterate through all of them, but we can guess the 50 or so X related libs it will need, this was just the first. Clearly I cannot install any of them because my system now has no i386 support.

alan@eoan:~/Games/Braid$ ./start.sh Running Braid ./launcher.bin.x86: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

GOG Surgeon Simulator 2013

gog_surgeon_simulator_2013_2.0.0.3.sh

Successfully installed game

Game launches - selects 64-bit binary.

Game is a black window - suspect this is poor OpenGL support in VirtualBox

alan@eoan:~/Games/SS2013$ ./start.sh Running Surgeon Simulator 2013 Set current directory to /home/alan/Games/SS2013/game/64 Found path: /home/alan/Games/SS2013/game/64/ss2013.bin Mono path[0] = '/home/alan/Games/SS2013/game/64/ss2013_Data/Managed' Mono path[1] = '/home/alan/Games/SS2013/game/64/ss2013_Data/Mono' Mono config path = '/home/alan/Games/SS2013/game/64/ss2013_Data/Mono/etc' /dev/input/js0: driver version: 2.1.0 (20100) /dev/input/js0: fd 3, buttons 5, axes 2, name VirtualBox USB Tablet /dev/input/js0: axis 0: raw -32767, mapped 0.000000 /dev/input/js0: axis 1: raw -32767, mapped 0.000000 /dev/input/js1: driver version: 2.1.0 (20100) /dev/input/js1: fd 4, buttons 1, axes 2, name VirtualBox mouse integration /dev/input/js1: axis 0: raw 8200, mapped 0.000000 /dev/input/js1: axis 1: raw -2048, mapped 0.000000

FTL Advanced Edition

ftl_advanced_edition_1_6_9_25330.sh

Successfully installed game using supplied shell script

Game launches - selects 64-bit binary

Game is a black window - suspect this is poor OpenGL support in VirtualBox

alan@eoan:~/Games/FTLAE$ ./start.sh Running FTL: Advanced Edition Loading Arch = amd64 lib/SIL/src/sysdep/posix/time.c:82(sys_time_init): Using CLOCK_MONOTONIC as time source Version: 1.6.9 Loading settings Failed to load settings file! Initializing Crash Catcher... Starting up Loading text Initializing Video Video: 1280x720, windowed

Shadow Warrior

setup_shadow_warrior_2_1.1.14.0_(18469).exe

Fails to install