Proton: Divinity Original Sin 2 appid 435150

Created on 24 Aug 2018  路  192Comments  路  Source: ValveSoftware/Proton

D:OS2 will not start after installation (SupportTool.exe). Some users report that using the EoCApp.exe and WINE dll override xaudio2_7 allows the game to run, but for me, I get only as far as a black screen and the game cursor with those modifications.

OS: Ubuntu 18.04 bionic
Kernel: x86_64 Linux 4.15.0-32-generic
Resolution: 1920x1080
DE: XFCE
WM: Xfwm4
CPU: Intel Core i5-3470 @ 4x 6.3GHz
GPU: GeForce GTX 1070 driver 396.54
RAM: 2030MiB / 15989MiB

.NET .NET-WPF Game compatibility - Unofficial XAudio2

Most helpful comment

So, good news. I found the reason, why Wine crashes the game. It has indeed to do with thread affinity. Apply this patch and it should work.

--- dlls/ntdll/thread.c 2018-09-07 12:33:51.689761974 +0200
+++ dlls/ntdll/thread.c 2018-09-07 21:09:33.463365868 +0200
@@ -1290,6 +1290,7 @@
             if (length != sizeof(ULONG_PTR)) return STATUS_INVALID_PARAMETER;
             req_aff = *(const ULONG_PTR *)data;
             if ((ULONG)req_aff == ~0u) req_aff = affinity_mask;
+            else if ((LONG) req_aff < 0) req_aff = affinity_mask & req_aff;
             else if (req_aff & ~affinity_mask) return STATUS_INVALID_PARAMETER;
             else if (!req_aff) return STATUS_INVALID_PARAMETER;
             SERVER_START_REQ( set_thread_info )

All 192 comments

I'm not having any joy with installation, either. No useful error message at command line, but installation appears to fail during or just after Microsoft DotNet framework.

EoCApp.exe can be made to run using standard Wine 3.0.2, but blackscreens.

Distro: Ubuntu Mate18.04
Kernel: 4.15.0-32-generic
Resolution: 1920x1080
CPU: AMD Ryzen 1600 six-core
GPU: 4GB AMD Radeon 6990 (Caymen), Padoka driver (see https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa)
RAM: 16GB

It certainly seems to me as if the issue is .Net. In CrossOver I had been able to run it perfectly by simply specifying the executable (and skipping Steam).

I renamed EoCApp.exe to SupportTool.exe for it to load with proton. I used proton_winedbg_run (modified to override xaudio2_7) with the following results (black screen, game cursor):

./proton_winedbg_run2
wine: Call from 0x7b43c45c to unimplemented function mscoree.dll.CorIsLatestSvc, aborting
wine: Unimplemented function mscoree.dll.CorIsLatestSvc called at address 0x760023:0x7b43c45c (thread 0015), starting debugger...
WineDbg starting on pid 0035
0x000000007bc8f905 DbgBreakPoint+0x1 in ntdll: ret  
Wine-dbg>next
start_process () at /home/proton/proton/wine/dlls/kernel32/process.c:1067
1067        return entry( peb );
Wine-dbg>next
Thread ID=0041 not in our list of threads -> can't rename
Thread ID=0042 not in our list of threads -> can't rename
Thread ID=0043 not in our list of threads -> can't rename
Thread ID=0044 not in our list of threads -> can't rename

https://paste.ubuntu.com/p/XhcsthMtwd/

Tried again with some overrides and taskset -c 1 (as suggested by this workaround: https://bugs.winehq.org/show_bug.cgi?id=29215)

please see this gist:
https://gist.github.com/FreeLikeGNU/efb26bebb40fc13a3fb78f2c0b0c78f5

@FreeLikeGNU Did it work? I'm assuming it failed, but could you clarify?

@nstgc It failed with the same result of black screen and game cursor, but I got more information from the debug output, so maybe a step closer?

Error logs are indeed a step forward!

I get the exact same error.

Some people have had success by just renaming the app. Most likely a video driver issue.

@notfood and anyone else getting this, it may help to post your system information from Steam's Help menu:

https://steamcommunity.com/sharedfiles/filedetails/?id=390278662

Hmm could it be lack of hyperthreading or something about realtek audio chips that DOS2 on WINE does not like? I've tried testing in Mint, Manjaro and Xubuntu (with xaudio2_7 and renamed exe's) with the same results. On the same hardware running Xubuntu and Manjaro I can run Witcher 3 and Skyrim SE just fine.

I don't see a way to enable it. I can play Witcher 3 and Skyrim.

It's not very likely to be a Realtek audio issue - I'm using an external USB audio device and appear to be having the same difficulties.

In my case, at least, my bet is firmly on some combination of (maybe) DotNet and (very likely) driver issues with my powerful-but-ancient Radeon 6990.

Steam info, and I've switched to the stock radeon driver to provide more representative results while submitting Proton test results: https://gist.github.com/KGOrphanides/c0fe99f0d9824a8ab434907637c07400

D:OS2 updated to "Definite Edition" and can't run anymore.

The "bin" folder now contains the frontend. The steam/steamapps/common/Divinity Original Sin 2/ folder now contains "Classic" and "DefEd" folders each with their own set of executable. No luck getting the frontend working so far.

I got the game to work without any add/winetricks/installation and even skipping the script installation from steam.

Since D:OS2 and D:OS2 Difinitive Edition is DRM free I can run the game without steam, thanks to this I could troubleshoot a little further.

