Horizon: Zero Dawn

Renaming specialk64.dll into dxgi vs. Skif app is the same thing?

Essentially, yes. The only difference is that dxgi.dll only affects Horizon: Zero Dawn, while SKIF also injects Special K into other running Steam games.

That is actually interesting. Might have to look into that.

1 Like

So if i rename specialk.dll into dxgi I can’t use it in other games? (purchased games).
I must use the special k app? And what about uplay games or red dead redemption 2 on Rockstar games launcher? I just want to frame limit the games with special k awesome frame limiter.

Please if you have time can you make a tutorial for noobs like me on how to inject special k frame limiter in other games as well? Step by step?!

interesting, might me useful in others games like fallout 4

You always have two methods of injection for SpecialK:

  • LOCAL - WHere you put a .DLL in the game folder, normaly in the name of DXGI.DLL
  • GLOBAL - Using SKIF.

Some games behaves better with one or another.
If you want to inject other stuff (eg Reshade), you need some thinkering on both.

Even so, unfortunately , it wont work on all games. I wish it would, because of this god tier frame limiter.

Click the Wiki link on the top of the page. It is essentially a repository of various guides and step-by-step instructions on how to achieve various things with Special K.

The recent updates have all been minor so far, but there is more to come. I believe Guerrilla has been working with IHVs (at least AMD) to improve the HDR rendering, we’ll have to wait and see.

Could you elaborate on that?

Ive been running Horizon, Epic Games Launcher, and SKIF (with this DLL Horizon: Zero Dawn - #284 by Kaldaien) in admin mode the whole time and i haven’t noticed any problems.
The game runs solid 60 on 1440p with clouds to high and reflections to medium, very little stutter, and no crashes since using the modified DLL.

The only problem i do have is the game most of the time turns off HDR, i have to set the game to fullscreen exclusive, alt-tab, deactivate and reactivate HDR in windows, go back into the game and wait a second for the screen to turn black briefly, if HDR is still on after the brief black screen i can set it back to borderless window, if not rinse and repeat until it works.

5700 XT Nitro+
i7-8700k
16Gb RAM

SKIF sets up a hook in Windows that tells it to inject Special K’s DLL files within all processes that have some form of window. This is necessary to allow it to work, and is a technique used by e.g. Afterburner/RTSS as well.

This method, however, is limited to the security context of SKIF — meaning running it with regular privileges ensures only user-level processes gets hooked.

Running SKIF as an admin will cause Special K’s DLL files to be injected into critical system processes of Windows, where it may or may not cause an issue.

So while it might work, it’s neither recommended nor supported, and you might experience weird and unexpected issues in Windows as a result if Special K’s DLL files bugs out into a critical system process.

1 Like

In general there should almost never be a reason why SKIF would need to run as an administrator. It can function just fine while running with regular privileges. Running with administrator privileges means it can end up in critical processes it should really keep away from, including some games with anti-cheat protections that actually runs as an elevated process as a sort of security barrier from the rest of the OS. And said anti-cheat protection might not approve of Special K’s DLL files.

If SKIF can’t inject Special K into a game when it’s not running with elevated privileges then that suggests the game itself is running with elevated privileges. And if that’s the case the solution is to discover why the game is running with elevated privileges and then solve that issue – or use local injection if it can’t be solved.

Neither Steam nor its games should as a rule never run with elevated privileges. There’s a few exceptions, yes, but they’re the minority.

The exceptions include:

  • Older games running with compatibility mode of XP or older (which enforces admin rights for the process for compatibility purposes).
  • Games with active anti-cheat protections that might require admin rights to set everything up correctly.
  • The occasional one-time launch of a particular game that attempts to write to file locations it does otherwise not have permissions to write to (really rare; recently the new Flight Simulator game is an example of this).

Edit: I said “almost never” at the top because the few times I actually run SKIF as an administrator I do so because of diagnostics or experimental purposes – I knowingly attempt everything I can to forcefully inject Special K into various system-related processes to see what happens and what the results are, while being conscious of the multitude of issues that might occur as a result of my experimentation.

It’s partly how I discovered that Special K can be injected safely (without admin privileges) into Win32 based games on the Microsoft Store, for example, as well as reinforced its current inability of handling real UWP based games.

2 Likes

Yes, I use this in several games because I usually use enbseries + reshade and other mods (besides making the game folder more organized) XD

What did you rename dinput8.dll? That name or dxgi doesn’t create any folder(s) for me.

Ha I finally got it to work. Thanks man. I didn’t realize the reshade dll that I normally had as dxgi. dll had to be ReShade.asi and not dxgi.asi lol. Now the game loads reshade and uses SpecialK as well. Was wondering what I did wrong. And you got to make a folder called scripts. and put reshade folder, reshade.ini file in there with that script file. And I left all preset files in main directory where exe is.

1 Like

in this game the name that worked for me was “wininet.dll” just change the name of dinput8.

you can create the folder

spoiler

https://imgur.com/EP7iIO2

exactly XD …

You can also organize all the reshade and its settings inside the script folder (it is well organized)

Critical system processes are not running in the Windows shell. CBT hooks only go into processes that are invovled in system input.

The real reason I do not want anyone using Special K as admin is because it could be exploited by malware authors since it is open source.

Ah, I see — I have to remember that.

Gotcha, thanks for clarifying.

Seems the mod was updated to fix DirectX 12 related crashes as well.

I have yet to personally test this file myself (steam_api64.dll after all), but some here might be interested in trying it out to see if it solves their crashes… Use at your own risk though.

2 Likes