Giter Site home page Giter Site logo

Comments (16)

WombatFromHell avatar WombatFromHell commented on June 19, 2024

Specific to this ticket, I'm seeing very strange behavior in the log file.

Specifically these lines indicate that there's a permissions problem between the IGO overlay proxy and the game itself:

INFO 08:21:08 PM 8928 DllMain.cpp: 1255 Found main window 00000000001E02D4
INFO 08:21:08 PM 8928 InputHook.cpp: 3071 InputHook::TryHook
INFO 08:21:08 PM 8928 InputHook.cpp: 3017 Hooking Windows event loop API
WARN 08:21:08 PM 8928 HookAPI.cpp: 59 Hooking failed: XInputGetKeystroke
WARN 08:21:08 PM 8928 HookAPI.cpp: 59 Hooking failed: XInputGetState

Some possibilities include: running as admin, using an antivirus/antimalware that actively blocks hooking, something else I haven't seen yet? Maybe try uninstalling and reinstalling Origin without using the old client at all?

If you want to see what a working log chunk looks like:

INFO 04:10:36 PM 7544 DllMain.cpp: 1255 Found main window 00000000000D05C4
INFO 04:10:36 PM 7544 InputHook.cpp: 3078 InputHook::TryHook
INFO 04:10:36 PM 7544 InputHook.cpp: 3024 Hooking Windows event loop API
INFO 04:10:36 PM 7544 mhook.cpp: 437 TrampolineAlloc: for 00007FFB894727C0 (XInputGetKeystroke) between 00007FFB094827C0 and 00007FFC093F27C0
INFO 04:10:36 PM 7544 mhook.cpp: 437 TrampolineAlloc: for 00007FFB894716B0 (XInputGetState) between 00007FFB094816B0 and 00007FFC093F16B0
INFO 04:10:36 PM 7544 mhook.cpp: 437 TrampolineAlloc: for 00007FFB8401A9F0 () between 00007FFB0402A9F0 and 00007FFC03F9A9F0
INFO 04:10:36 PM 7544 mhook.cpp: 437 TrampolineAlloc: for 00007FFB84022D00 () between 00007FFB04032D00 and 00007FFC03FA2D00
INFO 04:10:36 PM 7544 mhook.cpp: 437 TrampolineAlloc: for 00007FFB84021BE0 () between 00007FFB04031BE0 and 00007FFC03FA1BE0

After that initial sanity check the IGO proxy should find the DX swapchain and inject itself into the game (creating its notification popup and the whole nine).

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

So I just tried launching the game with the OSOL set to run as admin, and while I now get the Origin overlay in game after launching through Steam, I don't get the Steam Overlay. I think for whatever reason Origin is opening Titanfall 2 too quickly now.
IGO_Log.Titanfall2_7084.txt

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

Additionally, I've got a debug.log that's full of this in the Titanfall 2 folder, which I assume has something to do with OSOL.
debug.txt

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

Based off your experiment it's pretty clear that there's definitely a mismatched permissions issue going on, as the second log file shows that the IGO proxy can access memory in the process as it should when running as admin (which you should avoid doing whenever possible):

INFO 10:01:02 PM 12060 DllMain.cpp: 1255 Found main window 00000000000B092E
INFO 10:01:02 PM 12060 InputHook.cpp: 3071 InputHook::TryHook
INFO 10:01:02 PM 12060 InputHook.cpp: 3017 Hooking Windows event loop API
INFO 10:01:02 PM 3592 mhook.cpp: 192 mhooks: BlockAlloc: Allocated block at 000002B6FFFF0000 as 282 trampolines
INFO 10:01:02 PM 3592 DXGIHook.cpp: 829 DXGIHook::Setup(force long wait: 0)
INFO 10:01:02 PM 12060 mhook.cpp: 437 TrampolineAlloc: for 0000000000403E30 (XInputGetKeystroke) between 0000000000000001 and 0000000080383E30
INFO 10:01:02 PM 12060 mhook.cpp: 437 TrampolineAlloc: for 0000000000402980 (XInputGetState) between 0000000000000001 and 0000000080382980
WARN 10:01:02 PM 12060 InputHook.cpp: 3118 input hooks: no DirectInput found.
INFO 10:01:02 PM 12060 InputHook.cpp: 3133 input hooks: w 1 x 1 d 0

INFO 10:01:02 PM 3592 DXGIHook.cpp: 829 DXGIHook::Setup(force long wait: 0)
INFO 10:01:02 PM 3592 DXGIHook.cpp: 829 DXGIHook::Setup(force long wait: 0)
WARN 10:01:02 PM 10632 DXGIHook.cpp: 367 Detected DX11 swapchain 000002B768D1F750 + initialized - dx11InUse=true

Double check that Origin, OSOL, Steam, and the game itself aren't set to run as Administrator, and that you don't have any of these programs running: https://support.steampowered.com/kb_article.php?ref=9828-SFLZ-9289.