I managed to set up a seperate WINEPREFIX for my own and use Wine 3.7 on it, the game just did not want to start, the black screen, I figure I had to install XACT. Out of curiosity I tried Wine-Staging 14 (cleaning my WINEPREFIX fully) I made it work without installing XACT, just like that, no problem playing the game. Even using Wine 3.14 had the same affect, no problems no extra installations. The problem was, it was without the steam-environment, as I can play the game it feels naked on the multiplayer side, I still want the steam version run like the steam version (how it's supposed to run).

So what I take from this is that I have wait until Valve update Proton to a newer Wine-base version.

Note: I used Lutris for this troubleshooting (Easier to force kill the WINEPREFIX when needed). I also may have LSI (Linux Steam Integration) on but it does not have any affect on this "experiment".

OS: Solus x86_64
Kernel: 4.17.17-87.current
Shell: bash 4.4.19
Resolution: 1920x1080
DE: Budgie
CPU: Intel i7-2600K (8) @ 3.800GHz
GPU: AMD ATI Radeon R9 290
Total Memory: 20040MiB

@Sethox maybe I'm getting a bit off topic here but here is output of my fresh wineprefix of wine-staging 3.14 with DXVK .70 (no xact) with Witcher3 (runs great) and D:OS2 DE (blackscreen). I really dont know what to make of this or the fact that DOS2 runs for some of us but not others. Maybe there is some other system configuration that is blocking this!?

https://gist.github.com/FreeLikeGNU/5d438df7aa8a6b8c851f768e4839722c

after testing a few machines using the same Xubuntu 18.04.1 nvidia 396.54, wine staging 3.14 and DXVK .70 I get:
Intel(R) Core(TM) i5-3470 CPU, GTX1070 - fail
Intel(R) Core(TM) i5-4590 CPU, GTX 680 - fail
Intel(R) Core(TM) i7-3630QM CPU, GTX 670MX - runs great
Intel(R) Core(TM) i7-2679QM CPU, GTX670 - runs great

all tested machines run The Witcher 3 in that same prefix fine (except for the minor known texture streaming issue)

Have not been able to run D:OS2; been trying since it came out. Now I tried with Proton, but results in black screen just like with regular wine (or wine + DXVK).

Ubuntu 18.04
CPU: Intel(R) Core(TM) i5-4460 @ 3.20GHz (family: 0x6, model: 0x3c, stepping: 0x3)
GPU: GeForce GTX 950 driver 396.54
RAM: 8GB

Been running games like Witcher 3 or Kingdom Come: Deliverance just fine.

@FreeLikeGNU May be game tries to detect graphics settings on first run? What if copy generated settings from working system to non-working?

I'm one of those who never got the game to run with wine. Just like @FreeLikeGNU, the game would would segfault (and create a minidump) and than hang with the black screen.

So I debugged the game a while back, and I'm very sure, that the problem isn't gpu related at all.

What I found out:
On game start, during the initialization of the game's audio engine (Audiokinetic Wwise), a new thread is created. When this thread is executed first, it makes a call to some subroutine within the engine. However, unlike on Windows, on Wine the pointer to that subroutine contains an invalid memory address. The call to that address causes the thread to segfault. I assume the game hangs at this point because other threads are waiting for the thread forever to release locked semaphores.

As the crash happens before xaudio2_7.dll is even loaded, installing xact doesn't help in this case.

Sadly, I couldn't find a solution or workaround to get it running. I can only assume it's somewhat related to .NET, which Wwise is based on. Maybe in invalid vtable or something like that.

@Rotscha any idea why it might work on some machines and not others, like perhaps the audio chipset or driver?

EDIT: I disabled my onboard audio via bios, no effect.

Could it be that the people running it have simple 2.1 audio and D:OS2 is trying to do something fancy for 5.1/7.1 users?

@notfood That is a possibility I did not think myself. Since it's about audio..

My test did involve a headphone so it's basically "2.1". For those that does not work for, what audio setup do you have?

@lieff that was my line of thinking when I used an external drive with xubuntu and the game installed in a known working configuration. This is a portable system I can use to test on lots of hardware quickly with game configuration saved. I built the installation with the non-working hardware tested again on that and then tested with working hardware (and those ran the game). I then ran the game on the non-working hardware again to verify (and hope maybe something changed the games configuration file to work) but results remained the same.

I'm using a simple stereo setup, nothing fancy at all, hooked to line out of the mainboard. Can't get much simpler than that, but no dice.

Reading things around and looking at the spreadsheet (https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmFG8TzOHNnHoj8Q1f8DIFe8-8/htmlview?sle=true#gid=0)

I notice that some people compile their own proton version direct from source, that seems to work for most of the people. I cannot get it to work with steam's own version (beta or the other), only if I make my own WINEPREFIX with newer mainline wine version.

Edit: I just validated the game folder, and bam more than 30 files "failed to validate", so disregard my message.

I think @Rotscha is on the right track, I wish I had the skills to debug how a game interacts with WINE, my biggest fear it will require a hack that even staging wont touch for it to start up for everyone with a multi-core CPU from at least 2012 and Vulkan capable GPU . (not just those with the right combination of hardware). WineHQ doesn't care about any results that involve DXVK (already had my tests revoked there).

https://gist.github.com/berenm/3e67cd273c2a530849e52218a1f2e70c

hack/workaround for launching problem with description what caused this

I have the strange feeling this is somehow cpu related. Looking at reports from various people, the game seems to generally work on i7 but not on i5. I'm starting to believe, it could be an issue with Hyperthreading.

@Rotscha I have a i5 4210U and disabling hyperthreading works!!

Edit: Divinity just detects (see window title) and uses one core (out of two) while on Windows it used all two (with hyperthreading four).

So it seems some GetInfo about processor function fails in wine.

I have i7 with HT and game runs with wine-3.15 (Staging) but not with Proton 3.7-5 Beta.

So, good news. I found the reason, why Wine crashes the game. It has indeed to do with thread affinity. Apply this patch and it should work.

--- dlls/ntdll/thread.c 2018-09-07 12:33:51.689761974 +0200
+++ dlls/ntdll/thread.c 2018-09-07 21:09:33.463365868 +0200
@@ -1290,6 +1290,7 @@
             if (length != sizeof(ULONG_PTR)) return STATUS_INVALID_PARAMETER;
             req_aff = *(const ULONG_PTR *)data;
             if ((ULONG)req_aff == ~0u) req_aff = affinity_mask;
+            else if ((LONG) req_aff < 0) req_aff = affinity_mask & req_aff;
             else if (req_aff & ~affinity_mask) return STATUS_INVALID_PARAMETER;
             else if (!req_aff) return STATUS_INVALID_PARAMETER;
             SERVER_START_REQ( set_thread_info )

Hello @Rotscha, this patch should go to upstream wine if it has not been already.

@kisak-valve yes, i will submit the patch to wine as soon as i can. Meanwhile it would be nice, if others could report, if the patch works for them too.

Reactos do simple

                /* Combine masks */
                CombinedAffinity = Affinity & Process->Pcb.Affinity;
                if (CombinedAffinity != Affinity)
                {
                    /* Fail */
                    Status = STATUS_INVALID_PARAMETER;
                }
                else
                {
                    /* Set the affinity */
                    KeSetAffinityThread(&Thread->Tcb, CombinedAffinity);
                }

https://github.com/reactos/reactos/blob/master/ntoskrnl/ps/query.c#L2104
Without "if" series, and gets Pcb.Affinity while wine uses const ULONG_PTR affinity_mask = get_system_affinity_mask();.
Is this normal?

@Rotscha Game failed to run for me with that patch.

It passed the issue where it locks, then I got sound, then it wrote minidump and hanged.

Hm, damn. The game launches fine for me. I used a fresh prefix with only dxvk installed. No additional winetricks stuff. Patch applied to vanilla wine 3.15

Did you try in a fresh prefix too?

Small update:

While the Definitive Edition seems to work fine, the Classic Client (which is included) still hangs on startup. So there must be something more...

One more update:
Classic works too now, after installing xact via winetricks.

I disable HT and stock wine stops working as expected. After applying patch to vanilla Wine 3.15 it works.
@notfood Is there any configure warnings? It's easy to miss them...

There also some shader warnings

002b:fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2.
002b:fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543.

I assume progress bar colors broken because of this:
image

@lieff Great! Thanks for testing

Also books rendered incorrectly:
image

That's without dxvk, right?

@Rotscha Always welcome :)
It's Proton prefix and dxvk dlls are in place, but DXVK_HUD=1 do not shows HUD, so it seems do not use dx11.

I'm using a clean wineprefix. I tried with dxvk as well. Installed xact and no dice.

The relevant lines:

warn:  DXGI: MakeWindowAssociation: Ignoring flags
0032:fixme:thread:SetThreadIdealProcessorEx (0xfffffffffffffffe, 0x224fdf0, (nil)): stub
002b:fixme:thread:SetThreadIdealProcessorEx (0x3f4, 0x22f9b0, (nil)): stub
0033:fixme:thread:SetThreadIdealProcessorEx (0x410, 0x23bfbc0, (nil)): stub
info:  DxgiVkPresenter: Recreating swap chain: 
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_FIFO_KHR
  Buffer size:  1152x864
0048:fixme:thread:SetThreadIdealProcessorEx (0xfffffffffffffffe, 0x68efdf0, (nil)): stub
0049:fixme:explorerframe:taskbar_list_SetProgressState iface 0x2e62610, hwnd 0x10058, flags 1 stub!
0049:fixme:explorerframe:taskbar_list_SetProgressValue iface 0x2e62610, hwnd 0x10058, ullCompleted 1, ullTotal 64 stub!
004b:fixme:thread:SetThreadIdealProcessorEx (0xfffffffffffffffe, 0x4ddfdf0, (nil)): stub
004b:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x4ddf240 1 C) semi-stub
004b:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x4ddecc0 1 C) semi-stub
004b:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x4ddf400 1 C) semi-stub
004b:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x4ddeae0 1 C) semi-stub
0033:fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData

On a side note, my processor doesn't support HyperThreading. i5 6600 cpu doesn't have that option.

The patch is working like a glove with my i5-4440
for the classic version try installing xact and directx SDK june 2010

