Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shadows: Awakening (585450) - black screen #1102

Open
lieff opened this issue Aug 31, 2018 · 39 comments
Open

Shadows: Awakening (585450) - black screen #1102

lieff opened this issue Aug 31, 2018 · 39 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@lieff
Copy link

lieff commented Aug 31, 2018

Distro: Ubuntu 18.04
GPU: GTX 980, Nvidia proprietary driver 390.48
Resolution: 2560x1440
RAM: 16GB
Proton 3.7-5 Beta

Do not starts - black screen on startup.

@lieff lieff changed the title Shadows: Awakening - black screen Shadows: Awakening (585450) - black screen Aug 31, 2018
@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Aug 31, 2018
@omicron-b
Copy link

@lieff in this case updating a driver might actually help. I have that game in my wishlist so it would be great to know if it`s playable, could you please check? Thanks in advance.

@lieff
Copy link
Author

lieff commented Sep 6, 2018

@m-svo yep, I'll check it later.

@lieff
Copy link
Author

lieff commented Sep 6, 2018

Nope, same with new drivers 396.54.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

Game log contains

WindowsVideoMedia error 0x80004001 while reading Z:/.../SteamLibrary/steamapps/common/Shadows Awakening/shadows_Data/sharedassets0.resource

Context: Turning DXVA off
Error details: <Empty>
Track types:

Seems this main start problem.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

Game loads mfplat.dll, so Media Foundation is needed.

@omicron-b
Copy link

looks like you can try WINEPREFIX="<path to proton>" winetricks mf

@lieff
Copy link
Author

lieff commented Sep 8, 2018

I've already tried that, but it only installs mf.dll. Or may be my winetricks is old? I use https://github.com/Winetricks/winetricks

@omicron-b
Copy link

omicron-b commented Sep 8, 2018

I don`t think it`s about winetricks version. Looks like you should take a native windows mfplat.dll from existing windows installation and put it into prefix, and set up native windows mfplat.dll in winecfg. This is not a suitable solution for everyone unfortunately, but it may help isolate the issue.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

Yep, I'm already in process trying native dlls.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

I've copy

mfplat.dll
msmpeg2adec.dll
msmpeg2vdec.dll
sqmapi.dll

32 and 64bit files, successfully register msmpeg2adec.dll/msmpeg2vdec.dll

Error changed:

WindowsVideoMedia error 0xc00d36c4 while reading Z:/.../SteamLibrary/steamapps/common/Shadows Awakening/shadows_Data/sharedassets0.resource

Context: CreateObjectFromByteStream
Error details: The byte stream type of the given URL is unsupported.
Track types:

And still not works. mfplat.dll loaded succesfully and I do not see msmpeg2vdec.dll loading. So it may be some other codec needed.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

Nope sharedassets0.resource contains mp4/h264 any ideas?

@omicron-b
Copy link

I can only think of renaming sharedassets0 at this point. Maybe the game will just skip the intro or whatever is in that file.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

Renaming makes log:

Empty file: sharedassets0.resource
 
(Filename:  Line: 758)

Empty file: sharedassets0.resource
 
(Filename:  Line: 758)

And still black screen.

@lieff
Copy link
Author

lieff commented Sep 8, 2018

I've make it working. First of all CreateObjectFromByteStream needs Scheme Handlers https://docs.microsoft.com/en-us/windows/desktop/medfound/scheme-handlers-and-byte-stream-handlers
I transfer entire HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation in wmf.reg.

Then it's need following media foundation files

mf.dll
mferror.dll
mfplat.dll
mfreadwrite.dll
msmpeg2adec.dll
msmpeg2vdec.dll
sqmapi.dll

And another part of registry mf.reg:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Wine\LicenseInformation]
"msmpeg2adec-AACDecoderV2AddInEnable"=dword:00000001
"msmpeg2adec-AACDecoderV2InSKU"=dword:00000001
"msmpeg2adec-DolbyDigitalDecoderV2AddInEnable"=dword:00000001
"msmpeg2adec-DolbyDigitalDecoderV2InSKU"=dword:00000001
"msmpeg2vdec-H264VideoDecoderV2AddInEnable"=dword:00000001
"msmpeg2vdec-H264VideoDecoderV2InSKU"=dword:00000001
"msmpeg2vdec-MPEG2VideoDecoderV2AddInEnable"=dword:00000001
"msmpeg2vdec-MPEG2VideoDecoderV2InSKU"=dword:00000001

[HKEY_CLASSES_ROOT\CLSID\{271C3902-6095-4c45-A22F-20091816EE9E}]
@="MPEG4 Byte Stream Handler"

[HKEY_CLASSES_ROOT\CLSID\{271C3902-6095-4c45-A22F-20091816EE9E}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}]
@="File Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}]
@="MFReadWrite Class Factory"

[HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}\InprocServer32]
@="mfreadwrite.dll"
"ThreadingModel"="Both"

And register script:

export WINEPREFIX=/path/to/SteamLibrary/steamapps/compatdata/585450/pfx
wine start regedit.exe mf.reg
wine64 start regedit.exe mf.reg
wine start regedit.exe wmf.reg
wine64 start regedit.exe wmf.reg
wine regsvr32 msmpeg2vdec.dll
wine regsvr32 msmpeg2adec.dll
wine64 regsvr32 msmpeg2vdec.dll
wine64 regsvr32 msmpeg2adec.dll

And it's working:
screenshot from 2018-09-09 02-03-58

@lieff
Copy link
Author

lieff commented Sep 8, 2018

First load is very long due compile shaders. With dxvk some objects invisible because of Stream Output.
In-game seems works, but there constant spinner in top right:
screenshot from 2018-09-09 02-48-17

And game cannot be saved, clicks on slot do nothing. And exit to main menu stuck forever:
screenshot from 2018-09-09 02-48-49

@lieff
Copy link
Author

lieff commented Sep 9, 2018

Hmm, with Proton wine and PROTON_USE_WINED3D11=1 everything seems to be normal. Save works, no constant spinner.

@lieff
Copy link
Author

lieff commented Sep 9, 2018

Played an hour, fully playable.

@omicron-b
Copy link

Great work. With this we can contact the developer and inform them that game could be whitelisted for SteamPlay if they can get rid of MS Media Foundation. I mean there must be a lot of other ways to play MP4.

@lieff
Copy link
Author

lieff commented Sep 9, 2018

I think they can't get rid of it because of Unity is not open source. But Proton can make Media Foundation installer, same as .NET\DX etc.

@mozo78
Copy link

mozo78 commented Sep 14, 2018

Hmm, with Proton wine and PROTON_USE_WINED3D11=1 everything seems to be normal. Save works, no constant spinner.

Hello, haw can I obtain Proton wine? I tried to install a Windows game in Steam but I can't find Proton nowhere on my machine.

Edit:
Sorry, found it in the game's folder :)

@mozo78
Copy link

mozo78 commented Sep 14, 2018

Excuse me, can you give us wmf.reg and the needed .dlls? Thank you :)

@lieff
Copy link
Author

lieff commented Sep 14, 2018

I'm not sure I can. I tried to make installer from Windows6.1-KB968211-x64-RefreshPkg.msi , but there delta PA30 files kyz/libmspack#3 , not regular dlls. Need help of Proton/Wine etc guys here.

@lieff
Copy link
Author

lieff commented Sep 14, 2018

Well, tried to make installer from https://www.microsoft.com/en-us/software-download/mediafeaturepack
There actual dlls in package, but newer dlls refused to load because of functions not supported by wine:

0030:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqLockWorkQueue' used by L"C:\\windows\\system32\\MFPlat.DLL"
0030:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqUnlockWorkQueue' used by L"C:\\windows\\system32\\MFPlat.DLL"
0030:err:module:import_dll Library api-ms-win-core-processtopology-l1-1-0.dll (which is needed by L"C:\\windows\\system32\\msmpeg2vdec.dll") not found
0030:err:module:import_dll Library api-ms-win-security-cryptoapi-l1-1-0.dll (which is needed by L"C:\\windows\\system32\\msmpeg2vdec.dll") not found

@lieff
Copy link
Author

lieff commented Sep 14, 2018

Tested Wine 3.16, mfplat patches are not enough, still not works.

@mozo78
Copy link

mozo78 commented Sep 15, 2018

Thanks fo your efforts. We'll wait untill they sorted it out.

@mozo78
Copy link

mozo78 commented Sep 17, 2018

Well, tried to make installer from https://www.microsoft.com/en-us/software-download/mediafeaturepack
There actual dlls in package, but newer dlls refused to load because of functions not supported by wine:

0030:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqLockWorkQueue' used by L"C:\\windows\\system32\\MFPlat.DLL"
0030:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqUnlockWorkQueue' used by L"C:\\windows\\system32\\MFPlat.DLL"
0030:err:module:import_dll Library api-ms-win-core-processtopology-l1-1-0.dll (which is needed by L"C:\\windows\\system32\\msmpeg2vdec.dll") not found
0030:err:module:import_dll Library api-ms-win-security-cryptoapi-l1-1-0.dll (which is needed by L"C:\\windows\\system32\\msmpeg2vdec.dll") not found

I can't import libraries for I receive pretty the same error:

wine regsvr32 msmpeg2vdec.dll
004b:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqUnlockWorkQueue' used by L"C:\windows\system32\MFPlat.DLL"
004b:err:module:find_forwarded_export module not found for forward 'RTWorkQ.RtwqLockWorkQueue' used by L"C:\windows\system32\MFPlat.DLL"
004b:err:module:import_dll Library api-ms-win-core-processtopology-l1-2-0.dll (which is needed by L"C:\windows\system32\msmpeg2vdec.dll") not found
004b:err:module:import_dll Library CRYPTSP.dll (which is needed by L"C:\windows\system32\msmpeg2vdec.dll") not found
004b:err:module:import_dll Library api-ms-win-core-registry-l2-2-0.dll (which is needed by L"C:\windows\system32\msmpeg2vdec.dll") not found
regsvr32: Failed to load DLL 'msmpeg2vdec.dll'

How did you managed to register them on your machine?

@lieff
Copy link
Author

lieff commented Sep 17, 2018

Working dlls is from windows 7. There no full download for win 7/8 (only KB update with diffs), only for win10. So, we need implement mpflat further or implement RTWorkQ. Or maybe download win7 evaluation iso and extract files from there? Not sure if it's legal.

@mozo78
Copy link

mozo78 commented Sep 17, 2018

Thanks for the info, it's appreciated :)

@mozo78
Copy link

mozo78 commented Sep 17, 2018

And it finally started!
1

Thank you very much for the tips!!!

@lieff
Copy link
Author

lieff commented Sep 17, 2018

@mozo78 Always welcome :) Glad to help.

@Kron4ek
Copy link

Kron4ek commented Sep 19, 2018

By the way, the game works without DXVK too.
2018-09-20 04-11-34
And saving works on GOG version.
2018-09-20 04-18-37
Also i found out that 32-bit (syswow64) libraries are not needed to run the game, just 64-bit ones. So this game works even on pure non-syswow64 build of Wine.

@XapaJIaMnu
Copy link

This is also an issue in the brand new call of cthulhu game, preventing cutscenes from playing or any triggers from working.

Is anyone willing to spread the dll files of a windows 7 installation (if this is legal of course).

https://steamcommunity.com/app/399810/discussions/1/1735469327937897802/

@HonkingGoose
Copy link

Hi,

I'm doing some research for my issue at number 1464. That issue deals with cinematic/video playback. Most of the listed games already have a proton log attached to their issue, but this game does not.

Could somebody be so kind as to upload a proton log from a clean install?

I need to search in the proton log for mentions of MF or quartz, so that I can categorize the game.

Thanks for the help!

HonkingGoose

@Ahmed-E-86
Copy link

Ahmed-E-86 commented Jan 28, 2019

This game definitely needs MF, because it has a workaround for MF in this comment #1102 (comment)

@lieff
Copy link
Author

lieff commented Jan 28, 2019

Just beat the game, no other issues except Media Foundation.
@HonkingGoose I've already did that and list all needed files from win7 above, otherwise game will mention absent file tried to load.
There also SteamLibrary/steamapps/common/Shadows\ Awakening/shadows_Data/output_log.txt have useful debug info in case messed up registry etc.

@HonkingGoose
Copy link

Thanks for your input @ahmed-elsayed2017 and @lieff.

I'll drop the quest for a Proton log then, as it wouldn't add more value for my list.

@afettouhi

This comment has been minimized.

@ValveSoftware ValveSoftware deleted a comment from mozo78 Jun 2, 2019
@kisak-valve
Copy link
Member

Hello @mozo78, please do not post links to legally problematic content.

@ziabice
Copy link

ziabice commented Feb 22, 2020

Tested this game using Proton 5.0-3: everything works as expected after applying the mfplat hack. To play I used a gamepad without a single problem.

My config:
AMD RX 580 4GB
Mesa 19.3.4
Manjaro, kernel 5.4.18
Ryzen 2600 with 16GB RAM

@ValveSoftware ValveSoftware deleted a comment from yooohoohello Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests

10 participants