Comments (21)
Can you share the DCS log and crash dump? As it’s DCS crashing, those are needed, even if it’s OpenKneeboard causing it
from openkneeboard.
It will also log some information to the system debug stream - https://docs.microsoft.com/en-us/sysinternals/downloads/debugview#introduction is the best way to view it
from openkneeboard.
Of course :)
Description of the process captured in the Debug stream:
1.- Opened WMR
2.- Launched SteamVR using WMR for SteamVR shortcut
3.- Launched dbgview64.exe
4.- LAunched DCS
5.- Alt+tab out of DCS and launch Openkneeboard (selection not to install DCS hooks)
6.- DCS crashes to Desktop
7.- Close Openkneeboard
8.- call windows task manager
9.- Kill Openkneeboard process still running
10.- Save debug stream and close debugviewer
FRANUKIS.LOG
DCS_Logs.zip
from openkneeboard.
:( sadly the dcs crash log is empty - do you have any DCS .dmp files, either in the the DCS logs folder, or %LOCALAPPDATA%\CrashDumps
?
That said, the debugview log is very useful:
00000019 0.06093640 [7140] [01:56:23.873][PID 5184] Starting graphics hook in process C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\DCS.exe
00000022 0.08188850 [5184] [01:56:23.896][PID 5184] Hooked D3D9
00000028 1.06108701 [7140] [01:56:24.875][PID 1600] Creating overlay renderer for 5184
These messages - and all the others of the form [NNNN] [nn:nn:nn.nnn][PID nnnn]
are being made by another overlay renderer. Do you have any idea what this is? This is anything you use that has the ability to show content inside of/on top of a game. For example:
- Steam overlay (not steamvr overlay)
- Discord in-game overlay
- performance monitoring software
- software that came with your motherboard, graphics card, or any 'gaming' hardware
The next steps are:
- try to disable any software like this, check DCS + OpenKneeboard work
- enable it one at a time until DCS stops working
- then we figure out how to make them work together if it's something important to you. If the software requires specific hardware, I'm unlikely to be able to work on this, but can point another developer in the right direction if there is someone with the appropriate hardware.
9.- Kill Openkneeboard process still running
Can you file a separate issue for this? The shutdown code is executing, and the windows app runtime is 'meant' to close the process automatically after that, but it isn't happening for you. If you're familiar with windows debugging tools (e.g. windbg from the microsoft store), attaching to that process after closing the window and creating a dump would be extremely useful.
I'm not able to reproduce either crash :(
from openkneeboard.
As for what's going on, without the hooks, OpenKneeboard does 3 things to DCS:
- loads a DLL that talks to the wacom/huion driver. There is no way for OpenKneeboard to 'own' the tablet when it's not the active window, so, it makes DCS own it and forward penstrokes/buttonpresses.
- loads a different DLL that detects if steamvr, oculus SDK, or non-VR rendering is being used
- (shouldn't be happening for you) If oculus SDK or non-VR rendering is being used, it then modifies directX or the oculus SDK in memory to also render the kneeboard.
(2) is where the problem is. There's no proper way to do any of this - part of DirectX needs to be rewritten in memory to figure out what DCS is doing. Whatever software is incompatible isn't 'buggy', nor is OpenKneeboard here: any two applications doing this can interfere with each other, and they made need specific code to play nicely together.
For example, the steam and discord overlays work the same way, and both OpenKneeboard and Discord have special code to be compatible with the steam overlay.
from openkneeboard.
Thx for the detailed information. Ther could be two things...
- Discord running in background
- fpsVR app which launches automatically with steamVR and has the ability to inject another overlay... even though I think it was hidden
Let me re-run the test with both apps off, and I will come back :)
from openkneeboard.
Discord
This is likely, I'll see if I can reproduce the problem
fpsVR
While this has /some/ oculus support which could potentially interfere (even when not using an oculus headset), I'd expect it to just be running in steamvr mode for you and not be a problem.
While I'd like to fix (or at least identify) whatever's interacting with the autodetection, I'm also going to add an option to force steamvr and skip the autodetection, which should be a workaround.
from openkneeboard.
- Closed Discord
- Disabled fpsVR launch
- Disabled Geforce Experience In-Game overlay (for recording, was not in use)
Still crashing :(
I found the dump file, and I am also attaching it this time
New_logs.zip
from openkneeboard.
From the crash dump:
C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\dxgi.dll
This interacts with the DirectX implementation, and isn't a normal part of DCS or Microsoft's version from system32 (it has no author data); do you know where it came from? Removing it may resolve the issue
C:\Users\franu\Saved Games\DCS.openbeta\Mods\Services\DCS-SRS\bin\srs.dll
Ok, I know this one, but don't use it :) Is there anything visible in DCS when using it?
from openkneeboard.
Having crashes as well, anything that could draw on top of DCS is: Simple Radio, Scratchpad mod. I think that's it?
from openkneeboard.
I will have a look into dxgi.dll as I don‘t recall what it is …
SRS does indeed show some info, but it is integrated into DCS as if it was a module. There‘s a key combo to show a window/dialog with the connection status and the channels/frequencies. But I inow people using it together with Openkneeboard with no issues, so I will explore the first lead first ;)
from openkneeboard.
OpenKneeboard-RelWithDebInfo.msix from https://github.com/fredemmott/OpenKneeboard/actions/runs/2019411271 may fix this; if it doesn't, it also adds an API choice to the game settings. If you set that to SteamVR it should work around this. Please let me know if it works on auto-detect, and if not, if steamvr fixes it.
Any chance you're using RivaTuner or MSI Afterburner?
from openkneeboard.
I will give it a try: uninstall current version, and install using that .msix
Regarding Afterburner, I have it somewhere (as well as the equivalent ASUS GPU Tweak II), but it was not running, and it is not installed, so the process was not running in background... will double check, just in case, though.
from openkneeboard.
Please let me know if it works on auto-detect, and if not, if steamvr fixes it.
Auto-detect did not work, but manually setting to SteamVR did work perfectly :)
from openkneeboard.
If you’re interested in continuing to figure out what the interaction is in auto detect mode, please leave this open; if you’d rather just get on with using it now there’s a workaround, please close it.
once closed, I’ll lock this issue: there’s a tendency for other people to report new issues by commenting on issues like this one - even if closed - instead of opening new ones which makes it hard to keep track of what discussions are relevant to each problem
from openkneeboard.
It is fine for me to work with no auto-detect. However, if you want to investigate why it did not work, I am available to support and run the tests you want.
I will close the issue now and, if you want to continue the investigation, just re-open/ping me, and I will support to the best of my knowledge :) (I mean, I have my own SW development - shameless plug: DCS Datcard Generator-, and sometimes I feel more offended by a bug, cause I do not understand it, than the users, who are happy with a workaround)
from openkneeboard.
Were you able to try removing dxgi.dll from the DCS bin folder? Other than that, the only clear next step would be to go through task manager and kill everything related to performance monitoring or gaming
from openkneeboard.
Honestly, I had forgotten about it... However, just looked into the folder and looking into a dxgi.log, I learnt it was related to Reshade (I had a user mod called "VR Sharpen color IGM" that was a pre-configured Reshade). I disabled it via Ovgme, and confirmed that dxgi.dll was no longer present in bin folder... and now Auto-detect works!!!
from openkneeboard.
Thanks :)
from openkneeboard.
For now, this is "explicitly use steamvr or don't use reshade", but should be possible to make them play nicely together.
from openkneeboard.
So, brief experimentation:
- latest reshade with defaults installed is fine
- latest vrperfkit is fine
Given OpenKneeboard doesn't care about the specific shaders used, I'm guessing this was an old version of reshade with an older dxgi.dll ; both vrperfkit and latest reshade replace dxgidll with one that doesn't interfere with openkneeboard
from openkneeboard.
Related Issues (20)
- Add 'sim racing' preset HOT 1
- Automatically set the title for web dashboard tabs
- Add clarity or additional options for behavior when changing tabs in the app HOT 2
- `App.json` should not be part of the profiles system HOT 1
- Crash when editing Radio Log after switching profiles HOT 6
- v1.7+ views are not inherited by new profiles
- Add option for persistent recentering
- Stop using TraceLogging headers
- Enable standard-compliant C++ preprocessor
- Enable clang-tidy
- OpenKneeboard is looking for the wrong AH-64D folder HOT 8
- App container error HOT 4
- Jump overlay
- CPU usage when editing VR settings HOT 1
- OpenKneeboard crash when loading DCS mission HOT 16
- Brightness SteamVR
- Corrupted saved games foilder HOT 1
- Make OpenKneeboard Viewer have different titles for each instance.
- Switching profiles does not apply the profiles' DirectInput bindings HOT 2
- Support Kneeboard Live? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openkneeboard.