@Rotscha thanks for the patch. Works perfectly.

@Rotscha Patch is working for DE.
The game is only using ~25% of each core all the time (10 FPS ingame).

Edit: Divinity on Wine seems to use less threads than on Windows. (atleast with i5)

There also crash on alt+tab.

My bad, I've not checked that Proton prefix do not contains dxvk overrides for this game. After I setup dxvk overrides - dxvk hud showed and colors are correct for progress bar and books.

I tried with vanilla wine+patch, wine-staging-nine+patch, proton+patch

I get the same error in them all from a clean prefix, doesn't matter if I use DXVK or not. Am I missing something else? I only set the FakeFullScreen to 1. Isn't that all is needed to get it to run from a clean prefix?

Hangs at SetThreadIdealProcessorEx

@notfood Are you sure you patched Wine correctly?

@Kron4ek I tried your patched exe and had similar results as before:

i5-3470 CPU GTX 1070 DXVK .70 - fail
i7-2670QM GTX 670MX DXVK.70 - runs

wine debug output:

https://gist.github.com/FreeLikeGNU/38a1e5ee4535b76dff96c1f18770c075

Yes, certain the patching works. It does change the result a bit. I get audio, it plays short and the window no longer becomes unresponsible. But then after a moment, it hangs again and writes a dmp file. Previously it'd just hang with no audio.

@notfood You use configure --enable-win64 ? Is there any warnings?
Also I have problem with startup video in clean prefix (it's black, but not crashes). May be this related, xaudio_2_7 helps with startup video in my case.

Hmm, I remove xaudio_2_7 override and still no problem with video. Not sure what cause black video earlier then.

I actually use a modified PKGBUILD file to create a package to install under ArchLinux. I'm certain the patching is correct.

With i5 4210U DOS2 (DE) only uses core 0 and 1 and hangs infinitely when assigning more cores (regardless the wine version w/ or w/o the patch).

div

Can someone please verify this?

@notfood I had similar symptoms as you describe after applying the patch to wine. The Larian jingle would play, but screen remained black and after hitting CTRL+C it would create a crash dump. As I'm using the steam version of the game, I verified the installation, upon which it re-downloaded about 4GB. And now it's working just fine!

@Rotscha: my CPU (i5-4460) has 4 physical cores and no hyper threading. Did not run without the patch.

No success... it redownloaded one file but the result is the same.

This is the output when I skip Steam and put the executable on a WINEPREFIX:
https://pastebin.com/raw/sdL2CGMB

These output only prints out when an application with DXVK fails to run for me. I don't think this output will help anything though (it's output for my test earlier, this one is fresh though).

https://source.winehq.org/patches/ does not seem to have a search function but I see @Rotscha's patch in there awaiting approval. :D

Watching for approved commit of @Rotscha's patch or any other adjustments to thread affinity:

https://source.winehq.org/git/wine.git/?a=search&h=HEAD&st=commit&s=affinity.%2Bthread%7Cthread.%2Baffinity%7Cthread.%2Bmask&sr=1

Thanks everyone for testing.
The patch was merged into upstream wine, just in time to make it into the new 3.16 release :)

Tried with 3.16 release, no success...

Sound plays, the cracks, then hangs.

Hangs at this:

006e:fixme:thread:SetThreadIdealProcessorEx (0xfffffffffffffffe 0x550fdf0 (nil)): stub

I got it to run by installing xact and vcrun2015. Sounds cracks all the time for some reason though, does that happen to everyone else?

With patch, I was getting black screen with music then I deleted my ~//Documents/Larian Studios/Divinity Original Sin 2 Definitive Edition/ folder and made a fresh prefix. The game runs great! I had high frame rate but some stutter until I disabled vsync in the game. It runs great now over 110fps with max settings! Thank you @Rotscha for your awesome patch and everyone who tested along the way!

@notfood I did not encounter sound issues with a fresh prefix + DXVK .71 (no xact or vcrun)

I compiled only 64bit version using the following these very concise instructions:
https://www.reddit.com/r/wine_gaming/comments/9fg4jn/is_anyone_successfully_running_witcher_3_on/e5w9sv2/

edit: forgot to clarify, I compiled the 3.16 source that includes the upstream patch

i've got sound crackling as well... using alsa not pulse.

AL lib: (EE) ReleaseThreadCtx: Context 0x7fb3ac08fd00 current for thread being destroyed, possible leak!

I'm using Pulse and I get a lot of cracking.
I tried messing with default.pa

load-module module-udev-detect tsched=0
default-fragments = 5
default-fragment-size-msec = 2

These settings seem to reduce the cracking but they're still there.

Xact reduce crackling a bit.

But you have to install it manually, cause winetricks won't install 64-bit xact.

@eNTi Audio sounds good for me and I don't see the AL lib message unitl I quit the game from the main menu:
AL lib: (EE) ReleaseThreadCtx: Context 0x7fd604026400 current for thread being destroyed, possible leak!

Ubuntu 18.04.1 pulseaudio 11.1 (audio stereo dulplex)
https://gist.github.com/FreeLikeGNU/aa22b62dbcabb393160fb5304ecd0cc4

Audio device: Realtek ALC898
from LSHW:
*-multimedia
description: Audio device
product: 7 Series/C216 Chipset Family High Definition Audio Controller
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 04
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:35 memory:f7230000-f7233fff

edit @notfood :
what happens if you switch pulseaudio out modes (such as: from stereo to stereo duplex) after the game has started?

Using the above renaming strategy doesnt work for me. In fact. the game doesnt even start. Anyone else not able to get the game to launch?

Xact reduce crackling a bit.

But you have to install it manually, cause winetricks won't install 64-bit xact.

winetricks -q xact works for me on an 64 bit prefix.

i had the game running with wine-staging 3.15 before and that had no crackling...

winetricks -q xact works for me on an 64 bit prefix.

Yes it works, but installs only 32-bit libraries (into syswow64) of xact, but skips 64-bit ones.
This is on latest winetricks from github. So as i said, you have to install it manually.

But maybe it works for 64-bit too on old version of winetricks.

@Kron4ek is right. Xact via winetricks installs 32bit dlls only.

The game actually doesn't really need them on Wine anyways. If you still get a blackscreen at startup, set xaudio2_7 to disabled in winecfg. The game should then start just fine. Maybe it even fixes the crackling sound (I personally don't have that issue, so I can't say for sure).

Disabling every xaudio2_* fixes the crackling for me. Thank you!

disabling xaudio2_7 seems to be working for me as well.

So...what is necesary for playing this game today?? I'm lost! Only xaudio2_7 disabling?? The patch is needed?? We still need to rename exes??? it's confusing.
I'm trying to run steam version in KDE Neon with Nvidia970 and 396.54 drivers.
Thank you!

Great @eNTi @notfood

@ekkia
As it stands, to be on the safe side, all that is needed is

  • Wine 3.16 (for the patch)
  • xaudio2_7 disabled
  • optional and recommended: dxvk

That should be all, I think.

Is there a way to get this to work inside of steam at this point? I've got it running perfectly using wine 3.16, but it won't let me play online with my friend. I've done all of the renaming tricks and linking stuff etc, but it just does not work no matter what I do.

@xrishox I was able to get it working through steam. I haven't tried connecting with friends (no friends are online).

DO NOT JUST COPY/PASTE THE COMMANDS, READ EVERYTHING!!!

To play this through steam you need to make a custom Proton folder in your steamapps/common directory (on ubuntu 18.04 it is "~/.steam/steam/steamapps/common").
Navigate there
cd ~/.steam/steam/steamapps/common

Copy the original Proton folder to a custom one:
cp -r "Proton 3.7" "Proton 3.7 Custom"

rename "Proton 3.7" to "Proton 3.7 Original"
mv "Proton 3.7" "Proton 3.7 Original"

