rfvgyhn / min-ed-launcher

Minimal Elite Dangerous Launcher
MIT License
251 stars 9 forks source link

Launcher interferes with Discord's ability to hook into game #91

Closed Razwerkz closed 1 year ago

Razwerkz commented 1 year ago

From my observation, when the launcher launches additional apps (as determined by the settings file), Elite Dangerous and the additional apps are called at the same time with no delay. This seems to cause Discord to focus on one of these accompanying apps, barring access to the Discord Overlay from the game window. Reloading Discord with a quick Ctrl+R properly attaches the overlay (and reloads all plugins, if you're a BD user like me), but this is a bit of an inconvenience to do each game launch.

I think this could be mitigated with a configurable time delay that controls how long before the launcher calls the additional apps.

Razwerkz commented 1 year ago

Update: It looks like this isn't a problem if the Steam Overlay is disabled for Elite.

rfvgyhn commented 1 year ago

The additional processes are started before Elite, but it could be the case, like you said, that there's a timing issue with how overlays are attached.

I'm not familiar with Discord, do both overlays normally work in other games? If you re-enable the steam overlay and remove all of your additional processes, do the overlays work? Do both overlays work when using the vanilla launcher?

Razwerkz commented 1 year ago

Normally, both overlays work fine. What's more, the issue returned even with Steam Overlay disabled.

Razwerkz commented 1 year ago

After more experimenting, I'm led to believe that the issue is not the timing of the apps, but actually the launcher itself. Perhaps Discord is looking for something that the vanilla launcher supplies? This is all just speculation, of course, and me simply thinking out loud.

If I reload Discord while the game is running (using Ctrl+R), Discord will hook into Elite seemingly fine. However, upon game exit (and the subsequent exiting of other apps launched with the launcher), Discord will still behave as if it were still hooked (shows that user is currently playing Elite Dangerous, and has not stopped since reload), despite having no residual processes. Reloading Discord again causes normal behaviour to return.

For all I know, it could be a Discord problem.

Razwerkz commented 1 year ago

I have set up a friend with a similar configuration, however, for her, I did not install Razzafrag's EDCoPilot program. This issue does not appear to be present for her. This leads me to the belief that EDCoPilot is creating this interference, and not the launcher. Seeing as the Steam Overlay is also capturing the CoPilot window, I'm willing to double down on that belief.

I'm closing the ticket, on this basis.

Razwerkz commented 1 year ago

After a while of dropping it entirely, I got frustrated again and tried to narrow down the issue. As it turns out, disabling "Use Desktop game Theatre while SteamVR is active" in the game's settings on Steam solves the issue entirely.

Keeping this ticket closed, as now I'm sure this is the root cause.