Black screen on launch even after webrtc_plugin.dll symlink
Closed this issue · 9 comments
Well, it's certainly been a while since I was last here.
Recently moved my old NAS drives into the PC so have enough free space to justify keeping a DCS install around again, and have been feeling the urge to get back into the digital skies. I note that the Proton issue has remained a lot more active, but as I've stuck with standalone I'm posting here.
I've installed with Lutris (using the Eagle Dynamics installer) and have hit a wall when it comes to reaching the main menu; it's the black screen problem mentioned in the guidance that's usually fixed after the DLL overrides, but moving and symlinking webrtc_plugin.dll
has no effect. I've tried different Wine versions, the modified webrtc_plugin.dll
and various Winetricks options, but launching with Lutris' wineprefixes always results in a black screen once past the initial DCS splash.
Oddly, launching outside Lutris (using the created menu shortcuts, essentially WINEPREFIX=/mnt/Maelstrom_Pool/Games/Wine/dcs-world wine 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Eagle Dynamics\DCS World OpenBeta\DCS World OpenBeta.lnk'
) does load into the menu without an issue, but the lack of shaders results in an interesting experience:
I've live-tailed logs for the above scenarios, and can't discern anything useful from them. Both are below, but the only errors DCS encounters are a duplicate loadout for the SA342, issues with the Hawk unit and a failed call to getVoiceChatDevices
that looks promising but given the non-Lutris instance runs without this issue, I'm unsure what can be done about it. Every time DCS halts (not crashes) at the black screen aligns with EDCORE (Main): (dDispatcher)enterToState_:2
in the logs. Running a Ryzen 5 3600, RX5500XT 8GB and 32GB RAM, DCS installed on a ZFS pool.
Which wine do you use with the Lutris launcher? It's working well for me with lutris-GE-Proton7-39 - no webrtc_plugin.dll mods necessary
I've tried lutris-GE-Proton7-39, lutris-GE-Proton7-33, lutris-7.2.2 and lutris-fshack-7.2; all give the same result.
Just tried lutris-GE-Proton7-39 with webrtc_plugin.dll
restored to normal as a sanity check, unfortunately gave the same result with a halt at EDCORE (Main): (dDispatcher)enterToState_:2
.
I just tested a Lutris install on my Steam Deck in desktop mode:
- in lutris hit + in top left & search the lutris website for the installer
- search for DCS, select DCS World, select Standalone Open Beta
- you'll have to download the installer manually from the DCS website as it has the wrong link, you can select your downloaded installer
- it defaults to using Lutris wine 7.2, you'll gave to change this to Lutris-GE-Proton7-39 later
- let it install
- configure - runner options - select the proton version
- go down further, select virtual desktop so you can log in otherwise the login window is behind the ED banner
- save
- select winetricks
- if it asks to install mono say no
- select default wineprefix (ok)
- install a windows dll or component
- select d3dcompiler_43 & d3dx11_43 (d3dcompiler_47 should already be installed) & select ok
- when done come out of winetricks
- it should work (it does for me)
As I said above this is on a Steam Deck with the mesa drivers - on there lutris needs extra permissions & some 32 bit libs to be able to run
search for DCS, select DCS World, select Standalone Open Beta
This turned out to be the cause - I chose the Eagle Dynamics installer out of habit; it worked the last time I added to the guide (for both OB and stable), but it seems that's no longer the case. A quick look through the two install scripts reveals the only differences to be the following - the Standalone Open Beta installer contains the following, whilst the Eagle Dynamics installer does not:
system:
env:
__GL_SHADER_DISK_CACHE: 1
__GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
(It does also add the wbemprox
DLL override, but as I did this manually I assume the above is what made the difference.)
I'm terribly sorry to reopen this. But i have the same issue still.
-installed d3dcompiler_43 & d3dx11_43 & vcrun2019 & corefonts & xact
-removed the (also tried with them still in the config)
"env:
__GL_SHADER_DISK_CACHE: 1
__GL_SHADER_DISK_CACHE_PATH: $GAMEDIR"
- did ln -s bin/ebrtc_plugin.dll
- i'm on lutris-GE-Proton7-41
- set the DLL overrides in the config
- set the $CONFIG_DIR etc env from the guide
(also set $USERNAME)
But i always get that black screen.
Any help would be appreciated thanks :)
Reopening given above; assuming this install was created with the Open Beta Lutris installer, have you checked if the Windows version changed somewhere along the way @madson007? I find Wine has a nasty habit of resetting to Windows 7 or even XP when troubleshooting problems like this - you can reset it to Windows 10 via Wine Configuration or Winetricks if so.
Assuming our installs are fairly similar it would be interesting to see if DCS still halts at EDCORE (Main): (dDispatcher)enterToState_:2
- I presume it does, but if that holds true then I'm unsure as to what actually fixed my issue.
Hey,
Yes this install was made with the lutris openbeta installer.
It did reset to win XP but then it gave me an error that i needed at least win8.1. I then set it to Win 10 so that wasn't an issue.
i ran "ln -s bin/webrtc_plugin.dll" (whilst in the DCS world openbeta folder)
but i still see :
012c:err:module:import_dll Library msdmo.dll (which is needed by L"C:\\Program Files\\Eagle Dynamics\\DCS World OpenBeta\\bin\\webrtc_plugin.dll") not found 012c:err:module:import_dll Library webrtc_plugin.dll (which is needed by L"C:\\Program Files\\Eagle Dynamics\\DCS World OpenBeta\\CoreMods\\services\\VoiceChat\\bin\\VoiceChat.dll") not found 012c:err:module:import_dll Library webrtc_plugin.dll (which is needed by L"C:\\Program Files\\Eagle Dynamics\\DCS World OpenBeta\\CoreMods\\services\\VoiceChat\\bin\\VoiceChat.dll") not found
I pasted the entire log here:
https://pastebin.com/1UFZGDB7
I made an initial setup with the lutris script again. This time i did nothing as the guide said that the lutris script should run out of the box. So i just moved the data files from one prefix to the other (didn't even make the symlink) and now it's just working perfectly. So i must have been me following the manual install instructions that broke my install and just using the open beta install script works out of the box. This can be closed again for me, Thanks again for the assistance!
So i must have been me following the manual install instructions that broke my install and just using the open beta install script works out of the box. This can be closed again for me, Thanks again for the assistance!
That was ultimately what fixed for me, but the only difference I could see between the two installers was __GL_SHADER_DISK_CACHE: 1
and __GL_SHADER_DISK_CACHE_PATH: $GAMEDIR
, but as you tried setting those manually it seems the issue must lie somewhere else, or at least is not as plainly visible. Closing as noted; when I get some time I might go over the guide again as it would seem quite a bit is now redundant - hopefully the info on headtracking etc. is still valid.