Now we need to replace the files in the Proton 3.7 Custom directory with wine 3.16-staging.
On my system, wine-staging is in "/opt/wine-staging". You'll have to figure out where your install is.
Note the names end with "/", that is important with rsync
rsync -avhP "/opt/wine-staging/" "Proton 3.7 Custom/dist/"

Finally, link the custom Proton folder to what steam is expecting
ln -s "Proton 3.7 Custom" "Proton 3.7"

Now we have a Proton that will use Wine-Staging 3.16 (as this is the version with the patch)

Now to rename the files in "Divinity Original Sin 2" (if you haven't done this yet)
cd "Divinity Original Sin 2"

Link DefEd bin folder to top level bin folder
mv bin bin.bak
ln -s DefEd/bin bin

Copy EoCApp.exe to SupportTool.exe
cd bin
mv SupportTool.exe SupportTool.exe.bak
cp EoCApp.exe SupportTool.exe

Now you should be able to run Divinity Original Sin 2 through steam. You may need to force the compatibility tool in the Steam Play settings to use Proton 3.7-6. If this doesn't work for anyone please let me know.

Also, DO NOT VERIFY FILES AFTER DOING THIS. This will hose the "Proton 3.7 Custom" directory. Before you verify, make sure to put the original Proton folder in place
cd ~/.steam/steam/steamapps/common
rm "Proton 3.7"
ln -s "Proton 3.7 Original" "Proton 3.7"
And put DoS2 folder back in order
cd "Divinity Original Sin 2"
cd bin
mv SupportTool.exe.bak SupportTool.exe
cd ..
rm bin
mv bin.bak bin

Isn't there a way to make steam recognize multiple proton instalations?

@smilligan93 Dear Smilling, I followed your instruction and I got the game working, however there are some issues

  • The game cannot connect to "Steam" : no online game, cannot find Steam friends, etc.
  • It cannot load Mods
  • It doesn't sync my save games from Steam Cloud

I have no idea why it is happening, as I can play single player perfectly fine ...

My spec (I think it is the cause for all of this, also according to everyone's posts above)

  • Ryzen 3 1200 (SMT disabled)
  • NVIDIA 1050TI, nvidia-driver 390

If you need any information, just ping, thanks

Interestingly enough, even after using @Rotscha's patch, and listening to @notfood's suggestions about installing xact and vcrun2015, the game hangs at the same function call as he described:

fixme:thread:SetThreadIdealProcessorEx (0xfffffffffffffffe 0x550fdf0 (nil)): stub

After playing around a bit, I can confirm that the Classic version of this game runs but the Definitive Edition does not. That still hangs at the black screen, but plays a little bit of the Larian Studios intro sound. After that, unresponsive for a while, then writes a minidump.

I tried disabling all kinds of xaudio2_* permutations. I am not sure, how to provide more information currently, but maybe after the exams I can start debugging around. If somebody has a good idea, where to look or what to try, please ping.

Make sure you run it in the same directory where EoCApp.exe is located.

Mh, I was sure I have done that, but apparently not. Thanks for the advice!
Running the Definitive Edition now works, but only when I disable xaudio2_7.

Game works perfectly for hours but after some long time sound becomes corrupted, does it happen to anyone else? It's a mild annoyance because restarting it fixes the issue.

Books and spell icons all work for me. Finished Fort Joy with no issues other than the sound turning strange after a few hours.

@smilligan93 Dear Smilling, I followed your instruction and I got the game working, however there are some issues

* The game cannot connect to "Steam" : no online game, cannot find Steam friends, etc.

* It cannot load Mods

* It doesn't sync my save games from Steam Cloud

I have no idea why it is happening, as I can play single player perfectly fine ...

My spec (I think it is the cause for all of this, also according to everyone's posts above)

* Ryzen 3 1200 (SMT disabled)

* NVIDIA 1050TI, nvidia-driver 390

If you need any information, just ping, thanks

There is a link for the steam workshop to work, a new update for proton has been added to suppose to solve it. By link I mean that proton is sort of "isolated".

Game works perfectly for hours but after some long time sound becomes corrupted, does it happen to anyone else? It's a mild annoyance because restarting it fixes the issue.

Books and spell icons all work for me. Finished Fort Joy with no issues other than the sound turning strange after a few hours.

I do have that too - interesting enough, after a longer play time, the corruption disappears and the sound is normal again. I, however, have this problem in Path of Exile too - where I can fix it by just selecting another sound device, which is not possible in Divinity: Original Sin 2.

Hello,

The game works but when i choose the mod for the campaign (story mod, exploration mod or other), the loading bar stay empty during very long time. The message popup in the loading screen appears randomly and there is the music so the game has not crashed. It really the loading bar which stay empty and don't load...

Game works perfectly after following @smilligan93 instruction. Downloading Mods using the steam workshop didn't work though, so I manually created a folder called "Mods" in /home/USER/Documents/Larian Studios/Divinity Original Sin 2 Definitive Edition/Mods and copied the downloaded Mods from /home/USER/.local/share/Steam/steamapps/workshop/content/435150 to the new folder.

Game works perfectly for hours but after some long time sound becomes corrupted, does it happen to anyone else? It's a mild annoyance because restarting it fixes the issue.

Books and spell icons all work for me. Finished Fort Joy with no issues other than the sound turning strange after a few hours.

Hey @notfood, I have fixed that issue for me and I want to see if the source is the same. Are you using Pulseaudio and a sound setup with more than 2 channels?
I had 6 channels because I have a 5.1 sound system. After switching to 2 channels in Pulseaudio, I no longer have corrupted sound, even after plenty hours of playing.

Yesterday the sound crackling came back... using lutris running on esync-wine-staging-pba-3.16-nopulse and dxvk 0.80 with xaudio2_7 disabled.

@eloquenza I have the same setup, I'll try setting it to two channels but that's undesirable system wide...

@eloquenza I have the same setup, I'll try setting it to two channels but that's undesirable system wide...

Believe me, I don't like it either. I automatically change the channels, restart Pulseaudio and then start the game in a script, which changes the channels back after the game has exited. This solution helped also helped in other games. Maybe there is a deeper underlying issue.

@eloquenza @notfood Perhaps you could try the module-remap-sink module in pulseaudio. It lets you create a virtual sound device with 2 channels and map those 2 channels to any of the 6 channels on your 5.1 output. You can set that up with something like this on the command line:

pactl load-module module-remap-sink master=MASTER_SINK_NAME channels=2 master_channel_map=front-left,front-right channel_map=front-left,front-right remix=no

Replace MASTER_SINK_NAME with the name of your 5.1 output. You can find that name with pactl list sinks short.

More info about the module in the pulseaudio docs.

@Roliga I followed your advice and sound corruption happened again, but this time I can switch between sinks and the game fixes itself, but after a while it corrupts again. No need to restart though, so that's a plus.

@notfood for the crackling have you tried adding the following PULSE_LATENCY environmental variable to either 30 or 60 in your command like:

$ PULSE_LATENCY_MSEC=30 wine EoCApp.exe

It helped with my Skyrim audio in wine

@lieff

There also crash on alt+tab.

Same for me, seems only to happen with dxvk.
Sometimes it crashes every time I switch to another app and other times it doesn't crash at all.

When it crashes the log always says:
002a:fixme:msctf:ThreadMgrSource_AdviseSink (0x11d9a0) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c} 002a:fixme:imm:NotifyIME NI_CLOSECANDIDATE 002a:fixme:msctf:ThreadMgrSource_AdviseSink (0x11d9a0) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c} 002a:fixme:imm:NotifyIME NI_CLOSECANDIDATE 002a:fixme:msctf:ThreadMgrSource_AdviseSink (0x11d9a0) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c}

