TheZoq2 / dcs_on_linux

Instructions for running DCS World on linux. Mostly extracted from https://github.com/ValveSoftware/Proton/issues/1722
79 stars 4 forks source link

Crash on launch despite troubleshooting measures #3

Closed QuicksilverBR closed 3 years ago

QuicksilverBR commented 3 years ago

Posting here as I'm not running under Proton - didn't want to muddy the proton-focused thread.

I recently bought a new drive to alleviate my constant need to uninstall old games etc. when I wanted to play something different. Before I moved to Linux (~2 years ago) I invested a fair amount in DCS, and the news of the Apache and volumetric clouds has me wanting to get flying once again. I never tried on my previous setup - Fedora 32 - but given the update to 33 completely wrecked that install, I thought I'd try openSUSE, as I'd been interested for a while. Long story short, it works just as well as my old Fedora did, including Wine-based gaming. DCS though, refuses to progress past the login screen, crashing regardless of what I do.

Steps attempted:

The only noticeable change came after running the winetricks command - when DCS launches, it first creates a 'No versions available' dialogue. No other changes observed.

I've tried all these things on both Lutris standalone installers - the ED one and OB one to the same result. From what I read of the logs - and that isn't much - DCS only outputs warnings that the track and mission files are empty. All other lines just reference individual DLL and DRVs being accessed. In lieu of said log (can provide if needed), here is Lutris' console ouptut:

lutris-wrapper: DCS World Running gamemoderun /home/bradleyr/.local/share/lutris/runners/wine/lutris-6.0-rc1-x86_64/bin/wine /home/bradleyr/SSD/Games (SATA)/dcs-world-test/drive_c/Program Files/Eagle Dynamics/DCS World OpenBeta/bin/DCS_updater.exe Initial process has started with pid 15852 Start monitoring process. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. esync: up and running. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. skipping config: /home/bradleyr/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /home/bradleyr/.local/share/lutris/runners/wine/lutris-6.0-rc1-x86_64/bin/MangoHud.conf [ not found ] skipping config: /home/bradleyr/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/bradleyr/.config/MangoHud/MangoHud.conf [ ok ] MANGOHUD: Failed to initialize CPU power data ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. Initial process has exited (return code: 256) ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. wine: Unhandled page fault on read access to 0000000000000068 at address 000000007AC2D861 (thread 0114), starting debugger... ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. Monitored process exited. All monitored processes have exited. Exit with returncode 256

Any help is appreciated. I haven't tried Steam yet as all my modules are standalone, but plan to do so tomorrow just in case. I'll also add the the ED installer defaults to Windows XP, making it unusable until the version is manually changed - not sure who is responsible for updating that, but it's just something I noticed.

TheZoq2 commented 3 years ago

You may be able to get some more clues from the game log files. One thing I think you may be missing (and which might missing in the guide) is that in the latest open beta versions you need to symlink a few DLLs. There should be a description of how to do that in the proton issue

TheZoq2 commented 3 years ago

Oh, I read your message again and noticed I missed you saying you did the dll symlinking. I guess consulting the logs might still show something

QuicksilverBR commented 3 years ago

Here's the last log from the ED installer version of DCS. Hopefully it's of some help.

TheZoq2 commented 3 years ago

Ah, I see it says "login was cancelled" one quirk that I have noticed but not tried working around is that the game does not work without login, that is, in offline mode. Do you still have the same issue if you do log in.

TheZoq2 commented 3 years ago

Oh, it also mentions the crash occuring in a dll called "riched20" perhaps a dll-override for that might fix things?

QuicksilverBR commented 3 years ago

Ah, I see it says "login was cancelled" one quirk that I have noticed but not tried working around is that the game does not work without login, that is, in offline mode. Do you still have the same issue if you do log in.

I do - I started cancelling as copying my login over every time was becoming tedious.

Oh, it also mentions the crash occuring in a dll called "riched20" perhaps a dll-override for that might fix things?

Tried adding riched20.dll as a DLL override (image as I'm still not sure that's the correct way to do it, seems to work), no change unfortunately. Latest log here.

