Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I have work-arounds for GeForce Experience, but any other software that tries the same thing is going to confuse my auto-detect. Likewise, I can confuse their auto-detect and it's a really nasty feedback loop. If you know the graphics API, you can go into Documents\My Mods\SpecialK\Profiles\<game.exe>\SpecialK.ini and turn off hooks for all the other graphics APIs.
It would be helpful if I knew what was triggering the false detections on your system though; probably video capture.
Press and Hold Ctrl + Shift when you start a game, you can force Special K to use a particular render API if you know what the game uses.
Or, well, the results are only identical between launches with the game HunieCam Studio. I thought Legend of Korra was identical as well, but further testing proved me wrong.
HC Studio through Steam: https://i.imgur.com/3SHP7Sm.png
HC Studio through executable: https://i.imgur.com/inPkHWD.png
The game doesn't work either way, but through Steam Special K and the game crashes completely, while through the executable Special K's update promp fully seems to work and is stable, but the game has frozen in the background and must be killed through Task Manager.
I still can't find any other stuff injecting into the games, but I'm going to uninstall a bunch of shit and see if something changes.
Edit: Steam reinstalled completely and a ton of applications uninstalled. I've at most around 40 processes running on this machine now when Steam runs.
The game doesn't come up when I launch games through the Steam client, but then Special K doesn't seem to be loaded at all and the logs don't get updated.
I've tried installing the Windows 7 Platform Update ("not applicable to your system") and the KB2533623 ("already installed") but seems that both were already installed.
Got any ideas?
How do I confirm that the global injector have been fully uninstalled? SKIM64 reported that it was installed but the DLL files remained, and the prompt regarding the DLL file came up when I launched another application so my guess is that there's broken remains of Special K wherever you add them.
That might also explain the other issue? If Windows tried injecting Special K twice or something like that into every application due to remains from previous failed installations, maybe?
----
Should be fixed now.
As for uninstalling, it's not possible to remove those DLLs usually because they will be in-use by other programs. SKIM64 removes the Windows registry keys that causes them to be loaded, so that's just as good.
Programs that are currently using them will continue to do so without having the DLL pulled out from underneath them, but no new programs you launch will use them.
That said, I believe some of the steps I've taken to try and fix the original issue have caused some other issues as well, mostly related to the D3DCOMPILER_47.dll file. Remember that this is one a Windows 7 x64 machine, and between each version tested I completely removed the content of Documents\My Mods\SpecialK and extracted the new files to that same folder. I'm having trouble finding a good 64 bit game to try out with, so I'm primarily testing using 32 bit games.
---
0.7.25 - (or whatever version SKIM 0.5.13 installs) - Works without any issues (Special K OSD shows up in games and/or prompts me to update). This behaviour seems the same up to and including 0.7.31.
0.7.34 - Special K doesn't show up in-game any longer, and the D3DCOMPILER_47.dll warning comes up when launching 32 bit applications. No future version of Special K works, but 0.7.63 solves the warning at least.
If I add the d3dcompiler_47.dll and d3dcsx_47.dll files under System32 and SysWOW64 per your instructions on the Release page on GitHub then Special K starts working again, albeit only for a couple of versions, up to and incuding 0.7.45.
0.7.46 - Special K stops working again, regardless of the D3D files. I can confirm that Special K is at least being loaded since I get the D3D warning prompt if I don't have those files in the sytem folders, but Special K doesn't prompt me to update nor does its OSD show up in-game. This behaviour seems the same up to and including 0.7.63.
0.7.46[github.com] only seems to have changed how you're storing the mod configs? And some minor debug things as well I guess. Anyway, both %UserProfile%\Documents and FOLDERID_Documents points to the same location according to Powershell.
It's possible that Microsoft have bundled it into the monthly rollup they're nowadays releasing, but I'll take a futher look into it in 9 hours or so after work.
I assume as such since you added the dependency on KB2533623 all the way back in january[github.com] with v0.7.27, if I understand the Release page correctly. As I mentioned v0.7.45 works just fine[i.imgur.com] if I add the two D3D files to System32 and SysWOW64, but v0.7.46 does not. The only difference between these versions are how you query for the Documents folder[i.imgur.com] and some additional debug stuff.
I'll probably throw up an additional Windows 7 in a virtual machine just to do some further testing on a completely blank slate to ensure that nothing post-install or third-party stuff conflicts for some reason.
v0.7.45[i.imgur.com] (global injector)
v0.7.46[i.imgur.com] (global injector)
v0.7.46[i.imgur.com] (game-specific injector)
This is on a completely fresh Windows 7 x64 SP1 install which have only gotten the following changes:
* KB2533623 installed
* KB2670838 installed (aka Platform Update)
* Visual C++ 2015 Redistributable Update 3 (both x64 and x86)
* DirectX End-User Runtime Web Installer
* manually installed the d3dcompiler_47.dll and d3dcsx_47.dll files in the system folders (fixes the global injector for v0.7.34 and future versions)
To summarize, the global injector have the following bugs in Windows 7 x64:
* d3dcompiler_47.dll and d3dcsx_47.dll doesn't get automatically downloaded or whatever you do with them. So if these don't already exist in the system files (manually installed) the GUI won't show up at all. Issue seems to have begun in v0.7.34.
* GUI won't show up at all in v0.7.46 or after.
These issues only affects the global injector and not game-specific injections! Game-specific injectors work just fine without these bugs up to and including v0.7.64
I am actually questioning whether or not it's even worth it to bother with Windows 7 for the global injector at this point. The lack of an automated install of d3dcompiler_47.dll and d3dcsx_47.dll ensures that even using the automated installer will result in a non-working Special K install if the user updates post v0.7.34, and the user folder bug that was introduced in v0.7.46 breaks it even more. However everything works just fine when using manual game-specific injections... :|
Microsoft doesn't make this easy on developers, they have a tool that's supposed to validate your software against a bunch of rules for different Windows versions -- it never works :)
FRAPS and Windows 7 are my two biggest enemies while developing this stuff. Both are obsolete in my book, but I'll try to maintain Windows 7 support for at least a little while longer.
This issue have been resolved.
Special K v0.8.1 (and later) comes with a new injection method that solves the incompatiblility issue with Windows 7 as well as Windows 10 Creators Update.
If you recently have had the old incompatible version installed I highly recommend you manually confirm that it is completely uninstalled before installing the latest version.
Do this by running regedit and check the AppInit_DLLs registry entries. Both entries should be empty (or at least not include the SpecialK DLL files) for the old version of the global injector to be fully uninstalled.
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
* HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows