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
alan@eoan:~/GOG$ wine64 ./setup_shadow_warrior_2_1.1.14.0_\(18469\).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_shadow_warrior_2_1.1.14.0_(18469).exe.