specialko / specialk Goto Github PK
View Code? Open in Web Editor NEWLovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything.
License: GNU General Public License v3.0
Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything.
License: GNU General Public License v3.0
i'm running a system with a Nvidia GPU (GTX 1070) and a AMD GPU (RX 6950 XT). When I'm playing a game on the RX 6950 XT i'm getting statistics for the GTX 1070 instead of the RX 6950 XT (which is rendering the game)
Hello sir,
When launch this game (dx12 version) with Special K, i will got this error message.
Dx11 is normal, Dx12 will show this error meeaage.
Thanks!
Critical Assertion Failure: stagingFrame.fence.p != nullptr'
Source: ...\imgui_d3d12.cpp:1595
Game: Bright Memory: infinite
Special K Version: 23.6.7
Special K Error
https://i.imgur.com/ePU5hl6.png
UE4 Error
https://i.imgur.com/JujJ5Qd.png
Set up everything with the instructions here and version 2.77 and it works.
Replace the d3d9.dll with 2.78, and you get a black screen (SDR has no problems).
Tested on W10 21H2 with a 3060 and forceware 512.15.
Then, for all I know it may not even be a problem with SK (22.5.30), but Dege didn't particularly seem to care about this niche case, so...
Special K version: 22.7.29-NOCEGUI and above
API: ANY
Summary: There are two components to the issue:
Windowed games with a forced small size (800x600). RPG Maker games such as Pokemon Uranium serve as a case example of this. In this situation, the overlay items are oversized, especially the SK GUI, where none of the right side or the bottom is visible or clickable. This can be obstruct the visibility of crucial game elements.
Games that have important information scattered all around the screen. With some games, this cannot be helped. Putting the SK overlays in any position will still obstruct the information that a player may need in relation to specific games. There is no known pattern of this, and pixel art games are especially affected by this issue.
Expected Behavior: Users being given an option to hide all and any display element of SK, set per individual game. It can be toggled with one button or INI config, but has to be a saved setting for each separate game.
Final Thoughts: Having OSD and widgets will be a very detrimental experience in these situations. It is much more ideal to have a set-it-and-forget-it solution over having to manually toggle it per game.
Special K version: 22.7.29-NOCEGUI and above
API: OpenGL-IK and likely also OpenGL and other API's
Game Engine: RPG Maker (MZ, MV, XP, etc)
Summary: When you start up the affected games, there is a bar of white (or any colour, really) that goes over the title bar. It looks like the top section of the game has been digitally marked with a white highlighter. This also obscures the top portion of the games which often presents vital game data such as health, ammo, progress information, etc.
Expected Behavior: For the title bar to show as it is normally for any window program what is windowed.
Final Thoughts: I have no clue as to what is going on there. It is possible for a setting or combination of settings in SK to cause this issue, but I have no way to verify this at the moment.
Special K version: 22.7.29-NOCEGUI and above
API: OpenGL-IK and likely also OpenGL
Game Engine: RPG Maker (MZ, MV, XP, etc)
Summary: Basically, the mouse stays focused on the game itself, no matter what is happening in overlays such as the SK GUI. For example, with the SK GUI open, the mouse will always stay focused on the game itself.
Expected Behavior: For things like the SK GUI to have the appropriate focus context when it is open or when it is closed.
Final Thoughts: This is a problem that is commonly cited as being caused by Steam Chords and SteamInput. However, in my test cases, Steam is not involved, which makes this issue a bit puzzling.
I know this makes no sense at all considering NvAPI doesn't even work on Linux, but that's what I concluded.
If I launch with NvAPI disabled (by setting UsingWINE=true
), it fails to launch:
It seems to be related to audio.
However, when I set UsingWINE=false
and keep NvAPI enabled, it does launch and shows some dialog boxes complaining about NvAPI. After clicking on "ok" a few times everything seems to work just fine:
It's almost as if the NvAPI error dialogs delay the loading of SpecialK enough for it to not trigger this problem, since SpecialK only continues loading after I dismiss those dialogs.
Toggling NVIDIA.API.Disable
while leaving UsingWINE=false
also allows me to trigger this issue, so I'm reasonably certain it is related to NvAPI (although in a very weird and most likely unintended way). I am also using dinput8 injection right now, but dxgi injection has the same results, so it doesn't matter.
I was hoping I would be able to simulate such loading delay without enabling NvAPI, such that I could enable UsingWINE
. I tried setting GlobalInjectDelay
, but it didn't work as I had hoped.
Also crashes with compatibility config. I'm using the GOG version, if that matters.
Reference:
Line 1026 in 2575f70
As the name of the option, suggests it makes the Window Thread sleepless but in what sense? Additionally how is it implemented?
UPDATE: Seems if I enable texture modding, the issue goes away.
So for d3d9ex games to work, 3 of these have to be enabled:
[Render.D3D9]
ForceD3D9Ex=true
EnableFlipEx=true
EnableTextureMods=true
UseD3D9On12=false
Maybe a popup for future users that they need texture modding enabled when on d3d9ex native games? Or some sort of ini override that will force the setting on if ForceD3D9Ex=true?
**Special K Version**: _Above_ 22.5.30-NOCEGUI
**Game**: Native d3d9ex games. (Tested Blazblue Centralfiction, and FF13 lightning returns)
**Summary**: New versions of SK are unable to get hardware flip in native d3d9ex games without corrupting the output image.
Setting ForceD3D9Ex=true will result in the game's output image to be corrupted. Inputs and audio still work.
For some weird reason, 22.5.30-NOCEGUI has no issues, and is able to engage d3d9ex + hardware [composed]: Independent Flip while the game is set to windowed/borderless. This version works perfectly.
Here is an example of the corrupted image the latest SK versions produce:
![test](https://user-images.githubusercontent.com/7017110/189781259-26a51015-dbad-4904-b451-4ce3ff1f62b2.png)
The SK GUI works, the game does not crash, audio works, and hardware flip itself is initialized; just the image is well curropted.
**How to reproduce**: Inject a version of SK (local or global, does not matter) above the mentioned version into a d3d9ex game, and set ForceD3D9Ex=true and EnableFlipEx=true. Just enabling ForceD3D9Ex just has SK "do nothing," since the game is d3d9ex already.
**Final thoughts**: I came across this yesterday talking to Gias, who was aware of the issue; and figured I'd document this as a ticket. I'm hopeful that the fix will not be too complicated, since d3d9ex hardware flip works in older vesrsions.
Thank you!
Hello,
I have used SpecialK for a long time, mostly for both NieR:Automata and NieR:Replicant. I recently bought a steam deck, and because of its compatibility with games that natively run on Windows I was wondering if there was any way to apply SpecialK to a game within the Steam Deck's filesystem and get it to work so that I could reduce issues and improve performance and possibly battery life.
I have tried to do a manual install of SpecialK to NieR:Replicant, replacing the .exe with the older version as stated in the wiki and replacing dxgi.dll
with SpecialK following the instructions in the wiki, except the .dll
was not found in the game folder under /home/.local/share/Steam/steamapps/common/<gamefolder>/dxgi.dll
and instead under /home/.local/share/Steam/steamapps/compatdata/1113560/pfx/drive_c/windows/system32/dxgi.dll
, where 1113560
is the Steam ID for NieR:Replicant.
This proved to not work, even though it did boot correctly without Steam reporting that it had pulled the correct versions of the files. SpecialK did not appear whatsoever. Is there anything that can be done to make SpecialK work on a Steam Deck through Proton? If not, would there be anything in the works to maybe get it running? Thank you all for your time and assistance.
Edit: I have taken a closer look at the README and noticed that SpecialK does run through Wine and DXVK, which I believe Proton uses, so I have a feeling this might have just been a matter of where the files are at.
Hi there,
The current way to spoof the Steam Online for the "always online" single player games has not work for about a year now. Will it be possible to make it work again in the future?
Cheers
I got SpecialK+dgVoodoo basically working with DK2 (though it easily crashes inside d3d11.dll when you pan around).
D3D11.DLL > D3D11CoreCreateLayeredDevice
D3D11.DLL > D3D11CoreCreateLayeredDevice
dinput8.dll > D3D11_RSSetViewports_Override
dinput8.dll > D3D11Dev_CreateTexture2D_Override
dinput8.dll > D3D11Dev_CreateTexture2D_Override
dinput8.dll > SK_ImGui_ControlPanel
dinput8.dll > SK_ImGui_InstallOpenCloseCallback
dinput8.dll > SK_ImGui_DrawFrame
dinput8.dll > ImGui_ImplDX11_NewFrame
In the live texture view when selecting 'All Textures' I even see some but DumpOnFirstLoad=true
doesn't save anything but a single useless 1x1:
Dumped Name: Uncompressed_E51A1896.dds
Texture: e51a1896::e51a1896
Dimensions: (1x1)
Format: 028 (DXGI_FORMAT_R8G8B8A8_UNORM)
MipLODs: 01
----------------
BindFlags: 0x0008
Usage: 0x0000
CPUAccessFlags: 0x00
Misc: 0x00
ArraySize: 01
AllowStaging
is on.
The logs show lots of
[DX11TexMgr] Impossible to cache texture (Code Origin: 'DDRAW.dll') -- Misc Flags: 0, MipLevels: 1, ArraySize: 1, CPUAccess: 0, BindFlags: Shader Resource, Render Target, Usage: Default, pInitialData: 00000000 (00000000)
[ D3D 11 ] CreateRTV, Format: DXGI_FORMAT_R8G8B8A8_UNORM
Probably cause of this line:
SpecialK/src/render/d3d11/d3d11.cpp
Line 5517 in a47ce3a
I was kinda running out of dlls too hook for medal of honor airborne (crazy how many old things UE3 originally used), when I found d3d11.dll and dxgi.dll still worked.
Active Render API
isn't showing "D3D9→11" though, but "D3D11.4".
SpecialK/src/render/d3d9/d3d9.cpp
Line 1619 in 1e92f3c
Is it possible to call the wait after the present, not before? That would eliminate the lag and make scanline sync basically equal to adaptive sync.
Obvious problems are:
How does it sound to you?
Just by glancing at the code I assumed SpecialK uses Vulkan as the rendering backend. It would be nice to have an option to enable RTX via DXVK-remix (if that's even possible).
There are a lot of reasons to drop JXR in favor of AVIF:
Yes, it's me again, I asked about this format in Discord and Reddit already. I would try to implement it myself, but I have zero experience with DirectX/OpenGL/Vulkan.
Renamed the file to d3d9.dll . At startup Arcania.exe error:
A required security module is not activated.
This program cannot be executed (8007).
See http://www.securom.com/message.asp?m=module&c=8007&l=en for more details.
Description:
Recently it seems that capturing screenshots using Special K at horizontal resolutions not divisible by 32 creates warped screenshots in D3D9 and D3D12.
Steps to reproduce:
Affected APIs:
Unaffected APIs:
Affected resolutions:
Any horizontal resolution not divisible by 32 seems to be affected by it.
Description:
After the update the framerate unlocker is not working as it should. It's getting a maximum of 65 fps in menus and gameplay. At least in my case.
Limiting any number below 65 still works normally.
Steps to reproduce:
Thanks in advance.
Been using SpecialK for this game for a while now and for some reason, after having played for a few hours straight, the VRAM seems to run out of my 3070 (8GB).
If I restart the game at this point, the memory is back to a normal 6-7GB level (which it hold almost always otherwise). The GPU usage also goes to 100% at this point for some reason (with the core clock being max). I have not idea how GPUs handle the scenario of reaching max VRAM, but this behavior of reaching 100% usage is perhaps normal?
I was simply wondering if there is a way to use SpecialK to investigate this more, and also if this is a known issue for this game.
program crashes or keep loading in splashing image no matter which version (high, med or low or custom) i use, in the newest game v1.5.3 v1.5.6
while if i launch SpecialK 10.3 it runs well, though no obvious change happened :O
Special K version: 22.6.30.1
Game: Genshin Impact 2.8.0
Problem Description:
After using special k, the display is abnormal, the viewport seems to be covered with a layer of fog, and the brighter tones.
appendix:
Abnormal display effect:
Hope for help:
How to set it to display normally or how to reset default configuration to display normally.
Hello,
For an automated benchmarking app, doing separate tasks, and sometimes in combination
API to set scanline number during Latent Sync.
ARGS (1): Raster scan line number (integer)
Not timing critical as long as I eventually have timestamp of eventual first frame that this executes upon
API to set frame rate cap (non Latent Sync)
ARGS (1): Frame rate cap number (float)
Not timing critical as long as I eventually have timestamp of eventual first frame that this executes upon
API to enable/disable always doing Flush() after Present(), this stabilizes tearlines.
ARGS (1): true or false (boolean)
Not timing critical as long as I eventually have timestamp of eventual first frame that this executes upon
API to set flag to trigger a white flash (or specified color flash) in the SK's next scheduled frame presentation. Should be at one edge of screen, either left or right edge, enough room for a photodiode tester
ARGS (2):
...edge color of frame flash in RGB value (integer)
...whether I want that frame to Flush() even if I didn't do step four (boolean)
Not timing critical as long as I eventually have two timestamps: (A) of time of flag-set, and (B) of post-Present()
API to set a callback function to send me RTDSC/QPC timestamps of all the various timestamps above.
ARGS (1): Callback function. SK would call my callback to give me a timestamp and what it was for (you could use enums such as TIMESTAMP_CAP_CHANGE, TIMESTAMP_FLUSH_CHANGE, TIMESTAMP_POST_PRESENT, etc)
Not timing critical for API call timing or callback timing
API to set a non-flash color (prevent false alarms with in-app/in-game content)
ARGS (1): Edge RGB color to draw for frames that are not flashed, or -1 to disable (signed integer)
Not timing critical as long as I eventually have timestamp of eventual first frame that this executes upon
The goal is I need item 4 to be able to tell SK's next frame presentation event (whenever it may be, at its existing schedule) to do a "draw flash + Present() + Flush() + immediately timestamp".
As long as a boolean flag in Item 4 can be set anytime randomly during the previous frametime, right up to roughly ~0.1ms (100us) prior SK's next scheduled frame presentation event -- I am happy. Timestamps provide the data that I need for my mathematics. It just simply needs to be a thread-safe boolean variable that the frame-presentation thread can check. And the same thread will also draw the white rectangle immediately before Present()+Flush().
SK does not need to touch/modify frame timing AT ALL. I was able to figure out I can use timestamps to solve my problem.
Flush() is important for certain things like stabilizing tearlines. It kills GPU performance, but it improves lag-test numbers for the purposes of determining display-only latency (GPU-port-to-photons) by nigh completely filtering the computer out of the lag number.
To eliminate timing-precision requirements from API calling, I have worked very hard to eliminate timing-precision requirements for SK, by simply requiring timestamps. Timestamps should be of a microsecond counter such as QueryPerformanceCounter() or RTDSC.
Except where additional timestamps are specified, timestamps are grabbed immediately after the Present() event, or immediately after the Present()+Flush() event corresponding to the said frame in item 1/2/3/4
I just want to be signalled of the timestamps, so I know to mathout/validate/invalidate my test results based on the stream of timestamps.
With all of this data, I have Blur Busters invented algorithms to successfully filter display lag away from GPU/software lag, during lag testing too. (This is called the "Blur Busters beam raced display latency filter algorithm").
"beam raced latency measurements" is an algorithm we've invented to be able to filter display latency separately of GPU/software latency). I would just lag-test all scanline numbers one by one (or binary search towards). After algorithming it all out (on the timestamps), the lowest lag number would be the display-latency only.
Blur Busters plans to open-source this algorithm for all photodiode testers, but we are successfully doing this with our in-house photodiode tester to filter display lag numbers away from GPU/software lag. (IMPORTANT: Credit to Blur Busters is mandatory,
I'm open to using RTSS or SpecialK, just need programmatic control of the scanline number from a background analyzer app if possible -- this won't be used in production gaming, but only during benchmarking sessions.
I realize RTSS might be "Right Tool For Right Job" since it currently has more API capabilities (at the moment) but I like SK's superior scanline sync, so, kind of trying to figure out how to have cake and eat it too.
If SK can do something like this, even as an undocumented setting, I'd be happy! I realize that this might be a big ask, but I bet this will be a big help to a ton of websites including ourselves.
If any lagtest vendors such as OSRTT, LDAT, etc implements beamracing in latency testing, as a method of filtering display lag from GPU/software lag, then please credit Blur Busters. If implementing this algorithm in your photodiode tester software or whatever open source Arduino tester you've homebrew'd. Thank you!
Alternatively, wait for us to publish a white paper on this (preferred), but this is revolutionary for a PC to be able to self-filter its own latencies completely, isolating GPU-output-to-photons latency (aka display lag), for certain kinds of benchmarking, or to colorcode latency bars, or other future visualizations (like framerate-vs-lag graphs for testing all VRR framerates, etc).
Special K version: 22.7.19
Game: Any compatible game/api
Problem: If enabling "Disable Mouse Input to Game" along with "Hide When Not Moved", the default windows pointer will either stay on screen or just "park" itself in the middle. Apparently the functionality worked fine before, but "broke" around the time Replicant was released.
The cursor sticks out like a sore thumb, and sadly makes the "Disable Mouse Input" option unusable.
How to replicate:
Enable "Disable Mouse Input to game"
Enable "Hide When Not Moved" (Set to 0.00 for instant results)
Desired results: When enabling "Hide When Not Moved" along with "Disable Mouse Input", no mouse cursor would be visible in the game window; unless opening the SK GUI.
Special K allows the user to play the game at any resolution they want.
Even FSB only games are supported except when the game loses focus/is closed, the display resolution isn't restored to native.
But actually a simple fix can be implemented to mitigate this.
If possible check if the game window has focus or not periodically, in case if the game window has focus switch the resolution else switch back to native.
Hi! There are some problems with GUI in my system. Launch:
Choose a game in a list from my steam library
Used software: Ubuntu 22.04, Proton GE 7.30. I tried also Steam Proton 7.0, but result is the same, list of games is invisible and after launching a windows/linux game SKIF interface is absent. Log:
2022-08-23 11:11:48.336 INFO [316] [SKIF_Initialize@3082] Special K Injection Frontend (SKIF) v 0.9.8
2022-08-23 11:11:48.337 INFO [316] [SKIF_Initialize@3083] Built 21:31:21, May 30 2022
2022-08-23 11:11:48.337 INFO [316] [SKIF_Initialize@3084] ----------------------------
2022-08-23 11:11:48.337 INFO [316] [SKIF_Initialize@3085] Working directory:
2022-08-23 11:11:48.337 INFO [316] [SKIF_Initialize@3086] Old: Z:\home\~\.local\share\Steam\steamapps\compatdata\3755445415\pfx\drive_c\users\steamuser\Documents\My Mods\SpecialK
2022-08-23 11:11:48.337 INFO [316] [SKIF_Initialize@3087] New: Z:\home\~\.local\share\Steam\steamapps\compatdata\3755445415\pfx\drive_c\users\steamuser\Documents\My Mods\SpecialK
2022-08-23 11:11:48.739 INFO [316] [SKIF_UI_Tab_DrawLibrary@918] Populating library list...
2022-08-23 11:11:48.739 INFO [316] [SK_Steam_GetInstalledAppIDs@173] Detecting Steam games...
2022-08-23 11:11:48.741 INFO [316] [SKIF_GOG_GetInstalledAppIDs@43] Detecting GOG games...
2022-08-23 11:11:48.741 INFO [316] [SKIF_EGS_GetInstalledAppIDs@50] Detecting Epic games...
2022-08-23 11:11:48.741 WARN [316] [SKIF_EGS_GetInstalledAppIDs@75] Failed to read Epic manifest location from the registry!
2022-08-23 11:11:48.741 INFO [316] [SKIF_EGS_GetInstalledAppIDs@79] Epic manifest location: C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests\
2022-08-23 11:11:48.741 WARN [316] [SKIF_EGS_GetInstalledAppIDs@84] Folder does not exist!
2022-08-23 11:11:48.741 INFO [316] [SKIF_Xbox_GetInstalledAppIDs@28] Detecting Xbox games...
2022-08-23 11:11:48.741 INFO [316] [SKIF_GetCustomAppIDs@220] Detecting custom SKIF games...
2022-08-23 11:11:48.741 INFO [316] [SKIF_UI_Tab_DrawLibrary@969] Finished populating the library list.
2022-08-23 11:11:48.743 INFO [424] [SKIF_UI_Tab_DrawLibrary::<lambda_5>::operator ()@976] Begin streaming game icons and names...
2022-08-23 11:11:48.770 INFO [424] [SKIF_UI_Tab_DrawLibrary::<lambda_5>::operator ()@983] Loaded the embedded Patreon texture.
2022-08-23 11:11:48.782 INFO [424] [SKIF_UI_Tab_DrawLibrary::<lambda_5>::operator ()@1169] Finished streaming game icons and names...
2022-08-23 11:16:35.060 INFO [316] [wWinMain@6376] Writing last selected game to registry: 337000
Save file (set m_bIgnoreDLCRequirements=TRUE
if loading returns an error)
Incredibly enough, if you just turn the camera 180° from the precise exact spot where you get the infamous AMD black blob issue, you have darkened texture in D3D9Ex (and some very overbright reflection, if you just drive 40 meters till the end of the slope).
I have some very random feeling this may relate to some gamma voodoo, but of course it's not like I'm the one educated here.
log shows this.
[DLL Loader] ( sl.common.dll ) loaded ' C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispig.inf_amd64_805ccc89d82a60a4_nvngx.dll' { 'NVSDK_NGX_D3D11_Shutdown1' }
Maybe this loss of brightness could be alleviated in some way? Gamma correction possibly? I have also noticed that there are devices which are actually inserting red frames instead of black, so maybe the choice of color for inserted frames could be explored as well?
Currently the work around is to rename existing
Reshade64.dll to dxgi.dll and SpecialK64.dll to d3d11.dll
or
Reshade64.dll to d3d11.dll and SpecialK.dll to dxgi.dll
effectively enabling reshade to handle it's own hooking
instead of reshade importing anything.
This work around is good so far for everyone except those
who are experimenting with the Windows DXGI to DXVK swapchain.
As we are all looking forward to newer graphics being better implemented
I hope this long known SK bug is revisited.
Problem: If a texture that should be injected has not been loaded yet and "Reload All Injected Textures" is executed, the texture will not be injected when loaded by the game.
Step by step:
UNORM_SRGB
as decribed here: #12 (comment)99E85597
has not been loaded yet:Local install create Profiles\AppCache in root folder of installation disk, with whatever localized or centralized profile.
It should save AppCache in <path-to-SpecialK>\Profiles
or installation folder.
Version: 22.9.26
Special K version: 22.8.17.2-D3D9-IK and above
Game: Any compatible API
Summary: The current behavior of screenshots taken when an achievement is obtained stores the image as if it was any ordinary screenshot taken with F9. This makes the image hard to find among dozens or hundreds of other screenshots in the folder.
Here is my Dragon Quest 11 folder, while there aren't many image files yet; I still can't see which screenshot is related to an achievement at a glance.
Suggested Behavior: Screenshots of Achievements that are automatically taken via TakeScreenshot=true
will either:
A) The filename of the image will be achievement_name.png . For example if a player obtains the Enkindle achievement in Dark Souls 3, and a screenshot is taken, said image will be stored as Enkindle.png
B) Achievement Screenshots will not only be renamed, but also exist in their own folder. One that comes to mind would be /Special k/Profiles/[game]/screenshots/achievements/
.
Using the "Enkindle" example from A ,the image would be stored in /Special k/Profiles/Dark Souls 3/screenshots/achievements/Enkindle.png
This would be the ideal implementation.
Final Thoughts: This change might be small, but will result in creating photo albums of memories we've had playing games; all in one convenient folder.
Thank you!
Description
There is two bugs related to OpenGL-IK and the Compatibility section of Special K:
Disable All But The Active API
disables OpenGL
as well and only leaves Direct3D 11
enabled, causing SK to not go active on the next start of the game.Direct3D 11
instantly freezes the game entirely.Reproduce No. 1:
Disable All But The Active API
.OpenGL
option also got disabled.Reproduce No. 2:
Special K version: Any
Game: Mega Man Battle Network Legacy Collection Vol. 1 + Mega Man Battle Network Legacy Collection Vol. 2
Summary: For whatever reason, the game dims after gameplay with third party software injected into it; to the point where it becomes a black screen after ~20 minutes
Suggested Behavior: A fix has been found. For MMBN_LC1.exe
and MMBN_LC2.exe
either have the compatibility profile as default to be 100% safe, or just these 4 lines would do as well.
[Input.XInput]
Enable=false
[Textures.D3D11]
Cache=false
[Steam.Log]
Silent=true
[Window.System]
DontHookWndProc=true
Note: The compatibility profile does not have DontHookWndProc=true
-- so technically it would need to be the compatibility profile plus that setting
Conclusion: Multiple users hop in the discord for the first time asking for help, only to be sent to change those settings. Having them as part of SpecialK's default would mitigate said user's issues, and they'd be able to enjoy the new legacy collection with SK!
As noted on Discord, if custom_SpecialK.ini
has Unix line endings, and there's a newline at the end of the file, the directive on the last line gets set to false no matter what. Presumably it's being read as "true\n", which isn't a valid boolean value, so Special K just sets it to false. If there isn't a newline at the end of the file or you switch to Windows line endings, the overrides work as expected. Because many editors default to Unix line endings and adding a newline at EOF, this is an edge case worth looking at with, presumably, a very simple solution since the bug doesn't affect default_
and master_
files.
Verified in both mass effect, and HL2 (in an inception of flags to avoid the game itself from starting natively with 9Ex). When crashing on start the latter told me:
Error 0x8876086C: D3DERR_INVALIDCALL: The device or the device driver may not support Direct3D or may not support the resolution or color depth specified.
Hey, im use Special K with COD : Infinite Warfare [iw7-mod]
This game is stuck at loading screen, it seems it comes to infinite loop...
Screen:
https://imgur.com/6ASUEtD
I try to set compatiability mode, however this game still stuck into infinite loading screen.
Any tips what parameter can i try?
Many thanks.
Hi,
when launching and dumping textures of Ghostrunner everything works fine.
But when injecting the original textures, even without modifications, the game crashes when loading these textures.
Sadly the logs do not give much more info:
07/20/2022 18:30:02.041: D:\Steam Games\steamapps\common\Ghostrunner\Ghostrunner\Binaries\Win64\Ghostrunner-Win64-Shipping.exe: LowLevelFatalError [File:Unknown] [Line: 258]
Direct3DDevice->CreateShaderResourceView(TextureResource,&SRVDesc,ShaderResourceView.GetInitReference()) failed
at E:/UnrealEngineOML_Source/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Texture.cpp:1315
with error E_INVALIDARG
07/20/2022 18:30:26.099: D:\Steam Games\steamapps\common\Ghostrunner\Ghostrunner\Binaries\Win64\Ghostrunner-Win64-Shipping.exe: LowLevelFatalError [File:Unknown] [Line: 907]
Rendering thread exception:
LowLevelFatalError [File:Unknown] [Line: 258]
Direct3DDevice->CreateShaderResourceView(TextureResource,&SRVDesc,ShaderResourceView.GetInitReference()) failed
at E:/UnrealEngineOML_Source/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Texture.cpp:1315
with error E_INVALIDARG
I am using the pretty much the default settings for SpecialK with activated injection as for other games where these settings work fine.
Am I missing some settings that need to be set or is this game just not compatible with SpecialK Injections?
Best regards
I tried to use SpecialK to monitor my engine, but unfortunately, the in-game GUI don't seem to have received any keyboard or mouse messages.
Unfortunately, I am not familiar with hook technology.
Engine source code: https://github.com/Legacy-LuaSTG-Engine/LuaSTG-Sub/tree/no_win7_win8x
Hi,
SpecialK doesn't seem to hook properly if the game is launched using the default native game launcher (TaleWorlds.MountAndBlade.Launcher.exe).
It appears to only work if the game is launched directly through using the Bannerlord.exe or Bannerlord.Native.exe file instead.
Using a custom launcher also does not appear to let SpecialK to hook properly:
https://www.nexusmods.com/mountandblade2bannerlord/mods/1?tab=description
(Using BSLE is preferred because of the numerous advantages it has when running Bannerlord. i.e. Bugfixes, Load Order Sorting, etc.)
Here's the following log files if it's run through a launcher.
d3d11.log
modules.log
crash.log
Here's the log files that get generated if using Bannerlord.exe directly instead.
d3d11.log
steam_api.log
game_output.log
modules.log
dxgi_budget.log
I have been using Special K version 22.3.11.3 with FFXIV for a couple months now with zero issues. I'm not doing anything fancy, just using it as a frame limiter and for getting g-sync in a borderless window.
Today I tried upgrading Special K, and now when I alt-tab out of FFXIV the window doesn't actually lose focus, so it keeps running at full FPS and with all sounds on. I tested with versions 22.5.30, 22.6.22 and 22.6.30, and the behavior was the same. I know there's a way to limit FPS and mute sound of an inactive window with Special K, and those do still work with FFXIV. However, I'd prefer to do those things from the game because the game lets you configure certain sounds to come through even when not in focus.
In Special K, "Continue Rendering" is disabled, and I don't have anything else enabled that looks like it would cause this. If I switch back to 22.3.11.3 alt-tab starts working normally again with the same config.
The only set-up that I could find to make it work as expected was to have SK force the game into a window (i.e., with title bar, etc.) and then it would deactivate properly. But obviously this kind of defeats the purpose.
I tried the following troubleshooting steps suggested on Discord but they didn't fix the issue:
(1)
[Display.Output]
ForceWindowed=true
[Window.System]
Borderless=true
Center=true
RenderInBackground=false
AlwaysOnTop=2
(2)
[Display.Output]
ForceWindowed=true
[Window.System]
Borderless=true
Center=true
RenderInBackground=false
AlwaysOnTop=-1
(3)
[Display.Output]
ForceWindowed=true
[Window.System]
Borderless=true
Center=true
RenderInBackground=false
AlwaysOnTop=0
This will be perfect
I am interested to know how Special K can spoof CPU cores.
I have checked diagnostics\cpu.cpp
, but I can't find any function that sets the Spoofed CPU core amount.
Am I missing something?
I'm using a tool for Sims 2 that infers vertex and pixel shaders. In a specific scene, I can see a list of vertex shaders, and when I click on a vertex shader, I can see the textures it uses. I'm wondering if it's possible to replace these textures. Is it possible to infer the dimension of the texture so we can replace it with the exact same dimensions? The format of the texture is available, so it should be easy to convert the new textures to that format.
I am using Special K to mimic borderless fullscreen. After using Alt-Tab to move away from the game and then coming back, it is impossible to select any other character except Edge for changing either Tactics or BEAT. I tested to see if this was an issue without Special K active, and didn't have the same issue come up. The error doesn't always happen, but seems to be fairly consistent as I was able to reproduce it after Alt-Tabing, playing for a bit, Alt-Tab again. Seems most reliably reproduced when using Alt-Tab from the camp menu.
Edit: Reloading a save does not correct the problem, only completely shutting the game down and restarting it seems to correct it. Until it triggers again.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.