The debug.txt output is actually a bug in Origin itself and normal from what I gather.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

Nope, still doesn't work. Origin, Steam and OSOL are all running without administrator access, and I don't have any extra antivirus programs running or anything from that list running that I can see. It just refuses to show both of them at the same time.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

Still not working as of 1.03. Steam overlay loads, Origin overlay does not.

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

I'm investigating a few different options for delaying Steam's overlay hook in the game process as a way of helping to solve this issue. I'm hesitant though, since it may cause other problems.

If anyone comes up with any other ideas I may not have considered I'm open to hearing them, so I'll leave this issue ticket up in the meantime.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

Any luck with this yet? I don't mean to rush you.

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

Not much luck so far given that the core problem of this issue involves incorrect memory permissions either due to mismatched privileges (trying to hook a game that's running as Admin when Steam is running as a non-priv user) or other software (like AMD External Events and/or antivirus) interfering.

One of the most promising options I've been looking at is duplicating some of GloSC's functionality in providing a place for Steam to hook via a sort of proxy DX swapchain (a fake 3d window basically), then to use that to hook into the application as a sort of override. This wouldn't solve the issue of mismatched permissions though, since if Steam can't hook the application then OSOL probably doesn't have permission to either given that it's running through Steam. This could also potentially cause issues with any anticheat systems that look for unknown processes hooking the game they're monitoring (like BattlEye).

I'll continue to look into it.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

I mean, is there any way I can beta test this? I don't honestly know what's going wrong because as far as I'm aware, neither Origin or Steam are running as admin. I've got an admin account on my laptop, but that's it. 😞

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

Which GPU are you running, Nvidia or AMD? I don't currently have any AMD GPUs with me that I can test against, so all I can do in that case is to recommend the various suggestions other people in the community have already offered (namely disabling AMD External Events Utility service).

If you're running an Nvidia GPU I can suggest a few things that I tried before I was able to get Origin + BPM to work:

  1. Make sure Windows 10's Game Bar (and DVR service) is turned off
  2. Disable Afterburner/RTSS and any other third party overlays
  3. Disable all third party antivirus/antimalware products
  4. Update your video driver to a relatively recent release via the downloadable driver from Nvidia's site and install it using the "Clean Install" option
  5. If all else fails use Windows' Reset via Recovery options to reinstall while preserving existing settings, just make sure to move your games out of your OS drive or they'll get wiped if they're in Program Files or Program Files (x86)

I had some issues initially, but it had to do with the antivirus I was using and Windows 10's Game Bar. Once those were disabled I had no trouble with my overlays in non-Admin run games. For whatever reason Origin in particular is troublesome about its overlay yet UPlay and Battle.net aren't. I haven't really disassembled how their hook works to get to the bottom of why it's so problematic.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

This still refuses to work. I'm running an Nvidia GTX960M, and while the Steam Overlay will load, the Origin overlay just doesn't. I don't know what I'm doing wrong. Game bar and DVR is off, in fact I've uninstalled the Xbox app, I'm not running Afterburner/RTSS's overlays, no third party antivirus, video drivers are up to date. I can't really reinstall because I don't have the space to move stuff around and this is my daily driver.

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

I'm sorry to hear that. Origin's overlay is really finicky about playing nicely with other overlays like Steam, so I'm not really surprised it might not work for some. The real solution to this is to complain to the Origin client's dev team, although I doubt they'll listen considering how many people complained about them removing auto-close-on-exit from the Origin 2.0 client.

Have you tried using GloSC instead of OSOL to see if Alia5's hook interception workaround in GloSC makes any kind of impact on the issue? I would test it myself, but I don't own Titanfall 1 or 2 to test against.

If you'd like a primer on how to install and use GloSC I can probably help out with a quick rundown.

from originsteamoverlaylauncher.

Zero-Starlight avatar Zero-Starlight commented on June 19, 2024

Yeah, I would appreciate that. Tried doing it myself but it's not playing nice.

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

It should be as simple as using the GloSC v1.3.0 installer from the release page, adding a profile for the game exe to the GloSC profile manager, then clicking "Add all to Steam" and restarting the Steam client.

After some testing I have noticed that GloSC isn't routing non-xinput to some Origin titles though standard xinput/dinput seems to work fine. The BPM in-game configurator also seems to lag heavily (likely due to GloSC not using timing workarounds for Steam's overlay wrt the Origin client).

I'm not sure what more I can suggest to you that I haven't already. Doing a clean install of your Nvidia driver using DDM could be an option, double checking that all other overlays besides Steam and Origin are turned off, and avoiding any in-memory scanning or blocking from anti-malware/anti-virus programs.

from originsteamoverlaylauncher.

WombatFromHell avatar WombatFromHell commented on June 19, 2024

This is not an issue specific to the functionality OSOL provides (it's only a launcher and does not manage hooking). I'm closing this issue unless new information is amended to this ticket.

from originsteamoverlaylauncher.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.