TheZoq2 commented 3 years ago

Hmm, that log does not say a whole lot unfortunately. I have no idea what might be going wrong here :(

QuicksilverBR commented 3 years ago

Hmm, that log does not say a whole lot unfortunately. I have no idea what might be going wrong here :(

Exactly my predicament. I'm trying the Steam version now (despite not owning any modules there) in an attempt to determine whether it's a Lutris/Wine setup issue or a system issue - will advise of outcome.

TheZoq2 commented 3 years ago

Oh, looking at your DLL screenshot, I think you did the DLL overrides wrong. it should look like this image

QuicksilverBR commented 3 years ago

Oh, looking at your DLL screenshot, I think you did the DLL overrides wrong. it should look like this image

I thought that might be wrong. No effect though.

QuicksilverBR commented 3 years ago

Fix one problem, run into another. Somehow it suddenly started working with no additional input whatsoever! Not fully confident in it yet, but I can fly an instant action on Causacus.

However, whenever I attempt to install modules, the game switches to the update dialogue, throws a 'No versions available' message, fails and returns to the game menu. Any ideas?

TheZoq2 commented 3 years ago

interesting, good to see that it works. Unfortunately I have not seen that message before... Do the logs say anything?

QuicksilverBR commented 3 years ago

The DCS log from before is here, though I'm not sure that the issue is recorded there. I say that as (Wine) notepad opens autoupdate_log.txt after the update/install fails, contents of which are:

00000.000 === Log opened UTC 2021-01-15 13:34:07 00000.016 INFO : DCS_Updater/2.10.6.63 (Windows NT 5.2.3790; Win64; en-GB) 00000.016 INFO : src-id: baf92d0a5bb967be5dcb68784e54459d083e8c3d, lib-id: bae3744c50d64647d7c5ee5a1236d3ae42dbbb1e 00000.016 INFO : cmdline: "C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\dcs_updater.exe" --apply install SUPERCARRIER F-16C FA-18C RAZBAM_AV8BNA AJS37 F-5E POLYCHOPSIM_SA342 MI-8MTV2 UH-1H FC3 KA-50 SU-33 A-10C PERSIANGULF_terrain 00000.142 STATUS: Initializing... 00000.142 INFO : basedir: C:\Program Files\Eagle Dynamics\DCS World OpenBeta 00000.142 INFO : dcs_variant.txt: openbeta 00000.143 INFO : DCS/2.5.6.59625.1 (x86_64; EN; WORLD) 00000.143 INFO : branch: openbeta 00000.143 STATUS: Connecting to update servers... 00000.285 INFO : Got reply from www.digitalcombatsimulator.com 00000.358 INFO : Got reply from www.digitalcombatsimulator.com 00000.359 STATUS: No versions available 00032.351 === Log closed.

The server browser works perfectly, so I'm fairly sure it's not a network issue - a reply is received, after all.

TheZoq2 commented 3 years ago

That's very odd. Could you try doing adding --apply install RAZBAM_AV8BNA to the command line arguments in lutris to check if it is complaining about a specific module?

QuicksilverBR commented 3 years ago

Happens for any module I choose, I'm afraid. Going to try and use the third-party launcher to see if that can connect properly; if it works, then the problem presumably isn't with the prefix itself.

image

QuicksilverBR commented 3 years ago

Spontaneity plays it's hand once again. On a whim, I opened Wine Configuration through Lutris to find the Windows version had reset to XP - the broken default of the ED installer - despite me changing it once already. Once back on Windows 7, the download seems to be working - will update when complete.

QuicksilverBR commented 3 years ago

To the skies! image

The Windows version (re)setting did the trick. DCS' updater must leverage features not present in Wine's XP configuration, as both Windows 7 and Windows 10 versions work, the latter more promisingly given 2.7's Windows 10-only requirement.

Key takeaways if anyone else has the same issues I did:

Thanks @TheZoq2 for your help - may the coming Vulkan and multiprocessing updates be beneficial!