Magic the Gathering: Arena open beta version
Playing itself works perfectly, as far as I can tell. However, many workarounds were needed to get there, and some glitches remain (see below).
The game installs with the official installer.
Then the game downloads many files.
The game connects to the game servers.
Deckbuilding, matchmaking, and playing - all work.
What does not
The installer displays several graphical glitches, making it essentially impossible to read anything. However if you've done the installation previously (e.g. on Windows), you can figure out to just click Next a lot, at the bottom. The early check box is "create a desktop icon?", which I declined. As far as I know there is no workaround for these graphical glitches.
When the game downloads files, for example right after the initial installation finishes, intermittently the program will crash, displaying a "gcThreadContext" error. This is apparently a known bug (https://bugs.winehq.org/show_b...). See below for a partial workaround to this.
In order for MtgaLauncher.exe to run, I had to install dotnet 4.7.2. This in itself is a process, which you can google for more details. But the basic procedure is:
- create a 32-bit wine prefix;
- uninstall mono from it;
- set windows version to XP;
- install .net 4.0 (download from Microsoft);
- set windows version to 7;
- set mscoree.dll to native in winecfg -> Libraries;
- install .net 4.7.2 (also download from Microsoft).
Alternatively, you can use the latest winetricks to install dotnet472 (download the latest winetricks from the winetricks github - it's just a single file: a huge shell script). But for me, doing it with winetricks took much longer, because it installs many more intermediate versions of dotnet.
To get around the gcThreadContext crash while downloading files, you can just restart the game when it happens, and it'll continue downloading where it left off. However, if you'd like to go do something else while it downloads, you can minimize how many times the crash occurs, by running like this:
WINEDEBUG=+relay,-debug wine MtgaLauncher
This makes the game run much slower, but it steadily makes progress downloading, and can do so unattended. Sometimes it still crashes, but it's much, much less. Once it finishes downloading, exit the game, and run normally, without WINEDEBUG=+relay,-debug.
In order to connect to the game servers, I needed another workaround, and this one I couldn't find with google. The game was giving an error: "Unable to connect. Could not establish connection to environment: An exception has occurred while attempting to connect. wss://client.arenagame-a.east.magic-the-gathering-arena.com:9405/Prod/WS" (the exact address may vary). To fix this, I had to turn on IPv6 in my Linux kernel.
What was not tested
In game shop
Major game version changes
Many thanks to DarkShadow4444 from FreeNode irc #winehq, who helped me produce and understand the wine debugging output, which helped me figure out that I had to turn on IPv6 in my kernel.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Show||Ubuntu 19.04 "Disco" amd64 (+ variants like Kubuntu)||Jun 25 2019||4.11||Yes||Yes||Yes||Silver||Arthur Peters|
|Show||Debian 10.x "Buster"||Apr 26 2019||4.0||Yes||Yes||Yes||Gold||Shane B|
|Show||Fedora 29 x86_64||Jan 30 2019||4.0||Yes||Yes||Yes||Bronze||Josh|
|Show||Arch Linux||Dec 15 2018||4.0-rc1||Yes||Yes||Yes||Silver||inknos|
|Current||Void Linux||Dec 02 2018||3.21||Yes||Yes||Yes||Silver||Ian|
|Bug #||Description||Status||Resolution||Other apps affected|
|24501||wine-mono does not support WPF||NEW||View|
|45546||Magic The Gathering Arena updater: Unity fork of Mono-runtime reports 'Fatal error in gc, GetThreadContext failed' (suspension of Mono-managed threads sometimes exceed 100ms)||NEW||View|
|45898||Magic The Gathering Arena has most hotkeys not working||UNCONFIRMED||View|
|45937||Magic The Gathering Arena stops accepting any input after losing and regaining focus||UNCONFIRMED||View|
|47479||Darkula by Locomalito gives white screen with Wine 4.12.1||STAGED||View|
This should allow you to run the updater.
Note that this does not fix the GetThreadContext failed bug.
The alt-tabbing is fixed by adding a registry key for "HKEY_CURRENT_USER\Software\Wine\X11 Driver\UseTakeFocus" and set it to "N"
It is possible to overcome the "Fatal error in gc, GetThreadContext failed" crash when downloading game files by using a patched version of wine. (see the discussion here https://bugs.winehq.org/show_bug.cgi?id=45546)