https://bugs.winehq.org/show_bug.cgi?id=41618
Bug ID: 41618 Summary: TESV: Skyrim Special Edition - black screen on launch Product: Wine Version: 1.9.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: spleefer90@gmail.com Distribution: ---
Created attachment 55971 --> https://bugs.winehq.org/attachment.cgi?id=55971 64 bit prefix launching from Steam
All I ever got was black screen, no music no nothing. I'm guessing it needs some D3D11 parts implemented.
https://bugs.winehq.org/show_bug.cgi?id=41618
plata@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |plata@mailbox.org
--- Comment #1 from plata@mailbox.org --- Created attachment 55978 --> https://bugs.winehq.org/attachment.cgi?id=55978 D3D11 fixmes
Installs and opens launcher in a 64bit prefix with vcrun2015. Game does not run.
Log shows some D3D11 related fixmes.
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #2 from C0rn3j spleefer90@gmail.com --- I forgot to say that I got into the launcher too.
https://bugs.winehq.org/show_bug.cgi?id=41618
Tom B tom@r.je changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tom@r.je
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #3 from plata@mailbox.org --- It is possible to run the game (though VERY laggy) if you use windowed mode (Launcher -> Options -> tick "Windowed Mode") and select the lowest possible resolution (800x450). If I select any higher resolution, the game does not run.
What's strange is: I could once see everything (NPCs, environment etc.), but now I only get sound and can see the UI (everything else is black).
https://bugs.winehq.org/show_bug.cgi?id=41618
robmjohnson@zoho.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |robmjohnson@zoho.com
https://bugs.winehq.org/show_bug.cgi?id=41618
Kai Krakow hurikhan77+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hurikhan77+wine@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41618
Kimmo Myllyvirta kimmo.myllyvirta@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kimmo.myllyvirta@gmail.com
--- Comment #4 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 56768 --> https://bugs.winehq.org/attachment.cgi?id=56768 relay,tid debug log
Still an issue with wine-2.0-rc4. The game doesn't start unless it is started in windowed mode with the lowest possible resolution.
The game starts up ok in fullscreen mode when xaudio2_7 is set to builtin. (Steam installs xact from _CommonRedist on first launch.)
There is actually a crash inside the native xaudio2_7 (initialize) when it tries to play the intro video, which doesn't happen when running it in windowed mode, 800x450. Short +relay,seh snippet attached (the first exception there is harmless).
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #5 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 56790 --> https://bugs.winehq.org/attachment.cgi?id=56790 debug log, backtrace
This seems to be the same issue as in bug #38668. Crashes at the same place, and backtraces are very similar.
Human readable log and backtrace attached (I hacked SetUnhandledExceptionFilter to just return the top_filter in order to get it, since the game doesn't generate minidumps or anything here, it just catches the exception and does nothing - just hangs there with a black screen.)
The crash happens here; =>0 0x000000003b3b1ca2 in xaudio2_7 (+0x71ca2) (0x00007fffff5dff08)
The native xaudio2_7 does some interesting bit shifting with pointers (the crash happens in some kind of list code, or when filling it, "SimpList" based on the OutputDebugString calls).
It basically does (pseudocode); val = (ptr << 21) + (someValue & 0x7FFFFF); then later it does; ptr2 = (val >> 21) & 0x7FFFFFFFFF8; and tries to access *ptr2
movq 0x0000000000000010(%r9),%r8 movq 0x0000000000000008(%r9),%rax movq %r8,%r10 shrq $0x15,%r10 andq %rsi,%r10 movq (%r10),%rdx <- crashes here movq 0x0000000000000010(%r9),%rcx shrq $0x15,%rdx andq %rsi,%rdx cmpq %rcx,%r8
Well, this works if you are lucky, but in this case; 0x7fffff5e1680 truncates to; 0x7ffff5e1680 ->page fault
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #6 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 56972 --> https://bugs.winehq.org/attachment.cgi?id=56972 hack patch
Possible fix for this bug and bug #38668 attached (possibly fixes some others too). I'm not sure how correct this is, how ASLR affects it etc, but at least this is a start.
Try to reduce the address space to 8TB. 128TB is only for Windows 8.1 and Windows Server 2012 R2 [1]. (and linux) Now, you may ask why xaudio2_7 works on Windows 8.1. Actually it doesn't, and neither does native dsound when using top-down allocations [2]. Native xaudio and dsound try to pack an address and some data into a single variable. 43 bits for the address (8TB), 21 bits for data. Native xaudio2_7 and dsound seems to use similar command queues, based on the pdbs (in this bug the crash happens at XLFQueueRemove, in [2] LFQueuePut).
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).a... [2] https://social.msdn.microsoft.com/Forums/silverlight/en-US/1ebe03be-a9fd-45d...
https://bugs.winehq.org/show_bug.cgi?id=41618
Kimmo Myllyvirta kimmo.myllyvirta@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #56972|0 |1 is obsolete| |
--- Comment #7 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Comment on attachment 56972 --> https://bugs.winehq.org/attachment.cgi?id=56972 hack patch
Marking the hack patch as obsolete, this patch causes more problems than it fixes.
Use the builtin xaudio2_7. Then the game should start with any resolution, and in fullscreen mode.
https://bugs.winehq.org/show_bug.cgi?id=41618
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE CC| |aeikum@codeweavers.com
--- Comment #8 from Andrew Eikum aeikum@codeweavers.com --- Thanks for the analysis, Kimmo. Resolving duplicate of earlier reported bug.
*** This bug has been marked as a duplicate of bug 38668 ***
https://bugs.winehq.org/show_bug.cgi?id=41618
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Austin English austinenglish@gmail.com --- Closing.
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #10 from Tom B tom@r.je --- Why was this closed? The above workaround fixes the xaudio crash, but the root problem (black screen on launch) still exists. Unsurprisinglyh it's a DX11 problem (fixmes were already provided).
It's not really a duplicate of #38668.
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #11 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- One problem per bug. The original black screen problem was caused by xaudio hanging the game. I tried this with GTX980 (375.39) and wine-2.3, no black screen, but lots of graphical glitches. Much better with staging. You likely have some different problem there?
https://bugs.winehq.org/show_bug.cgi?id=41618
Andrew andrew.mrolko@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew.mrolko@gmail.com
--- Comment #12 from Andrew andrew.mrolko@gmail.com --- Was this issue actually resolved? If so, the exact same bug occurs in 2.21-staging and is logged under Bug ID: 44049
Is it confirmed that launching the game via $wine SkyrimSE.exe xaudio2_7 did in fact work in version 1.9.21?
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #13 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- (In reply to Andrew from comment #12)
Was this issue actually resolved?
It is duplicate of bug 38668, which is still open.
If so, the exact same bug occurs in 2.21-staging and is logged under Bug ID: 44049
Is it confirmed that launching the game via $wine SkyrimSE.exe xaudio2_7 did in fact work in version 1.9.21?
$ wine SkyrimSE.exe xaudio2_7 won't do anything. Start it with; $ WINEDLLOVERRIDES="xaudio2_7=b" wine SkyrimSE.exe Or set the override from winecfg.
And yes, it is still working for me with wine 2.21 and 2.21-staging.
Based on the logs you provided in those other bugs, you are using wine-gaming-nine, wine-staging-nine or something? I don't see any output from d3d11. Can you try with vanilla wine or staging (without gallium nine)? And let's continue this conversation in those new bugs you opened.
https://bugs.winehq.org/show_bug.cgi?id=41618
--- Comment #14 from Andrew andrew.mrolko@gmail.com --- Thank you Kimmo Myllyvirta. I have updated bug 44049 with the audio override in place, and gallium 9 disabled. The issue continues to persist. Please see the other ticket for backtrace log and associated screenshot. Thanks.
https://bugs.winehq.org/show_bug.cgi?id=41618
Jordan Galby gravemind2a+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gravemind2a+wine@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41618
Jordan Galby gravemind2a+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|gravemind2a+wine@gmail.com |