Where 0x11d9a0 sometimes is 0x11d9b0 or 0x11dde0.
(These errors appear after every switch to/from another app but doesn't always crash)

Can you please confirm this?

Try windowed, I never crashed on alt+tab.

@FreeLikeGNU PULSE_LATENCY_MSEC=30 doesn't seem to do anything. Sound still corrupts over time.

Try windowed, I never crashed on alt+tab.

Seems to work but not an option for me.

I've submitted another patch to upstream wine, which should prevent the classic client from crashing on launch when using builtin xaudio2_7.

Trying on the latest Proton 3.16 (and the bin copying mentioned above) will launch the game, but all I see is a cursor with a black screen. The audio seems to work though.

I get the same result @d10sfan, but not even any audio. I checked that Steamplay beta is set to 3.16-1 beta.
I noticed that when I run the current patch of DOS2 in wine 3.17 staging that I get black screen and audio.

EDIT: Oddly enough, when I run from /tmp/proton_/winedbg_run it runs fine

https://gist.github.com/FreeLikeGNU/16cab181ce10947501ff60bcf194bfef

I can't test the Steam version of the game, as I only own the GOG version. But running that with Proton 3.16-1 works fine for me.

The game had a update on Steam a few days ago. Some people (windows user) on the discussion boards report, that the game failed to start after the update, too.

Turns out removing the xaudio2_7 override I had added to the Steam launch properties made the game work again. The current 3.6.31.1571 update is working as well.

I recently upgraded to Ubuntu 18.10 and now DOS2:DE (3.6.29.3822*) won't launch anymore.
It's like some described above, black screen with cursor without sound.

Other games are working fine, no hardware changes.
I tried many configurations (w/ and w/o xaudio2_7 override, fresh prefix, different nvidia driver, w/ and w/o dxvk, different wine versions, disabled hyperthreading) but nothing seems to help.

Log: https://paste.ee/p/3eskK
I didn't need depencies before, are there any?

*old version because people report they can't start the game anymore after updating

Make sure you are running EoCApp.exe from the same folder. It'll error anywhere else with a black screen with cursor.

It's working for me now. The soft link from the bin folder to the root bin folder worked. And sound works as well. Thanks

Still no luck, starting from Divinity/DefEd/bin/EoCApp.exe or soft-linked bin doesn't work.
Always crashes after audio init (full log in my comment before)
0047:fixme:pulse:AudioSessionControl_RegisterAudioSessionNotification (0x1c3f5c0)->(0x4067a88) - stub 004d:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0x436fc84): stub 004d:fixme:avrt:AvSetMmThreadPriority (0x12345678)->(1) stub

What's exactly needed to run it? Any depencies in winetricks?

