Open FreeLikeGNU opened 6 years ago
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
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
https://gist.github.com/Elisto/b27246d9bfa63f4fbd110616cec1cb2d same problem here black screen + mouse
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:
@lieff Great! Thanks for testing
Also books rendered incorrectly:
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
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