I moved the Divinity/DefEd/bin folder to Divinity/ (the soft link way didn't work) and now the Divinity cursor is displayed, audio is played but the screen still keeps black.

New log lines: https://paste.ee/p/XNbv2

Any ideas?

How did you do the soft link? I tried the mainly copy and it didn't work. I think it's specific to some files it's looking for.

How did you do the soft link? I tried the mainly copy and it didn't work. I think it's specific to some files it's looking for.

Divinity$ ln -s DefEd/bin bin

It works for me on Arch after following instructions in this thread following the method described by @smilligan93 though performance seems to be quite poor on my end.

My R9 290 can only really handle 60 FPS at 720p with all graphical settings turned down to their lowest setting (it was definitely MUCH better than this on windows, and it was very playable at a 4k resolution provided that graphical settings were tweaked).

So everytime i tried to launch the game tries to install .NET with steam play, since there's no DRM i tried to launch using Lutris, the game started just fine, but stucked on loading, Classic works just fine in this way tho.

Similarly to @MinIsMin i got the game to launch with audio (I could get audio just through the soft link) and a cursor, but other than that its a black screen. Does anyone have any ideas what might be causing this problem. I'm using an intel HD530 gpu with Mesa 18.2 for the driver. At first i thought the problem might be my integrated graphics card but on the protondb page someone reported the same problem using a GeForce GTX1070.

It's a path issue if you got audio. Launch the game exactly from the folder where the exe is located, don't get fancy.

hi guys. i got this to run fairly easy today from a fresh install:

-browse to the game's local files
-open a terminal in that directory

mv bin bin.bak
ln -s DefEd\bin bin
cd bin
mv SupportTool.exe SupportTool.bak
ln -s EoCApp.exe SupportTool.exe

profit.

system specs:
Arch Linux, Kernel 4.19
Ryzen 2400G
RX 570 4gb
mesa-git, llvm-svn

on 3.16-4, failed to launch at first (only issue in the log that I could find was something about a broken .net install)

Followed @GloriousEggroll 's instructions to rename EoCApp and the game seems to work perfectly (granted, only got to the point where I could run around with my character)

sysinfo: https://gist.github.com/Cuddlypuff/f344bde8278c91859fd4d5ecdc1baa17

I mange to run the DefEd with

mv bin bin.bak ln -s DefEd\bin bin cd bin mv SupportTool.exe SupportTool.bak ln -s EoCApp.exe SupportTool.exe

But how to run the classic?

@GloriousEggroll May I ask, how's performance on your RX 570 ?

This @GloriousEggroll method variant worked for me on Ubuntu Mate 18.04

mv bin bin.bak
ln -s DefEd/bin bin
cd bin
mv SupportTool.exe SupportTool.bak
ln -s EoCApp.exe SupportTool.exe

Movement, combat, conversation and books all work as normally. However, Steam repeated its first run install process the second time I ran the game, as well.

Specs:
AMD Ryzen 5 1600
16 GB RAM
AMD Vega 64 8GB RAM
Driver: X.Org Radeon RX Vega (VEGA10, DRM 3.23.0, 4.15.0-46-generic, LLVM 9.0.0)
Driver Version: 4.5 (Compatibility Profile) Mesa 19.1.0-devel - padoka PPA

Full system info: https://gist.github.com/KGOrphanides/931ca3d9ce743573d66ed9fb29a1f574

Divinity: Original Sin 2 - Definitive Edition (435150)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2523.
@Bamsey posted on 2019-04-10T11:51:10:

Compatibility Report

  • Name of the game with compatibility issues: Divinity: Original Sin 2 - Definitive Edition
  • Steam AppID of the game: 435150

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-435150.log

Symptoms

Dramatically drop FPS (7-11fps) after QuickSaveGame or SaveGame. After that only game restart helps (sometimes Alt+Tab)

Reproduction

SaveGame works fine witch parameter PROTON_USE_WINED3D=1 %command% but generates some glitches like black heroes status icon or loading bar.

The problem is that the VRAM (2GB) is too small. The solution is to reduce the texture quality (medium).

I have the same issue like @Bamsey.
System info: https://gist.github.com/headlesscyborg/9519a667da049ef7885361b4e3674e3b
Video: https://youtu.be/HRMexHPGAmM

Lowering video quality helps but not always. I also have 2GB VRAM.

Seems Xaudio related:

16405.613:002a:003c:trace:module:get_load_order looking for L"C:\\windows\\system32\\XAudio2_7.dll"
16406.007:002a:0036:trace:module:load_dll looking for L"xaudio2_8.dll" in L"Z:\\media\\bams\\DANE\\SteamLibrary\\steamapps\\common\\Divinity Original Sin 2\\bin;C:\\Program Files (x86)\\Steam;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"

Quick note: the game stopped working following an update, and failed to run.

I had previously got it running with a variant of @GloriousEggroll's method (see my last post).

I was able to return it to functionality by, in bin, removing my SupportTool.exe symlink and relinking with ln -s EoCApp.exe SupportTool.exe

Quick note: the game stopped working following an update, and failed to run.

I had previously got it running with a variant of @GloriousEggroll's method (see my last post).

I was able to return it to functionality by, in bin, removing my SupportTool.exe symlink and relinking with ln -s EoCApp.exe SupportTool.exe

That's gonna happen with this workaround by design everytime steam updates the game or verify its checksums.

You don't actually have to link around the launcher. You can fix it by enabling .net in proton using winetricks using this script https://gitlab.com/quietkerb/steamplayprefix

./sppfx.sh 435150 winetricks -q dotnet472

Afterwards the launcher works normally.

I've noticed with the soft symlink, the first time you launch the game it still blackscreens, all times afterwards it runs fine.

Also dotnet472 sometimes causes issues with the prefix, giving rundll32 error spam, and sometimes does not always complete installation/takes a very long time.

I noticed that the game freezes frequently after the Steam update to Proton 4.2. It mostly ran without major issues but I'm not entirely certain if the update was actually the cause though.

You don't actually have to link around the launcher. You can fix it by enabling .net in proton using winetricks using this script https://gitlab.com/quietkerb/steamplayprefix

./sppfx.sh 435150 winetricks -q dotnet472

Afterwards the launcher works normally.

I tried this but didn't help, the script ends with:

dotnet40 install completed, but installed file /home/$USER/.steam/steam/steamapps/compatdata/435150/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

and wants to install .net again

Is there any solution or an incoming fix for the FPS drop after saving the game? I'm stuck in the middle of the game, can't play it due to this bug because I save often which means restarting ~30-40 times per hour.
I bought it because people said "runs like native, no port needed" but this really makes me want to go back to full "no tux no bux".

So, in the middle of the game even lowering the quality of textures to low does not always help. An interesting fact is that playing without using DXVK (only WINED3D) FPS never drops after saving the game. Never. Something's wrong in memory alocated. DXVK author said it wasn't DXVK errors, but by WINED3D works fine. To bad that the wine and dxvk developers don't cooperate.

I can confirm what Bamsey said, this bug doesn't happen with PROTON_USE_WINED3D=1 %command% (WineD3D) but the performance is much worse (20 fps on low instead of 50-60 fps on high/ultra).
It really looks like a DXVK-specific bug, something similar (fps drop to 10-12 after changing graphic settings) happens in other games (for example The Evil Within, Hitman 2). For some reason the only DX11 game where I never saw sudden severe FPS drops on a 2GB VRAM card was Witcher 3.

So, in the middle of the game even lowering the quality of textures to low does not always help. An interesting fact is that playing without using DXVK (only WINED3D) FPS never drops after saving the game. Never. Something's wrong in memory alocated. DXVK author said it wasn't DXVK errors, but by WINED3D works fine. To bad that the wine and dxvk developers don't cooperate.

I don't believe this is a DXVK bug. DXVK just happens to max out your graphics card faster than regular WINED3D.
This FPS issue has been a Linux problem for many years.
https://github.com/ValveSoftware/csgo-osx-linux/issues/185
https://github.com/ValveSoftware/csgo-osx-linux/issues/1206

Also dotnet472 sometimes causes issues with the prefix, giving rundll32 error spam, and sometimes does not always complete installation/takes a very long time.

@GloriousEggroll so. I tried this trick, and now the game won't launch.

After a while, wine console pops up a window which says:

The .NET Runtime Optimization Service is started and paused.
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation. All rights reserved

And then repeats it ad infinium.
Running xprops on said window reveals that it's indeed a wine console.

WM_CLASS(STRING) = "wineconsole.exe", "Wine"

_But I've never seen it before._

Also, the installation is no longer progressing taking a very long time, but it's now just 1 step, instead of 4:

DeepinScreenshot_Steam_20190709231404

While taking the time to write this (maybe ~20 mins since launch), the installation actually ended (I'm not sure what made it end though). Then I got this message:

DeepinScreenshot_discord_20190709231607

I might have made a royal mistake somewhere. I'll investigate and see what I can find.

Any help is appreciated though. :smile:


So I ran ./sppfx.sh 435150 winetricks dotnet472 again, but this time without the -q flag. Then I clicked myself through all the wizards (it will install .NET Framework 4.5 and onwards).

The last .NET Framework 4.7.2 install failed. So I closed the wizard, launched the game, and then voil谩 — insta-launch :woman_shrugging:

You don't actually have to link around the launcher. You can fix it by enabling .net in proton using winetricks using this script https://gitlab.com/quietkerb/steamplayprefix

./sppfx.sh 435150 winetricks -q dotnet472

Afterwards the launcher works normally.

I tried this but didn't help, the script ends with:

dotnet40 install completed, but installed file /home/$USER/.steam/steam/steamapps/compatdata/435150/pfx/dosdevices/c:/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe not found

and wants to install .net again

In my own experimentation, I ran into this problem with recent versions of winetricks, but it worked with the winetricks package from the Ubuntu 19.04 repo.

@Endiverge I'm new to Linux in general (had to pick it up for a class and decided to experiment with Manjaro on this side) and I'm wondering what the move would be for someone not running Ubuntu if you know. Trying to run sppfx 435150 winetricks -q dotnet472 (and without the -q) both result in:

wine cmd.exe /c echo '%ProgramFiles%' returned empty string, error message ""

even though it ran the first time but game the dotnet40 install completed, but installed... message the first time.

@ThatGhost54 The version on Ubuntu 19.04 doesn't look different from version 20181203 on the winetricks github in any way that should matter. If you download an archive of the source, the winetricks script itself is the winetricks file in the src folder.
Put that file in your working directory, and preface your sppfx commands with WINETRICKS_COMMAND="./winetricks"

@Endiverge Thank you. It came up with: error: dotnet472 conflicts with dotnet40, which is already installed. You can run './winetricks --force dotnet472' to ignore this check and attempt installation
I ran it with --force instead of -q and it had me restart after installing some .net stuff. I did and now Divinity says running on steam when I hit play, but nothing actually shows up. I run ps in the terminal and there is no Divinity running. It stays running in my library and I've launched other games as well (sometimes this would happen in windows after exiting a game and launching another one would normally fix it) I'm when I try to run the winetricks command again becuase I feel like maybe I shouldn't have restarted to quickly, I get the same error as before, would it be worth it to just delete the game and any .net files and start from scratch again?

EDIT: I decided to put up a report on ProtonDB but I found out my graphics driver was the free one instead of the non-free one. I remember that I didnt use the non-free one because when installing Manjaro selecting that driver would keep the whole sytem from booting properly. Installed the Nvidia driver and I have entered the menu of the game! Going to play around for a few hours and see if any issues arise.

Based on this comment, it looks like we could tell Steam to stop re-running its .Net install script by creating the right registry key under HKEY_LOCAL_MACHINE/Software/Wow6432Node/Valve/Steam/Apps/CommonRedist/.NET. Is there some way to find out exactly which registry key is missing?

Sharing workarounds:

The rename+symlink trick worked for me, but I wanted to avoid depending on that, mainly so I wouldn't have to do it again whenever the game gets an update. So:

I used winetricks version 20181203 to install dotnet472. I did not use the --force or -q options. It ran several .NET installers with increasing version numbers. Whenever they prompted me to reboot now or later, I chose now, knowing that Wine would not actually reboot my computer.

At two points during the process, I noticed one CPU core stuck at 100% while no progress appeared in the terminal window. I let the first one run for an hour, decided it was stuck, and killed the responsible process: pkill ngen.exe. When it happened again later, I checked the process' full command line, which turned out to be something like "ngen.exe uninstall System" followed by some additional options. Manually running "ngen display System" revealed that no assembly by that name was installed, so I figured it was safe to kill ngen once again. After this, the .NET installation continued and eventually finished.

I then removed my symlinks and reverted the directory and file names from the earlier workaround, started Steam, and launched the game. Steam still insisted on repeating the first time setup (Installing Microsoft .NET Framework), but the Larian Launcher appeared after that, and I was able to start the game from there. Progress!

Strangely, Steam sometimes thinks the game is still running long after I have quit, preventing Steam from exiting cleanly. The game process has actually exited, but this process stays around keeping the Wine instance alive: mscorsvw.exe -StartupEvent c4 -InterruptEvent b4 -NGENProcess b8 -Pipe c0 -Comment NGen Worker Process Looks like another ngen-related hang.

All this was with Proton 4.11-2.

A few questions remain in my mind:

  • Do any newer versions of winetricks work for installing dotnet472?
  • What is ngen.exe trying to do, and why does it never finish?
  • Is mscorsvw.exe trying to do the same thing? Is there some way to prevent it from sticking around in the background after I finish playing the game?
  • Did manually killing those ngen processes leave something in a broken state that will bite me later?
  • Why does the Larian Launcher max out my CPU even when it's basically a glorified menu with nothing much to do except wait for me to make a choice? Does it do this on Windows? Could it be activating a .NET background service that tries to do the same work that ngen was attempting?
  • The first time I started the game from the launcher, a black window appeared with nothing visible except an "I agree" button and a "no thanks" button. What was it trying to ask me?
  • How can we convince Steam not to run its first time setup every time we launch the game? Solution found. See my next comment.

Solution for Steam "Installing Microsoft .NET Framework" every time it launches the game, despite the framework already being installed: A single value is missing from the registry.

Here's a .reg file that will create the missing value when imported using regedit:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Valve\Steam\Apps\CommonRedist\.NET\3.5]
"3.5 SP1"=dword:00000001

Here's a command line that will do the same, assuming your WINEPREFIX environment variable and wine executable are set correctly:

wine reg add "HKLM\Software\Wow6432Node\Valve\Steam\Apps\CommonRedist\.NET\3.5" /v "3.5 SP1" /t REG_DWORD /d 1 /f

My proton build runs 'protonfixes' which auto applies the symlink rename trick if it's detected that it hasnt been done when the game is run. no user intervention required and no mucking with files if there's an update.

@GloriousEggroll Tried it with your proton version and works perfectly for me. Plus all of the mods are working as well. Nice one!

After the last update (4.11-6) , game not start.

LOG:
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

File name: 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
134308.524:0016:001a:trace:loaddll:free_modref Unloaded module L"C:\windows\system32\winebus.sys" : builtin
134308.524:0016:001a:trace:loaddll:free_modref Unloaded module L"C:\windows\system32\setupapi.dll" : builtin
pid 14972 != 14971, skipping destruction (fork without exec?)

@Bamsey, I'm also using Proton 4.11-6, and not experiencing that problem. Did you use the symlink/rename trick when you installed? I did not.

The game doesn't show thumbnails for savegames, i don't know if proton is failing at saving them, or it just can't show them. Tried with Valve's and GE's proton versions.

@KibaGasteiz I have also noticed this. Albeit a minor issue.

Hi there, completely new to this Steam.

It reports it has finished the download one microsecond after I have hit the install button.

And there is of course nothing installed.

Screenshot_20191203_021959

I really love that smart move of Valve, to make the actual error message unmarkable. Remarkable!

What to do next?

I haven't tinkered with this game in a while, but I've read that you need to rename some executable to get it to launch. The info should be back in this thread and also on ProtonDB.

I really love that smart move of Valve, to make the actual error message unmarkable. Remarkable!

What to do next?

If you don't have a Steam folder at .../.local/share where did you install Steam? That's not normal, and the renaming executables thing was needed when i played that game, but it wasn't giving me that error you have.

Well, the game reports it is 9mb large, so ..
I have it in the Flatpak, maybe that's the reason?

The path to Flatpak is /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Divinity Original Sin 2/

Flatpak is super useful, since my distribution supports no 32 bit.

From https://github.com/ValveSoftware/steam-for-linux/issues/6740#issuecomment-562624291:
@ShalokShalom commented on 2019-12-06T15:44:40:

I changed to Proton, this is what I got:

https://sendvid.com/c8sbktyp

Installed it into the the default folder.

Thanks a lot kisak, now I understand the goal of the different repositories.

So, in short, the installation of .Net fails.

Would it help if I compile .Net Core and set a link to its executable?

Or how to check any error log, so we can see what is going on?

Thanks you all :hugs:

@ShalokShalom You can try run it without launcher, something like:

export WINEDEBUG=-all
export WINEPREFIX=[path_to]/SteamLibrary/steamapps/compatdata/435150/pfx
export WINEESYNC=1
[path_to]/SteamLibrary/steamapps/common/Proton\ 4.11/dist/bin/wine64 [path_to]/SteamLibrary/steamapps/common/Divinity\ Original\ Sin\ 2/DefEd/bin/EoCApp.exe >/dev/null 2>/dev/null

I have done all the things you said. Is that supposed to start now?

Screenshot_20191206_213426

@ShalokShalom Try remove '>/dev/null 2>/dev/null' to see what happen. Probably '\' is missing before spaces in path.

Yeah ^-^

And is there a way to fix that in the launcher?

Thanks a lot

Ahm, totally not amused. After playing several hours yesterday, I login today and see this:

Screenshot_20191207_142917

No profile, all game progress completely lost, as it seems.

@ShalokShalom Do you run it using regular wine or Proton? Proton stores saves in

SteamLibrary/steamapps/compatdata/435150/pfx/drive_c/users/steamuser/My\ Documents/Larian\ Studios/Divinity\ Original\ Sin\ 2\ Definitive\ Edition/

while regular wine uses logged in user name instead of 'steamuser'.
Or may be something wipes out My Documents folder in prefix, try look at files there.

Thank you lieff.

Screenshot_20191211_004535

So yes, the game files seem to be there. While starting the game with the same exact command - I actually used by bash history - results in the screen above:

No profile available. How to succeed from here now? Thanks :hugs:

@ShalokShalom Do you run all 4 lines from bash history including

export WINEDEBUG=-all
export WINEPREFIX=[path_to]/SteamLibrary/steamapps/compatdata/435150/pfx
export WINEESYNC=1

May be you run only last line and wine creates new prefix?
It's better put that lines in .sh script and just run script to run the game.

Ah, I see. Perfect, thanks a lot, great help :hugs:

In order to start Divinity within Flatpak, save this as .sh and mark it as executable. Like with chmod +x /path/to/script or with your file manager.

 export WINEDEBUG=-all
 export WINEPREFIX=/home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/compatdata/435150/pfx
 export WINEESYNC=1
 /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton\ 4.11/dist/bin/wine64 /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Divinity\ Original\ Sin\ 2/DefEd/bin/EoCApp.exe

Screenshot_20200428_115154

In order to clear things up, @lieff: I see no SteamLibrary in my path, Steam is it here. Can we figure out why, so this script works consistently?

@ShalokShalom [path_to]/SteamLibrary in my example equivalent to /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam on your side. I'm just name it to point this is one of Steam Library folders form Settings->Downloads->STEAM LIBRARY FOLDERS which contains the game (there can be multiple Steam Library folders).

Oh, I see. Can we incorporate this script into the native Steam or is it doomed to be played by a script outside of the launcher?

Divinity Original Sin Crash on Launch | Arch

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3421.
@lo4952 posted on 2020-01-11T00:04:48:

Compatibility Report

Divinity: Original Sin 2
435150

System Information

  • GPU: GTX 1060 6GB
  • Graphics Driver: nvidia-440.44
  • Kernel version: 5.4.8-arch1-1
  • Gist:
  • Proton version: 4.11-11

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

steam-435150.log

Symptoms

DOS2 crashes on boot, shows status as "Launching" for a few seconds and then back to "Play"

Reproduction

Launching DOS2

Can confirm that DOS2 is playable through Lutris. Specifically, add a new game and select the EoCApp.exe from the game files, without doing anything to it.

@lo4952

I had the same problem. In my case the SupportTool.exe-file got overwritten in the game's last update, so the symlink-fix needs to be applied again. Rename/delete SupportTool.exe, create a new symlink for ln -s EoCApp.exe SupportTool.exe, and the game should be playable again.

@KRFTSPP Thanks, the damn thing must have stealth-updated on me. All fixed.

I tried to find a solution to the problem of renaming directories to launch the game, and here's what I found. The big problem here is that Steam disallow to launch scripts when launching a game.

1. The working solution

If you want to run the game from a terminal just do:
env STEAM_COMPAT_DATA_PATH="/<SteamLibraryPath>/compatdata/435150" /<SteamLibraryPath>/steamapps/common/Proton\ 5.0/proton waitforexitandrun '<SteamLibraryPath>/steamapps/common/Divinity Original Sin 2/DefEd/bin/EoCApp.exe'

Change <SteamLibraryPath> to the right path for your Steam library.

I haven't (yet) tried, but I think you can create a .desktop file to launch the game with just one click.

2. The good non working solution

Then I tried, failing, to have something to put into the "Set Launch Options" input field.

I come up with this string that converts correctly the names, but fails to launch the game:
echo '%command%' | sed 's/bin\/SupportTool.exe/DefEd\/bin\/EoCApp.exe/'

The command string is correctly converted, but game doesn't launch. :(

Conclusion

According to me, there's no need to rename any directory to launch the game.

I haven't tried, but you can also run the Classic version of the game using these suggestions, but changing the paths.

That command doesn't say to actually do anything, just print the result to stdout.

Maybe try something like this:

$(echo '%command%' | sed 's/bin\/SupportTool.exe/DefEd\/bin\/EoCApp.exe/')

@ziabice Try using string substitution functionality of bash, like I did here.

This one should work:

bash -c 'exec "${@/bin\/SupportTool/DefEd\/bin\/EoCApp}"' -- %command%

Damn, I already asked for a refund for the game so I can't try, but @Saancreed and @madewokherd thanks for the reply, hope it can help other players!

@Saancreed

bash -c 'exec "${@/bin\/SupportTool/DefEd\/bin\/EoCApp}"' -- %command%

I tried that with a clean installation, but it only got to the black screen with game-themed mouse cursor. I tried again after disabling xaudio2_7 in winecfg, and that got the Larian splash screen sound to play, but the game was still stuck at the black screen and cursor. This matches what others described in the early comments of this report. If someone could solve this stuck-at-black-screen problem, your launch command would be a very convenient solution. Unfortunately, it seems to be a no-go for now.

However, I can still get the game working (with no special launch commands) by installing dotnet472 in the wine prefix. I use protontricks to make this easier:

WINETRICKS=/path/to/winetricks protontricks 435150 --force --unattended dotnet472

That command hangs at one point during .NET installation, but opening another terminal and running pkill ngen.exe allows it to complete. Once it finishes, Steam can start the Larian launcher, and the game works.

A black dialog box appears the first time you start the game from the launcher. I think this is asking permission to share data with the publisher. Mousing over the bottom of it reveals the Yes & No options:

blackdialog

Also, the registry value described in my earlier comment still solves the problem of Steam reinstalling .NET every time the game runs. You can use WINETRICKS=/path/to/winetricks protontricks 435150 regedit to import or manually add registry settings.

Hi guys, so for those of you trying to do the symlink workaround, I've found why the black screen issue occurs on first attempt.

This is the -incorrect- way to symlink the game:

mv bin bin-bak
ln -s DefEd/bin bin
mv bin/SupportTool.exe bin/SupportTool.bak
ln -s bin/EoCApp.exe bin/SupportTool.exe

-The reason this is incorrect, and why you may get a black screen if using some kind of shell script for this, is because DefEd/bin/EoCApp.exe, expects DefEd/Data to be in ../
-Now we DO have a pre-existing ../Data folder in the main directory, but it does not work with the DefEd/bin/EoCApp.exe, the game -WANTS- DefEd/Data for DefEd/bin/EoCApp.exe.
-The reason it work -after- a relaunch, is because you've symlinked bin, so it's starting in /DefEd/bin this time instead of /bin. The Data path is relative like '../'

SO the -correct- way to symlink, in order to get around the launcher, is like this:

mv bin bin-bak
mv Data Data-bak
ln -s DefEd/bin bin
ln -s DefEd/Data Data
mv bin/SupportTool.exe bin/SupportTool.bak
ln -s bin/EoCApp.exe bin/SupportTool.exe

--I've fixed this for my next proton-ge release within protontricks so its done automatically, however there are the manual steps in case anyone needs them.

Thanks GloriousEggroll, I can confirm those steps above work flawlessly on a fresh install and indeed avoid the black screen.

Out of curiosity, has anyone got Norbyte's Script Extender to run? https://github.com/Norbyte/ositools/releases

I presume there is no easy way to get the game to pull the .dll from Proton?

As far as 5.0-7 goes, the game works perfectly for me with excellent performance on ultra graphics after the fix given by @GloriousEggroll.

Log of the crash before I applied the fix
My system information

Hi I am running the game successfully via Lutris + GOG and using multiple Proton(WINE) versions: 5.6-2, 5.7 and 5.9-GE. Everything is fine except terrible input lag (The cursor moves fine but the game reads it with a delay, same for keyboard) Hence, it feels like playing with lags online.
Did anyone experience similar issues?

Thee game runs fine for like 10-30 minutes and then causes my gpu to crash. tried a bunch of proton versions, using nvidia 450.57 with a gtx 1050M

I have also attempted running it through Lutris' wine, and I get the same issue

Thee game runs fine for like 10-30 minutes and then causes my gpu to crash. tried a bunch of proton versions, using nvidia 450.57 with a gtx 1050M

I have also attempted running it through Lutris' wine, and I get the same issue

I can't say this is the problem, but I've seen on the Final Fantasy 14 Proton issue tracker that there is a driver bug introduced with the recent nVidia update that is causing crashes with DXVK. @doitsujin posted some kind of work around there.

Thee game runs fine for like 10-30 minutes and then causes my gpu to crash. tried a bunch of proton versions, using nvidia 450.57 with a gtx 1050M
I have also attempted running it through Lutris' wine, and I get the same issue

I can't say this is the problem, but I've seen on the Final Fantasy 14 Proton issue tracker that there is a driver bug introduced with the recent nVidia update that is causing crashes with DXVK. @doitsujin posted some kind of work around there.

I tried putting the dxvk conf file in bin/ didn't seem to do anything. I'm not convinced it's the same issue tho, because I ran into the current issue with ffxiv, and it didn't kill my gpu - could just restart the game. This game is completely crashing the GPU needing a power cycle to get back up and running

thx @GloriousEggroll - I added custom script support into my stl wrapper today and used DOS2 as example, just to add your fix a few minutes later
https://github.com/frostworx/steamtinkerlaunch/commit/d7799befe02123473cbe63cc153d465a58f39c82

Hi, I am running Arch Linux with Proton-5.9-GE-5-ST and I am getting consistent frame time spikes every few frames (which is also noticeable visually when panning the camera and moving around):

divinity

I have already tried setting

dxgi.syncInterval    = 0
d3d9.presentInterval = 0

in my dxvk.conf, but this didn't work either.

Does anyone have any idea on what is going on here or what else I could try?

Here is the steam-435150.log.

I'm not sure how much within the purview of Proton as a whole this is, but Divinity is failing to launch entirely within Wayland+Sway environment, but works fine inside of X-server with i3. It has a page-fault and crashes on startup, with no real other information. If this is considered within the range of what Proton should support, I can try to help out with debugging/logging info.

Obviously I'm using xwayland, and I haven't had problems with other games, including games using Proton such as Shadow of War.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BLaDZer picture BLaDZer  路  3Comments

AwesamLinux picture AwesamLinux  路  3Comments

Elkasitu picture Elkasitu  路  3Comments

ArekPiekarz picture ArekPiekarz  路  3Comments

lucifertdark picture lucifertdark  路  3Comments