#Display Commander - Changelog
1 messages · Page 1 of 1 (latest)
Absolute W
@tame dock my suggestion for DC2 is being as modular as possible. I think the ability to kinda only choose the features you want would be nice.
Using DC1 as an example, say I didn’t want dc to touch texture filtering at all, I could disable and hide that section
I was just using that as an example
Like a build your own type of deal. Give me the fps limiter and frame time graph for example
Right now I’m thinking you have a default set of features and a tab or menu somewhere that has checkboxes and a brief description of the feature.
I’m not sure what you imagined for the ui
If it was planned to be similar to dc1
Yeah. It could be right aligned so it’s always there but not in your “features” cluster on the left
I was thinking like how in dc1 you have like 10ish dropdowns on the main tab. Each one of those would be “feature”
So it wouldn’t be that many. Especially not at the beginning
Keeps it clean and minimal to not overwhelm people but lets you turn all the dials if you want to
Honestly I need to look at DC1 again
Not home rn though
Display is the obvious one
For resolution, forcing borderless, etc
An fps limiter as well obviously
I’m not sure what you mean exactly. Are the spaces different drop downs?
menu design
I think like things being separated more
Like display is just res and window mode and such and then an fps limiter section and a dlss section etc etc
having too many sub menus isnt good
those are all "common" features
well dlss should have a seperate section, i do agree with that
It’s not submenus, it’s just different headers
like this ?
blank rows between sections
#1484495867586281493 message
Yeah
Each one of those would be a drop down
And you could disable and hide that section entirely if you don’t want DC to touch it at all
Keeps bloat down and makes it easier to learn
I guess it’s really toggles for feature sets more than it is for features
good menu, i also like when menu have a indicator that show there is more than 1 option, exemple the little white boxes in the rainbow six siege menu
of course, i was talking more about fps limiter types etc
i not reading dis shit
set custom font
and spacing
consolas, cpmono v07, relicus
idc just make it readable
im pretty sure you dont need ttf file at all, ask claude how to built it in
yeah you need independent renderer to do it
its imgui so it should support every api
no you can hash it in or something like that
similiar to icon
Damn, you should ask less politely, even 
too much green on his life
i agree with the whole idea, display commander 1 is giving me headache
too many option and we get lost
last time i needed the feature fakefullscreen and couldnt figure out
@eager pine this is kinda the perfect time to work with pmnox if you have anything with displaycommander you want that could help rdxc lol
well actually i think im wrong its not that
i needed something for forcing borderless
on opengl game where i cant use specialk with my intel gpu 
🫡
ahj its per game ?
with rdxc now what i've started doing is actually keeping everything local to the game except reshade
it was becoming really difficult to manage deleting shaders and moving to global shaders when people swapped between using dc or just reshade and ended up quite confusing
now how rdxc works is it only ever looks for reshade64.dll in the global folder but i keep everything else with the game exe which people find easier to work with
ideally everybody would use dc and it would be simple but they dont
imo i think this would just make things harder to manage
Hmm
oh thats why no longer updated lol
Sorry that happened to you
Just my 2 cents, all I ever use is the frame limiter. Ever
But I only really play newer games
Pretty sure you can throw the old code in Claude and say "make this different enough to avoid licencing implications"?!
🙃
Ah I see
Just how_different_ does the code need to be? Seems such a grey area
welcome to the debate that has been raging sense the first ai images popped up :)
No doubt!
We can't be far away from the point of no return, where everything is fair game. Obviously not saying that's a good thing but it's inevitable
id argue the game folder or the pictures folder in windows is a better default. its kinda buried in that folder
oh i see
i mean it would be a good option to have
but you should still support game folder for sure
I wonder if this would break if using Linux
like only load from there if the file doesnt exist in the game folder
its weird, i refreshed rdxc 15 mintues after i refreshed it before and theres no new DC version. Something is wrong in the universe
@eager pine what are your thoughts on defaults for DC file structure? for rdxc
each game at least on Steam has its own prefix which has drive_c folder structure inside it, that is why I'm wondering if anything global will stick
are you interested in tightly intigrating with RDXC? or do would you prefer to let him do his own thing?
you could basically have someone making your SKIF lol
i just mean it could be valuable to work with him for the sake file structure choices
id imagine RDXC will likely be the way mose people use RENO and DC2 eventually
i agree. I just mean talking to him so the file structre is condusive to working with RDXC without too much custom ini jank
it would just be a good thing to consider is all
oh okay lol
i personal prefer things locally
yes pleaqse
i have actually started to prefer having everything saved local to the game
rehade64.dll it doesn't really matter about that as it's the same for everything, barring vulkan
but shaders, profiles etc being local makes everything waaaaay eaiser to control
gotcha
move to russia to be able steal all their shit from github and apply 10 layers of obfuscation
Abandoned Project
DC Support
🥹 🙏
is DC back? 🙏
It's so back
DC is back!
I’ll change DC to be GPL-3

oh Lord he riseth!

if I may be so bold, what made you change your mind?
The main purpose of DC, isn't the code itself, it was always about finding what general features are useful in games, that aren't provided by developers. The code itself can be rewritten later, it isn't that important. I may as well make it GPL-3.
So DC2 is on hold then?
I can publish it. The main point is that by releasing DC as GPL-3, brining repo up, decreases the need to rush anything.
It looks like people would would rather DC be fixed to support new games, than prioritizing DC2, so will be given lower priority.
Honestly I think i have the opposite opinion
A fresh code base you can build up slowly and reliably to be stable with minimal AI slop that nobody can understand lol
Exactly, not all features will be available imediately, so there is no need to rush half-baked features.
So you’ll be working on DC2 while providing stability updates to DC1?
If I’m understanding
Yeah.
That sounds great
For example, the stats were written in messy way in DC1, due to FPS limiter changing constantly.
Rewring those in the middle, without breaking anything is hard.
I know rankFTW started a similar project when we were under the impression you weren’t coming back so I’m not sure the best method to co-exist
Who knows, perhaps most people will be happy with rankFTW project, and people will favor it rather than DC2, making DC2 irrelevant.
rankFTW may also write it in such a way, that's deeply integrated with RDXC, for creating folders, and such, which wouldn't be possible with DC, due to GPL-3 licensing issues, etc.
Or may not want to support it at all, etc.
I'm happy with either you supporting original DC or working on DC2
The main question for DC/DC2 is what functionality it provides from the user perspective.
DC2 starting out as a "lite" version at the beginning would be ideal for my use case as on Linux not all original DC features actually work properly and I even managed to brick a game a couple of times since some features are Windows only
I mainly need fps limiter/frame pacing and sometimes window management
RankFTW has exactly those features.
At leasts that's what it looks like.
I'm not entirely sure RDXC is Linux compatible? I like to use DC since I already use Reshade for Reno
RDXC is just a launcher. Whatever RankFTW is writing, will likely be some dll that's shown inside the game.
what you cooked up worked wonders in the past so I'd rather use something I know has worked in the past than move on to something I have to fiddle with again
It may be easier to mantain DC, and clean it up, by removing uneeded features, such as games tab, injection code, etc.
I could start by rewriting DC's UI.
So, it can be used for DC2, and later rewrite internals.
I'm not actually personally sure what else DC could do that I could ever think of. Unless it can start giving us winning lottery numbers.
also a bit of my own fault that I had to click some volume control tab open when I know it is made with Windows in mind, of course it is going to fail monumentally on Linux
It's not your fault. All, features that don't work on linux should be disabled.
Thanks to you, I added checks.
Ma, get the camera, I did something!
Hangs picture of the Discord chat log, taken on a Kodak.
For example, recommendation on what to optimize, list of marks, on what's not optmized.
I'll try to brainstorm more, I still install DC into everything possible.
For example:
- recommended swap chain upgaded
- recommended low latency mode
- ...
Those things, are already implemented, but it's hard to find in the UI, you need to know what to look for.
It's kind like things, Special-K does by default, but you have to manually op-in, and you know a change was made.
So, you know which feature causes crash, or improvement, etc.
It’s possible the end goal for DC could be more power user focused while rankTFW’s could be a little more light weight
A question,
Is default commander settings the best ones? Or are they defaulted for compatibility? If so, what is the best settings?
Basically, in the middle between rankTFW's and Special-K ?
They are defaulted for compatibility. Though, usually extra settings help much.
What do you recommend? I have vrr cap on, nothing else changed
idk, id have to check with rankTFW and see what his goals are
There are settings, like low latency mode, max limited frames, etc. that help improve latency in some cases.
Though, nvidia doesn't enable them by default for a reason, usually they may be causing isues in soem games.
And, games may be small.
What happened to Display Commander? lol
The commander has returneth.
TLDR licensing issue were getting resolved.
Licensing?
Yeah, it's not GPL-3.
Basiscally, a rule exists, that even if you use one function, from anothere GPL-3 project, and relase it, you need to convert it automatically to GPL-3. Kind of like cancer spreading.
You can't really ever cut it out, for pratical purposes.
🤔
That's why Microsoft called it a cancer. Imagine having 1m lines of code, and even accidental release of 10 lines of GPL-3, would force you to convert the whole thing to GPL-3. I think it's bulshit, I just found about it.
Convert, and relase all code as GPL-3.
so, form now on, anyone using code from DC, even irrevelant parts, will have to convert all their code to GPL-3, etc.
Anyway, it's fine, I converted repo to GPL-3, I'll live with it. I'll try to avoid reading any GPL-3 code in the future.
I mean. If you've already bought into it does it really even matter anymore?
I can't release DC as MIT, as I originally planned.
Well, not easily, as there will be always some doubt, that GPL-3 code may remain.
What does that stop you from doing? Can't charge for the feature or something because of the license?
I'm unable to release code as library, etc.
Even if someone were to use a library, they would have to convert whole code to GPL-3.
Hence the cancer analogy
LGPL-3 exists, which allows to use such libraries, and only requires posting modifications to the library code.
TLDR I don't like having GPL-3 code on my drive, just to make sure some LLM doesn't pick it up.
It was the case with DC, due to my mistake.
RIP. Sorry to hear that : (
In this case it was my legit mistake. But I've seen LLM read files from where it wasn't supposed to.
I thought I was careful enough, but apparently not.
I could also split, the loaded from DC2, as independent project.
It would be able to load DC/reshade from local/global locations, etc.
Act as DLL proxy.
Maybe, with it's own config file.
Ideally, some modular design would be good from what I'm seeing.
I use everything locally as global injection stuff is usually configured to work with Windows so folder structures are most likely not present in my use case

I have it mostly ready, but I need to do some cleanup, and do some research. For, example technically each binary release should include an UI, to display all licences, etc. Lot of things, I need to clean up, like that.
Is that completely true though? There's licenses like CDDL that are incompatible with GPLv3. CDDL requires any copied files to be CDDL, and GPLv3 requires all source code of the software to be GPL compatible. If you had a GPLv3 project, used CDDL code, and distributed it, you would neither be able to relicense the project to CDDL nor keep it as GPLv3 without violating licenses. This hypothetical doesn't apply to DC since the lack of a license doesn't inherently create incompatibility, but the more I read into it the less it seems worthwhile to invest into GNU plagued code.
I'm not a lawyer. But, from what i'm reading GPL-3 requires you to provide license for all patents needed for the code to turn, which is to prevent patent owners from sueing users. If you can't do it, you are in breach of agreement.
Breaching an agreement or not, doesn't mean you have to do it automatically (because it may be impossible for example), just that you are breaching agreement, and are liable to whatever legal consequences are by the law.
Not complying, would mean, that people would be hesistant to touch/distribute the binary, due to it's unknown legal status (true or not is irrelevant).
I don't want to put users in that state of having to use binary with uknown legal status. This is the deciding factor for moving with GPL-3, despite my disgust dislike of having to be forced to put GPL-3 licence over DC.
Yeah, you can't un-GPL what you've already GPL'd, I just think that continuing to fix DC1 is counterproductive and I really like this suggestion for DC2: #1484495867586281493 message
Actually, you can un-GPL project for feature releases of the code, but you have to have a proof that's done. It's would be messy to do so, requiring inspection of every line/file of code.
It's too late for DC. For that, I would have to proof that my method of writing code was clean. Which, I intented to be clean, but I messed up. Probably, 99% is save to move to new project, but instead, I can rewrite the code in fraction of the time, with less bugs, less lines of code, etc.
Im not really into these license issues but what I dont quite understand is, what is the issue with just using gpl3 for DC?
In general it's fine for the end-user. However, I want to keep my computer clean out of GPL-3 code, from other projects, because LLM may pick up some code from other projects on the same machine (theoretically), without me knowing.
It shouldn't, but what if does, kind of scenerio. I want to avoid finding out a few months after the fact. Like in this case. As I planned to make DC Mit code.
rip, would need a seperate environment just for DC development in that case i guess
In general it's fine, I see which files LLM is reading, but being able to say, my PC is free of GPL-3 code, is a good standard practice IMHO.
Though, this also puts more work into it, as I have to read all LLM transcripts, including thoughts to double check.
For DC2 it's fine. As I include resources, what code is based on. i.e. link to official documentation, public api headers, etc.
And, I also converted .gitignore to be a while list, so LLM doesn't include any extra files, etc. Like scripts, etc.
Also, DC's code contained a lot of experimental code, i was playing with testing how features work, etc.
A code, I should have never pushed to repo, even though I planned to only put in code temporarily, etc.

Even if I put a code as an experiment, it may already violate GNU agreement, because someone may say that a temporary build is already a released binary to public. Those are downsides of having public code on github, which wouldn't be an issue for closed source code, as private company, may be able to revert all changes and notice the issue before the release. I didn't realize I have to pay attention to stuff like that. So having a dual-repo public/private may be a good idea for DC2.
Also, for safety of other projects, I shouldn't be linking, showing screenshots of DC anymore. As someone, could questions their code, if they were to implement it like that. Like, I shared screenshot of the code, how I do when I was asked a question to RenoDX, etc.
Same thing, as Kal showing Special-K code, to improve DC, situation.
What?
If I share a snippet of my own code, as the copyright holder, it's not subject to the license terms for the project as a whole.
If it's code written by one of Special K's contributors, on the other hand, I'd need to get their authorization to grant you different terms.
Either way, don't like just paste snippets of code into a project 😛 If you've been shown something, it's to explain how something works rather than expecting you to just integrate it directly.
If you follow that general rule, you'll never have any problems like these.
Yeah, but someone could question it later. For, example like the code, you once shown me, on how to set dpi properly for the game. You forgot about it, and a few months, later, you said there are code similarities so this proof it needs to be under GNU, it's from Special-k.
I would have to keep track, of everything you pasted, to have a written record, I can use that code, which isn't practical.
I'm not saying, this was the only issue with DC having to become GPL-3, but it would be an issue nevertheless.
Like you said, good practice is to understand the code, and implement it not suggesting the original implementation.
At the very least not though LLM, which could just copy the whole code given URL, like it did.
Right. And I wasn't threatening you with any action, I merely pointed out that it's GPL code and the license text for that code is absent from the project.
You're perfectly free to rewrite that stuff yourself and then eliminate any license requirements.
From what I had read on how it works, it's really messy. I wasn't thinking about you sueing me. However, anyone who downloads the binary, could sue demanding the original code to be released as GPL, etc.
I mean, GitHub exists for exactly this reason.
Your concern was more of a valid point in the 90s when the whole (paraphrasing) "source code must be available upon request at cost of distribution" was actually challenging to implement (i.e. developer had to ship a customer a CD with source code).
Now you just make the project repository publically acessible on GitHub/Source Forge/whatever and you've met your obligation.
Well, techically, code in temporaly test build, will never be shipped to the main repo. (i.e. broken code / experimental feature / etc.)
the question here is what counts as release.
That... sounds like a bad idea 🤷
The whole Git "blame" thing works best if you actually check-in all those experimental changes and people can track them back to changes in the code.
That way more than just you has eyes on the code and other devs can actually assist you with stuff.
@placid topaz Main question here is what acounts as release?
- discord exe?
- latest automated build on repo
- latest manual release on github (versioned with tag)
Anything redistributed.
What is "redistributed" ?
Left your hands?
So, there is no way to do safely private testing. Unlike, in companies, that may ship once a month or so.
If that's the case I'll have to take that into the account, and create 2nd private repo, for storing any experimental branches. Before, I inspect all the code.
I stand corrected. "Release" is a public version, basically.
For private testing, it's not an issue.
So, anything in "DC Support" counts as public?
No, you can't get here without an account and joining the server.
That's effectively an internal build.
Ok
Though, anything I push gets build imediately, so I probably need two repos anyway.
At least, so people don't start using broken builds.
All builds are broken. It's software.
Forgive me if I'm wrong, and I'm playing devil's advocate here, but even putting a build out on a closed discord would count as a public release, unless everyone in that discord has signed an NDA technically? Otherwise no one is under any obligation to not share it?
Then the responsibility to make the source code public falls on the shoulders of whoever redistributed the unreleased version of the software, not the developer.
TLDR, you can't legally redistribute the private release from discord. According to this.
Special K's Discord server is part of the Special K organization, the nightly builds there don't need to have source code available, but of course they do because it would be pointless to distribute test builds without the source code being tested 🙂
maybe I should create organization, and distribute software through it. It sounds like more safe option.
I guess, even if it wasn't GPL. You wouldn't have right to redistribute, as no license attached, doesn't mean there is no license.
I mean SK has the licenses written in the help section of the UI, so I guess with DC, as long as it's displayed somewhere, and as with both cases the code is freely accessible (eg. Linked GitHub), everyone who shares/reshares it is technically covered?
I need to update DC, to also show those in the UI.
They are as part of source code dependencies.
Since, source code is supposed to be included with all releases, you are supposed to check it for all licenses.
This does have implications. You can't assume whole source code given will be BSD-3, as some imports may not be, etc.
Oh I meant a link in said software to repo with the full license.
Yeah, I added it
Ie. Kal's included a lot in here, but tbh from what im reading just a link to the repo that contains the full licences is more than enough/
sorted! done! now yeah include a check box so 99.89% of people can hide it for good forever after 😅
Anyway, I added help menu quickly as separate tab, later I'll rewrite it.
actually i dont even think it needs to pop up in your face, as long as its easy to find without special effort, or yeah in a help menu, should be golden
Technically, I need licences version variables. Max licence number accepted, etc.
maintaining the code, means, I have to sort those things out.
I don't know what you mean there, but I trust you're doing the doing your due diligence!
Disagree kills the app, btw.
Technically, I could even add blocking UI, etc. Though this is good enough.
to release DC2, I would have to do the same thing first, etc. I may do those things later.
what do you mean i can't run SK and DC at the same time ffs pls fix aha 
I added this as a feature. Copatibility with Special-K.
You can use SK, to measure, stats, or DC to measure SK.
i joke there's no actual reason to do so im just messing now 😅
I used to block DC from running if Special-K is detected, and vice-versa.
i only tried with reshade as an sk plugin, early or late didn't seem to take in this dx12 game at least
doing less is better.
Maybe I should load SK, if it's called SpecialK64.dll and it's in local folder.
100% - tbh im so used to sk now as my default for frame pacing and hdr tonemapping, however for instances where custom Luma or RenoRX builds are avalible, they often can look better and/or perform better than SK's HDR remastering, so in those cases what you've done with DC is awesome.
That's fine. This means I focus on supporting games where SK doesn't work. So less maintance work.
For example, DX9 RenoDX games, or RenoVK, where SK may have trouble working.
Thats just me though. I dare say there's more people used to reshade and how that works compared to Special K, so there'll likely be many people (like those on this discord) who will prefer to use DC for everything.
I mean, if DC is broken, you can often you use SK, and vice versa, no need to wait a few days until it gets fixed.
oh yeah big time.
Or game is steam only, so Kal won't be able to play it.
Well, read enough in this in the past two days to never want to bother with public release coded projects. The rules alone, all it sounds like is every other major company in the world likely has a whirldwind of lawsuits just because of happens upon code that random people happen upon. Love it.
Usually, you don't know if closed-source company ships that code, so they may never disclose it.
That's precisely my point.
Joke of a logic circle.
You're good so long as no one understands your code is, pretty much like someone else's.
This affects most, codes with public code on github, etc.
This type of issue in the music or writing world would be so wildly comical.
even MIT licences, require you to mention the contribution.
So, I need to recheck whole code of DC, for any I may have missed.
Also my point, you could have accidentally done what others have, that's all.
Only so many ways things can be executed, internet is full of this by now, no doubt.
That's what I meant by music industry already went through this, a whole ton in the past.
Are you supposed to write the song, and then if one already exists?
DC offers similar HDR upgrade + perceptual boost. UI could use some work, as it’s not automatic.
Though, UI could be improved, to make it more clear.
Can DC enable DLSS on games that don't natively support them like Luma?
No, this requires per game mods.
Shucks, having trouble getting DC to run with Luma on FF7 Remake
What’s the issue?
game won't boot just sits in windows after pressing Play in Steam
when i remove DC it boots again
Luma is already installed
You do have renodx-unrealengine, as well as Luma
it's not there anymore
it was there at one time by mistake but i don't see it anymore
yeah I sorted by filename and there is no file named renodx-unrealengine
which remake was it?
the intergrate?
First with Intergrade yes
Everything looks fine from the logs. I'll test it locally, I need to redownload the game.
@wise grove do you have reshade.log, it may tell why it's shutting down?
did you try deleting DisplayCommander.toml?
No
But I want DC
So I just deleted it and will retry with DC
Try it, someone old toml version causes issues.
Hmm, works for me
Gotta shut down withcer
@tame dock 0.12.617.2998 Crimson Desert not launching
Ok so I can hear the game music but the icon in the taskbar disappears
Do you happen to have reshade.log as well?
If I mijnimize all my windows i just see Windows desktop, and Alt+Tab shows no game window
Did you add "-dx11", when launching the game to the properties?
Yeah and if I remove DC it boots as normal
I think it's Vortex mods
I have lot of texture packs
I remembre now those interere with SpecialK
I see the issue the likely issue in the logs.
01:28:31:300 [33608] | DEBUG | ApplyWindowChange: Setting new style -1811939328 -> 335544320
You are not using the default config, I see changes being applied
01:28:20:912 [36660] | INFO | window_mode 0->1
where is this changed? I don't know what i've done lol
in reshade settings or something?
Maybe, in global config?
Maybe his Luma mod changed that b/c i never touched it
Any wya to change that without booting into the game?
Did you change default_settings.toml in %LOCAL_APP_DATA%\Local\Programs\Display_Commander
That's strange, can you change window_mode to 0, in DIsplayCommnader.toml in game directory?
[DisplayCommander]
window_mode = 0
@flat crater Is it possible to make a generic mod for DLSS? Like, auto-detect motion vectors?
It worked! I'm in!
no
I'll see if i check this anytime DC doesn't load for me
Luma works great in FF7 Remake. I wish more games could have added DLSS.
Let me know if there is anything I can help.
The game defaults to 1920x1080 at 30fps. The window_mode=1, which isn't default anymore, breaks that resolution.
Does FF7 Remake Integrate works with SK? If it does, I can take a look to fix "window_mode=1"
I didn't even have that line in my .toml file "window_mode" heh
I think it does but i haven't tried it probaby couldn't get it to run
Did you delete .toml file? It was there before.
i deleted it yes
window_mode = 1, used to be default in old version of DC.
it was recreated on one of the boots
ihad to add all the words a Ctrl+F found nothing
Almost all UE4 and 5 DX11 games work with DLSS with Luma
Do you have a guide on somewhere on how to install it? It would be nice to add to README.md, as recommendation. 
@tame dock Your perceptual boost is powerful, what is it based on? Be interested in anything you have to say about it
It's derived from analyzing Special-K Perceptual Boost, I figured out the formula, and how it works, and why.
wiki
In concept it's Inverse Tone Mapping method, similar to what Auto HDR / RTX HDR do, visually.
Why is it referrred to as perceptual? Is there a special principle it operates on? Thanks
oh inverse tonemapping
i'll have to look that one up still new to HDR
There are many different Inverse Tonemapping techniques.
Special-K does Inverse Tonemapping by doing it per color in PQ (Perceptual Quantizer) space.
The formula Special-K uses for Perceptual Boost is really convoluted, it can be simplified by removing 2 arguments out of 6. I ended simplifying it to a single line.
TLDR, I rewrote the matchematical formula to make it simpler, and analyze what it is.
Afaik Special-K formula was derived by tweaking parameters to look visually pleasing.
And, by default it happens to double the brightness. It turned out that the profile 1 and profile 2 of perceptual boost in Special-K are actually the same thing, once you simplify the formula. @placid topaz
Just with slighly different strength.
it's pretty good,
in brightly lit daytime scenes i like playing around with tonemapping
and paper white
I wanted to release it as separate shader, but I haven't done a cleanup of that code yet.
i sometimes worry it will age my panel though 🤣
You can however, download the shader from DC's code.
Can I ask what kind of work you're in? Your output is kind of multifaceted and broad
I don't do anything related to graphics, so I learned it myself while looking at RenoDX.
Mostly backend software engineer experience.
That's pretty cool
Gotcha
Well the community needs you this app does a lot
Especially if SK is having trouble with new Reshade causing bugs
I am lookingforward to Dynamic Multi Framegen on Mar. 31 have you looked into that?
It changes the MFG multiple to get you to your cap
I'm pretty sure. It's not going to be available on 4000 series, so well until I get 6090, it's not going to be usable.
Be cool if DC operates with it
Ugh!
What abou Lossless ScalingAdaptive Scaling, tried that?
It looked bad to me. I couldn't stand it.
I used the paid app on steam.
Or do you mean something else?
I guess 40 series didn't receive MFG at launch but now supports it, so maybe they'd get Dynamic Framegen, maybe through mods?
tha's what i mean
i think it caused stutter tbh
just checking
Does it?
I don't see that option, I never heard about it getting it.
Wow, so many games supported. Luma-framework deserves more recognision. https://github.com/Filoppi/Luma-Framework/wiki/Mods-List#mod-features @flat crater
You can't simplify the formula, it's a non-linear transform with scaling done in PQ-space, and a rescale done after transforming back to linear.
It's similar to ICtCp
I did the math some time ago. There were 2 pairs of parameters, each each pair could be reduced to one parameter.
Basically, two parameters were use in the formula as (X_1/Y_1), which can be simplified as Z_1.
And (X_2/Y_2) by Z_2.
Exactly.
TLDR I wrote in the past a shader with 6 parameter formula, another one with the rewrite to be 4 parameter formula, and I got exact match, showing I didn't make any mistake in the math.
In the end, I simplified the code even further, and I included a strength slider in DC, between 0-2 (default 1). Making the other 3 parameters contants. @placid topaz
Only EffectStrength_P3 is exposed in DC.
ui_items = "Original (XYZ/PQ)\0ICtCp (experimental)\0PQ + ICtCp\0None\0Inverse Tonemapping with Reinhard\0"; In this case the PQ + ICtCp method. Should be close to what special-k was using.
I can write the formulas again, if that would be helpful for Special-K.
dont own that game
I see, the same issue as in FF7.
23:16:03:330 [22836] | INFO | window_mode 0->1
Try changing DisplayCommander.toml
[DisplayCommander]
window_mode = 0
I'll look later into as to why "window_mode" = 1 breaks games.
v0.12.618
- [settings] [cleanup] Log active
default_settings.tomlvalues on load - Startup logs now include all active key/value pairs parsed from[DisplayCommander]indefault_settings.toml, so you can quickly confirm which fallback defaults are in effect (or see that none are set).
v0.12.617
- [docs] README: remove OptiScaler note - Removed the OptiScaler installation note from
README.mdto keep setup guidance focused on currently recommended paths.
v0.12.618
- [settings] [cleanup] Log active
default_settings.tomlvalues on load - Startup logs now include all active key/value pairs parsed from[DisplayCommander]indefault_settings.toml, so you can quickly confirm which fallback defaults are in effect (or see that none are set). - [settings] [ui]
PreventAlwaysOnTopnow defaults to off - New installs now keep "Prevent always on top" disabled by default, so games and windows preserve normal always-on-top behavior unless you explicitly enable this override.
@wise grove @sweet heart Fixed. The issue was with "Prevent on always-on-top" being on by default, when "window_mode" = 1.
v0.12.619
- [ui] Window control toggles moved to Main tab - Moved
Prevent Always On TopandPrevent Minimizefrom the Advanced tab into Main tab's Window Control section, so window-behavior controls are grouped where users already manage minimize/focus/restore actions.
Why is there no download link sometimes. when I go to GitHub even nightly build is from Feb, is it the debug build? Not at PC right now thanks
@tame dock you ever thinking of selling the 4090 for a bunch of money and getting a 5080 😬
It's easy to get scammed.
And, also MFG does nothing for me on 144hz display.
I think github removed old build after some time. I need to start pushing regular releases. I've been postponing for a while, due to crashes.
Sorry!
No worries. I mean, 5000 series gpus have issues, this one have been solid since I bought it.
I would have bought 5090 some time ago if not for the issues with drivers.
Anyway, I'll do stable release, if I don't see any crashes/bugs within next 2-3 days.
Then, I can start releasing stable more often.
I have tried it, though my brief takeaway was it could look great but required more messing than SK. It can look good, but there's way more control - I'm usually all for that, but SKs global defaults take me 2 seconds to make tweak per game these days.
Secondly RenoDX and Luma exist, often with custom shaders for said game (or Reno AutoHDR). So basically it's not that DC implementation is bad, more that there's plenty of very good alternatives already available. I still would rather have the option though so appreciate the inclusion. I do wonder if that part should be a separate addon/modular, but that's me nitpicking there.
Possibly, extra controls are there, just not exposed.
Full shader is here, it can be controlled through sliders. #1484495867586281493 message
At the very least, it should be in a different repo, so people test it, give feedback, sol it can be improved. Preferrably, a different discussion for it.
I'm also open to including another shader as a default one for DC for the AutoHDR purposes.
Or to adding menu to download shaders directly from within the game.
@eager pine Do you have suggestions, or feedback, on including shaders download feature from within DC? Or do you think it's a bad idea.
i dont man sorry
we've been working on a different frame rate limiter to bundle with rdxc made by myself and ultramat
Yeah, GPL-3 licensing make it hard to bundle stuff together.
Anyway, I assume DC support is dropped for RDXC, is that correct?
yeah it does man
we wrote something from scratch only using official nvidia documentation with MIT license
i've rebranded the app and dropped support atm man
once v2 is completed i can add it back in so people have a choice
Is there any sense in making DC2 rewrite into MIT, or is that no longer needed for RXDC? (From RXDC perspective)
it's really up to you man if you want to rewrite it as MIT
i'd be happy to include it once it's complete so people have a choice of frame rate limiters
Ultra Limiter that we've made is really focused on that, limiting fps with proper reflex calls, resizing windows to fullscreen/borderless and switching monitors if need be
also yeah its ONLY reflex, so amd peeps need smth
optiscaller, works in that case.
Oh Opti has a limiter? i have no idea on that stuff lol
No, but it can translate reflex into the amd's anti lag.
this translate's nvidia apis from reflex to amd
@tame dock Just updated DC and now FC Primal is crashing on startup ( black screen )
If you send me logs, I’ll take a look at it.
Dc + reshade.
It may be worth removing DisplayCommander.toml.
Just in case.
Can you change window_mode to 0, in DisplayCommander.toml? I see you have it set to 1 in global default_settings.toml.
under [DisplayCommander]?
Yes
We tried to apply windows style changes.
12:37:07:492 [17480] | INFO | [WindowsApiHooks] ModifyWindowStyle: GWL_STYLE: 90000000 -> 10000000
12:37:07:492 [17480] | INFO | (Suppressing further occurrences of this info log)
12:37:07:495 [17480] | INFO | [WindowsApiHooks] ModifyWindowStyle: GWL_EXSTYLE: 00040100 -> 00040000
12:37:07:495 [17480] | INFO | (Suppressing further occurrences of this info log)
```. That's the same issue we saw in the two issues above.
Yepp it worked, not sure how i changed the default_settings.toml though...
huh, but is it relevant to the latest update then? Since i didnt have it before
Ah, it looks I added default config setting it to 1, for everything by mistake.
Can you try this, this should make window_mode = 1 work
v0.12.620
- [bugfix] [settings] Keep
WM_POPUPand make default fallback "no changes" - Window message handling no longer removesWM_POPUP, anddefault_settings.tomlfallback behavior now points to"no changes"so missing defaults do not silently apply unintended overrides.
Sure, im just debugging why my fps is set to 116fps even though DC is not active nor Special-k or RTSS...
Games which have reflex active may be doing that.
hmm i know that i injected reflex with DC in FC Primal but, that should be gone after removing toml right?
DC enables reflex by default.
okay but Primal doesnt have reflex, its too old
There may be a bug, where DC injectes and enabled reflex my default.
hmm okay, i try removing reshade and use nvidia to show fps, 1 sec
removing DC is enough.
That must be someting else then.
neither RTSS or SK is active or DC, what the heck is it
NVCP or NPI?
nope, wait, it got to over 300 fps ingame, i never experienced a intro video locking to 116fps though
Pretty much every FC game from 5 before has some pretty weird engine behaviour, that doesn't seem surprising.
its like its vrr capped untill it reaches ingame lmao
yeah, its a weird engine behaviour alright...
116FPS for what seems to be an FMV is better than most locking to 60 at least lol
I've seen some games initialize fps limit, and other settings quite late.
is it possible to prevent fps limiters? Would be a cool feature
In game?
It would require per game patches, unless it's Unity/UE.
Though, you could speed up the game timer, but that also has side-effect of increasing everything in the game.
i see
It's usually not hard to identify the sleep function game uses.
so i enabled reshade again without DC and its vrr capped ingame
So, technically, DC could tell you where to patch the code.
Would be cool feature 🙂
Well, more like, where game sleeps.
i have to check if renodx does something... i never suspected that...
This would require disassembly, and doing manual work, but probably would cut the work in half, in finding what needs to be patched.,
That seems like a feature now worth doing then :/
BTW it was renodx, i never thought they frame capped
This would still require doing per game mods. Someone would have to be willing to make those mods.
For UE, Unity, there are already addons, which can help you change in-game settings.
Thats awesome in those cases
UUU from Otis_Inf is paid though for UE.
Its just that it would be so helpfull to prevent other frame limiters to run, like now i had to disable DC frame limiter because RenoDX enforces their, and there is no option to disable it...
I actually checked out of curiosity, but Primal only ever got an Ultrawide mod from Rose.
Custom shaders?
Ie Reno and Luna mods are commonly tailored to that specific game.
So DC is back?
Yes, DC is back.
Congrats
I should have released DC as MIT from the start, to avoid any confusion . Then, community would have pointed out the compliance issues.
I would like to help the community, by releasing projects from ground up as MIT.
@tame dock sry man but Crimson Desert still not launching (fresh DC install)
pmnox I have an issue with AC Oddyssey 😮
Can you manually remove AppData\Local\Programs\Display_Commander\default_settings.toml
sec, i'll write a fix.
the windows is minimize to the taskbar but can't open it and I need to kill the process
Thats the same issue, everone has been having.
with assasins creed?
with DC, I'll ship a fix
ok mate
this did it actually
v0.12.621
- [bugfix] [settings] Startup fix for some games using window mode overrides - Renamed config variable "window_mode" to "WindowMode", in order to avoid previously "window_mode" being set to 1 by default.
This should fix the issue in both games.
The issue was, when I accidentlt shipped default config with this option enabled.
Worked
im getting a black screen with RE9 with reframework and reno. i can hear the sound but no display. DC=winmm.dll. Reframe=dinput8.dll. Reshade=Reshade64.dll
im using an older version that works
Thanks' I'll take a look.
I'm able to reproduce the issue.
I gave given some thought about DC2, there are two routes to take.
a) write first a separate "Frame Commander" / "FPS Commander"as MIT, focusing only fps limiter features, which are hard to get right correctly
- fps limiter for FG using reflex
- VRR detection (needed to auto enable fps limiter)
- refresh rate detection
- latency sync fps limiter
- latency measurement tools / code
- later hooks for fps limiters reflex(D3D)/Vulkan(reflex)/d3d9/opengl/native fulkan
b) strip all fps limiter above features / stats, etc. from DC2 as MIT
Focus, on everything else.
c) keep gradually extending DC as GPL-3, cleaing it up, polishing slowly features in a), then b)
d) maintain DC as it is.
Personally, I would like to start separate project a) later can be extended by other features.
@placid topaz @lunar locust @echo pivot
How come your perceptual shader is present when i load up some games but not present in others? It's present in Witcher 3 but not in Clair Obscur or Metaphor Refantazio or Baldur's Gate 3. Doesn't load for me..
Exciting plans, can I ask, what is your desire to start a new project stemming from?
To maintain DC I have two options. a) do nothing, just keep existing featues as they are
b) write a clean code outside of DC, and then backport it into DC.
c) Strip all fps limiter features from DC / and don't touch them at all.
Those featues, are already in DC, they just need a clean rewrite, new UI, etc.
It's just easier to build clean code from ground up, then to rewrite the code, and having to spend days with stuff breaking. see #1484495867586281493 message and a lot of other crashes
A) sounds good i think
Yeah gotcha so you'd rather start a new projectd like A that you later extend
To be honest, this was kind of my wish for you too lol
To get my fav feature sooner than later
and Kaiden mentioned that SK is going to have more and more trouble working with reshade..
I can make it so, DC also imports the new code from DC2, so they share the same code base.
Also, this allows people to test features one by one. Suggest what to do next ,etc.
Souunds good. Let me know if you know if you know anythig about shaders not appearing, the perceptual shader doesn't appear in the list sometimes for me thank you
Does it appear after clicking "refresh" in main tab of reshade?
If so, it's a known reshade bug, croside is looking into fixing.
Important Note: Currently the best fps limiter for Frame Generation is "Pace real frames low-latency (max_queue=1)", is theoretically the best mode to use. For good balance of latency, and rendered frames stability. It's algorithm I developed, but it may not work in some games, so more research is needed to perfect it.
It paces both the simulation thread, and rendered frames. It has options for max_queues=1/2/3.
Algorithm is still under research, on how to make it work in all games.
@lunar locust I'll later add some explanasion in the UI, that this is best available FG fps limiter, but it's needs more research to make it work in all games.

ive only tested in like 2 games so take with grain of salt for now i guess
I mean, it was the best one in games I tested it while I was developing it.
It added like slight latency, like 1-3ms in Wuthering Weaves, at 138 fps, while providing more stability to displayed frames, unlike the default one, that desplayes frames as fast as possible.
it was default for some time, but it was causing issue in one game.
oh which?
Vulkan games with reflex like Doom The Dark Ages, I made a fix for those to make it work since then, but I didn't revert the default back to it.
Did another VRR recording of that cap settings with the NVIDIA overlay open as well, SK smooth and Ultra are not quite as consistent in staying at 120hz and are also giving me 52-56ms here @tame dock
The latency, could be even lowered than what you see now. I didn't fully implement the idea.
70 secs spinning and this shit didnt go to 2 digit hz once i think
perhaps

rtss and nvidia overlay keep reading 121 fps kek
Once I'm done I'll write a dedicated page in documentation describing how this works in details. It's hard to explain though discord all the details.
yeah fair enopugh
@wise grove Having a separate project for fps limiter, will allow to focus on the fps limiter parts, explaning all algorithms, comparision data, testing methodology, etc.
TLDR DC2 = DC Lite.
been following this project for a while now, separating DC2 into modules seems like the best option
each module can be made more in depth and it will probably also be easier to bug fix/update
more structure is always good i think
There is a room for other people could also contribute, by writing separate modules. For example Dual Sense support, etc.
It's too much to maintain that.
yea exactly
I had DualSense support in DC, but I removed it, as it's requires more work.
All hooks are stored as arrays. So a submodule can hook into them. kernel32.dll hooks
also if it is really modular, people would be able to download/enable just the modules they want
maybe someone wants just FPS limiter + Monitoring but someone else would like a DLSS Override/Nvidia Inspector module also
Yeah, because module doesn't need to hook directly into apis. It would be given access to what's in the picture.
Basically, access to all methods DC hooked into.
Same idea, as what Reshade has with addon events, but more general, as you can hook into any .dll api directly.
No, need for each module to hook separately.
don't understand code that much but sounds good from what you are describing
Basically, DC can hook into all public apis of things such as dxgi.dll, nvapi64.dll, opengl32.dll, etc. directly, and expose it to modules.
Reshade, only offers small subset of what's available. This is a more general approach.
TLDR This will make all addons able to be enabled/disabled, improve compatibility between modules.
isn't hooking directly or being loaded as dxgi also better for the limiting/monitoring itself instead of being loaded as a reshade addon
Yes, but I also want to support .addon, as it's easy to use, albeit with limited functionality.
i know you have made a DC launcher before, maybe the user would be able to enable/disable the modules there and then DC would hook just to the APIs needed for the modules
Technically, DC still will register itself as addon, require reshade, but it will be loaded befor reshade.
Yeah, that's the idea. I made a mistake of trying to pack launcher into DC executable, which was a mistake. Technically, doable, but bloats the code. It's better to keep it separate. Like Special-K and skif being separate.
is this Ultra Limiter just display commander in disguise?
after everything that happened i dont know whats what anymore, i just want the FG native pacing lol
No, it's their separate fps limiter. People say it adds latency to FG, it's not fully implemented.
DC is the better option
lost DC file?
yeah i removed it from my folder and i dont have it anymore, not even sure where to get it haha
It's also on github.
i just always came here to read the newest updates and download it, should have known there was a github
Yeah, I fixed the issue.
never seen that before, gaming starting in the background and cant even be interacted with
nice
I made a mistake, and I accidentaly set "window_mode=1" by default in the global config.
There is another bug, I'll fix later, to make the "borderless fullscreen" work in that game. Though, it may be fixed now. I'll have to retest.
im playing it now if you need help with testing
for FG modes, those are the best settings. #1484495867586281493 message
this is low latency+good pacing FG algorithm, which paces both simulation thread and rendered frames at the same time. (still WIP, I would like to make it default later)
the curse of being an optimization gamer
v0.12.622
- [bugfix] [compatibility] Fixed Monster Hunter Wilds being slow to start / unresponsive - Improved startup behavior so Monster Hunter Wilds no longer becomes slow to start or unresponsive during launch.
v0.12.623
- [ui] [compatibility] Added warning to NVAPI "Refresh Rate" - Added a warning for the NVAPI "Refresh Rate" control to make potential side effects clearer before users change it.
v0.12.624
- [bugfix] [compatibility] [hooks] Fixed Witcher 3 crash caused by old Streamline - Improved compatibility for older Streamline runtimes to prevent startup/runtime crashes seen in Witcher 3.
- [bugfix] [settings] [hooks] Hook suppression no longer flips back during startup - Suppressed hooks now stay suppressed across startup and ReShade auto-load paths, so setting a hook to suppressed actually prevents installation instead of being silently reverted.
Details: load hook suppression settings before early ReShade-load hook installs inmain_entry.cpp;HookSuppressionManager::MarkHookInstallednow updates onlyDisplayCommander.HooksInstalledand no longer writesDisplayCommander.HookSuppressionvalues. - [bugfix] [hooks] Ignore duplicate
OnModuleLoadedcallback for the same module handle - Repeated module-load callbacks with the sameHMODULEare now ignored, so hook install paths and tracking logic run only once per unique loaded module instance.
Details: added a per-handle dedupe set atOnModuleLoadedentry inhooks/loadlibrary_hooks.cpp, with reset during full module re-enumeration. - [bugfix] [cleanup] Temporarily suppress game EXE static-import logging in DLL-load stack path - Static import listing for the game executable is now temporarily disabled in the DLL-load stack logger to avoid a crash scenario observed when suppression state was not reverted correctly.
Details:LogGameExeStaticImportscurrently returns early inmain_entry.cpp(temporary safety guard).
Witcher 3 FG works nicely.
You can do both. If you pursue that moduler path you talked about just have the fps limiter be one module so people can use your limiter or RL’s limiter and still use your other features
I could also do A, and make it independent like RTSS.
honestly, reshade isn't really needed/used except for the UI.
Perhaps. I think I personally prefer game install type things instead of system wide but that’s just me
I'm only saying it's technically possible, as to what's better thats another thing.
not necessary tbh
everyone here uses reshade in every game
I meant to reach more audience. It would be funny to see people use a proper frame graph instead of RTSS.
As, that's what most videos get wrong.
its completely wrong when using tranformer FG
well you can get a proper graph with presentmon from RTSS
Yeah, but you could do it correctly.
Really? For when frames are displayed?
ya
presentmon_framegen.ovl you load this
requires the overlay editor which most people dont even know its existence
If that's the case, I should be able to make a better VR/refresh rate montitor, that works for Vulkan/dx9, not just DXGI like what Special-K uses.
Special-K relies on dxgi interop for vulkan
which isnt a bad thing
you should play with dxgi interop on window
native vulkan isnt good on windows
it barely works
eg. does not support flip model
Yeah, but it's paintful to hook into dxgi interop through vulkan. Presentmon_framegen would be easier to get to work.
also amd gpu drivers have always on dxgi interop for vulkan
Certenaily, dxgi-interop won't work when loaded .addon
ya thats why sk doesnt support vulkan much
and renodx vulkan/renovk requies inject reshade with vulkan layer
with dxgi interop you cant mod the shaders
Yeah, I'm now in the planning phase.
Yeah, when people want to discuss Special-K, they can do it in there.
DC2 would be DC lite, mostly focused around fps limiter, without audio/controller/extra stuff.
I can describe algorithms used there, and have general implementation of the main features.
were the old versions of DC retroactively broken with Reshade somehow because of all this?
I had a few from a month ago randomly saved and those aren't working with games they used to work with
with a regular manual installation
, you may need to delete default_setting.toml, as due to mistake it was created atomically with preset in config.
It got created in one of the versions.
I’ll release stable today, so it gets saved.
And, I may as well start releasing stables more often.
that sounds great actually, I personally only use the fps limiter, maybe in some rare cases the display settings like force borderless etc.
due you mean the ones from the game folder, or is this created elsewhere?
the game files wouldn't be it since I was trying out an older DC with a freshly installed game
delete %localappdata%\Programs\Display_Commander\default_settings.toml
lots of time spend for DC, was playing around with various fps limiter algorithms, seeing what works that not, etc. I came up with unique implementations, not related to what Special-K is using.
And, a lot can be improved, as I didn't implement the full algorithms I had in mind, due to bueing busy fixing bugs in DC, making it more solid, etc.
Display Commnader Support
- Changing discord channel name as discussed with Kal.
thanks, i'll test this when i get home. i do prefer a standalone fps limiter since thats the only feature i use. thats just me though.
Also, it will be more reliable, less code, less bugs, hand written code.
Should archive the other thread then, seems redundant
There's a typo btw haha why is there 2 channels now I was about to ask.
Display Commander Support

It was intended to hold discussions for DC2, or the future fps limiter.
just fps limiter and window management
nothing else
Yeah. No audio/controllers/games tab/installer/and bunch of disabled code/
ya i dont use those at all tbh
and i think more than 50% people dont use them either
like dlss preset related things, if you want the most reliable way you can use nvidia profile inspector
if you want real time swtich, use optiscaler or the dev dll
Yeah, I implemented even nvidia profile inspector. I could just switch to using that, easier to maintain. More reliable, DC currently have both options.
This would allow you to even turn on Smooth Motion from within the app, adjust profiles, etc.
Or I could just not include it at all. @keen void What do you think?
Yeah, I can just make it a separate addon if needed.
imgui feels janky to use compared to the one from npi
That's also partially, because the UI needs work to be as good as npi. So, it may better not to spend time on it.
most people just want a good fps limiter + window management
features like prevent fullscreen, prevent always on top, continue rendering etc. (i consider those as window management)
I felt into the rabbit hole, of adding more and more features every time someone asks. Or I came up with new idea.
its better to get a stable release first imo
there are a lot of tools to achieve those
Yeah, certainly. Creating a solid tool, that does small number of thing, very reliable, would make it last long time.
should be just one page of features
like a renodx mod
which is pretty user friendly
current DC has too many sub menus/tabs
i personally dont use most features
I noticed that it's hard to explain in README.md all the features, without making it like 50-100 pages long or so.
but its kind hard to find where the specific feature is if you do want those
maybe should be just like a display menu in games
one page and done
no sub menus
im talking about dc2 ofc
or a modular design (not initially). If you want to install controller module, you can load it on the fly, but it's not loaded by default.
Kind of like reshade's addons.
well as long as thats not making coding/debugging harder
Not really, by default you wouldn't even load that code.
Modular design, would be easier to maintain, than what I have right now.
Though, modular design isn't something I'll be doing intially, it's just a possible extension once everything else is done, and there is nothing else to do.
as of right now DC is my favourite fps limiter, it works incredibly well with nvidia FG, markers and queue 3
queue 2 could be the default one, should be safe to use.
yeah, but I did not notice the latency increase
queue 1 may cause deadlocks in some games or fps loss, (needs more research to perfect it)
playing on a controller makes you almost immune to latency xD
but DC is by far the most stable one I tested
in terms of pacing
my only nitpicks are all the features that I do not use overload the UI (although it is nothing bad), sometimes my settings reset for whatever reason back to default (hence why I made the .toml read-only to make it persistent) and the log file which gets bigger and bigger (is there a size limit?)
This, tbh.
Cause these makes the most difference, beyond just QoL stuff.
Controller and screenshots and what not are QoL things, IMO.
But good limiter + window management i.e. being able to play game in borderless when game forces FSE or w/e.
That actually transforms the overall expereince from janky to smooth.
You should note down requests, and not implement things right away.
Let them pile up, and look at them towards the weekend and then prioritize with what makes most sense, and how much work it'll be from you to test it, and maintain it.
Ideally, if it's a feature you can't exclusively test yourself, good chance you shouldn't ship it otherwise diagnosing becomes a bitch.
your friendly neighborhood Linux user reporting in! RE4 Remake with REFramework gets me the following crash to desktop, logs included
tried as just an addon64 file and later in logs as dxgi.dll
Pretty much all features were easy to implement, test locally. However, lots of them were nieche, not many people using, and people reported them not working in many games. I can only test 1-2 games with given feature,a nd sometimes it takes testing 10-20 to know whenever feature is reliable or not.
That's odd. I don't see Display Commander doing anything in this case. Does the game work without DC?
linux
It's Re4 Remake, doesn't it require Reframework to run reshade?
yup, I used one of your earlier DC versions when I was playing RE9 day 1 and it worked fine on Linux, had REframework installed back then as well
it doesn't require it anymore as they gave up on Denuvo and other anti-tampers
19:38:10:638 [ 336] | INFO | To suppress D3D12 Device hooks, set D3D12DeviceHooks=1 in [DisplayCommander.HookSuppression] section of DisplayCommander.toml
Usually, I detect reframework by detecting __storage__ folder, DC didn't detect reframework, and needs some flags disabled for it to work.
Does _storage_ exist in the game directory?
I mean for this game I could just take REFramework out, I use it for other stuff instead of making Reshade work
there are 2 directories, let me check
not sure about linux
To get it to work, some flags need to be disabled. The issues is with detection of reframework.
but on windows i found load reframeworks as .dc64 gave me best results
best compatibility i mean
One of hooks got loaded, which causes issues with reframework. Due to reframework code not detecting it.
I could try as .dc64
Can you check if _storage_ folder exists? Reframewrok should be creating it, if not I need to use some other detection method.
it isn't in game folder next to .exe at least
I'm not sure how to detect whenever dinput8.dll is the reframework or not.
didn't work as .dc64
I guess, I can just do it by exe name.
linux issue
to be fair this is very much an edge case, Linux user with REFramework
i mean this could be an issue from ref
I'll just add re4.exe to the list.
I tried the limiter from the RHI channel and that did work for some reason
I just much prefer DC
RHI will need to put a lot of work, to get the algorithms right. I did have to implement like 60 different variants of fps limiter algorithm to get it right.
which is why I prefer DC, it did work but it didn't feel the same at least on my system
I like RHI UI being fps limtier focused. Having DC with simpler FPS limiter focused UI would be a plus.
I mainly use DC for fps limiting purposes and I believe you had some sort of fix for older RE Engine Nvidia HDR non-sense games where HDR was basically borked
I used your window management for those
In this game the crash is because I added new dx12 hooking to help other games, it breaks reengine, and the code didn't get disabled for re4.exe. It can be fixed by changing toml config file.
does it break actual RE Engine or just REFramework? I could delete REF if necessary
v0.12.625
- [compatibility] [hooks] RE4: treat as REFramework present for hook skip -
re4.exeis detected so Display Commander skips the same D3D11/D3D12 device hooks as when areframework\pluginsmodule path is seen, avoiding conflicts when REFramework does not appear in loaded-module paths the usual way.
It causes the issue you posted.
ah, thank you
I think there is a bug with saving the .toml config. I experienced it before,I need to write a proper fix.
Added to list of known issues, I'll fix it later.
Yeah, I'm planning to do something about the UI.
DC makes me happy
Gonna update to latest one in a mo, to try in CD. I've been using an old build
Keen to try your suggest FG settings. If latency goes down I'll dance
The topmost setting is the lowest latency, at cost of poor frame pacing.
Currently I lock to 120fps and get around 38-45ms PCL
max_queue=1/2/3, should should offer both good low latency and fram stability.
The thing is, the frame time graph is a mess but on screen it looks incredibly smooth in motion
So I prefer to ignore the graph
Yes, it's because of how the FG works.
I plan to rewrite the graphs, and better explain what they mean.
Basically, this graph shows real + generated frames. Generated frames, take less time to compute than the real onces, that's why every 2nd one is lower.
That makes sense
I have multiple graphs available, each graphs means different thing, this requires it's own guide with proper explanation. Certainly UI redesign.
I could also redesgin current DC UI, to not show things such as Updates/Audio/etc. by deault, but instaed allow you to build your own UI, with having fps limiter + window management shown by default only.
v0.12.628
- [ui] Main tab UI optimizations - Optimized UI to make display commander for fps limiter focused.
the different px spacing between the sections is killing me hah
Thanks, that's fixed now.
perfect
still see some UI alignment inconsistencies, I understand that it is not the primary focus right now but I can help/point out if needed
I would be grateful if you can help me with that. I would like to redesign the UI, to be more understandla, easy to use.
sure, can write up some UI/UX guidelines for ease of use tomorrow, mostly spacing and alignment of elements since we have just boxes/text
Before, I was limited by having UI designed to be with variable width. I did same experiments with UI, having fixed max width assumption made the UI a bit easier.
yea that will help
having most of the dropdown menus set to the same length will help also, right now the sizes seem to be unrelated to each other and to the text inside
Basically, something like this?
yep, text/descriptions on the left side and sliders/dropdowns on the right is a good system
i would keep the DLSS overrides as dropdowns also instead of the < > menu but that is just my personal preference
DC Lite mainly just being fps limiter would be ace. That's all I was using it for. Injecting Reflex on non-native games, and frame limiting
I can start by redesinging DC's UI to have DC Lite interface by default. Then I can do the rewrite of what's under the hood, once i know what's needed.
This may help to iterate faster, I can then polish the features in DC, and create a plan what's needed for the rewrite, etc.
Thanks, that would be great.
I did this as an experiment to see what looks better. I ran into an issue, that you may have too many resolutions availalbe, and < > may not display all of them.
Also, < > takes more vertical space.
yea that is why i think the 1 line dropdowns are a better option
imgui is just a box so more smaller boxes inside will always look good, also you can probably color code them to create additional separation of the different sections
True
@obsidian flower Also, a lot of UI options, such as "Fps limiter preset" are probably confusing to the end user. Given that you also have fps limtier mode "Default / Reflex mode / Latency sync"
Those names make sense to me, since I know the code. but likely not to most people on what is going on.
Same with "Performance Overlay", probably a fewer settings make sense, as a list, etc.
i think most of DC users will have and will like the technical names but yea i get it
maybe you can try naming them by what use case do they suit the best or having some hover over explanation for each of the choices
but again, i kinda assume people downloading DC will have some knowledge of the technical terms
why would you download DC if you have no desire to tinker with the settings to find the best ones for your game and setup
Some hovered explanation or slightly better naming is always good to reduce friction
From what I've seen a lot of people don't have that knowledge, and simply want the best setting to be applied automatically.
even if most users are technically minded, there's always someone new
true
I plan to finish VRR detection, so fps limiter can be automatically activated without going inside the menu.
maybe there can be a tip explaining what are the best use cases for each limiter type
For fixed refresh rate, for frame gen, for VRR and so on
so even the non technical ones can select the best for their setup
I was thinking more like ' [x] "Auto limit" "applying settings for VRR mode, Frame Generation (balanced) profile", where X is checkbox automatically enabled.
You can then go and unselect it if needed.
If unselected you can override "VRR FG", "VRR non-FG", "FIXED frame rate", fps limiter mode, more options show up.
yea thats a good option also, the best limiter would be selected as the default one and if you want to do custom changes you can go into a sub menu
that way it would be "plug and play" and configurable if needed also
hiding more things in sub menus/sections will not bother the technical users at all but will reduce confusion for the non technical ones
Those terms, are something I came up with, so I don't expect people to understand different presets, and how they work.
- New Stable Version v0.12.630
https://github.com/pmnoxx/display-commander/releases/tag/v0.12.630
Also, github page could use rewrite. I want to rewrite it to focus more on fps limiter features.
@toxic blaze Do you think, the configurations of which tabs are visible should be global. Once you enable, audio control, it will appear in all games, etc.
I am big into using DC at the moment. DLSS preset changing, keyboard/mouse input supression, performance overlay are some features I will definitely miss if they are left out of DC2 and SK is going to continue to have spotty Reshade support. Just my thoughts 👍
I see, that's a good point. I was thinking about starting by redesigning DC's UI, so you can choose which features / elements of UI want to have enabled. This would pretty much let users configure the UI, and decrease the need for DC2. Then, I can see what to do from there.
It's up to you of course, I am totally happy with current DC as long as the bugs get squashed and frame limiter stuff is made a bit simpler. But I understand you have your reasons for wanting to start over with DC2
That's mainly for bug fixing, new code is like 4x times shorter, easier to mantain.
Yeah that makes sens
Good point though. I think I should have stated, that there would be no visible differences to the end-user. As, that would be internal code rewrite.
Here is current list of feature proposals.
as long as the compatibility with reshade and reno/luma remains
then i dont mind whether its a reshade addon or not
This would allow more people to colaborate, those that don't want to deal with GPL-3 code/can't for legal reasons. (not sure how of those people are there)
That's not a priority, but it could be used as general tool, like RTSS, for people to install, and have good fps limiter in games.

It would be a different repo, with separate installer for that.
Though, it would use the same base code.
just something to thing about, not a priority, but a possibility.
i dont mind either way. as long as the fps limiter is the first page that opens im good
The intermediate goal is to do something, so I can link to page with explanation of how that works.
Or having clean UI, that is self-explanatory.
my preference is to not enable it globally and leave it per game
Makes sense. Probably I should think about it as two groups of people:
- people who just want to install addon for autio fps limiter, without having to mess with UI (minimalistic UI case)
- people who interact with UI, and will enable what's needed.
The only thing global right now is hotkeys, as that would be painful to remap per game. However, that could be changed as needed,
Yes, that standalone framerate limiter library would be very helpful.
That's been requested of me multiple times now, but I have not had time to do this myself.
I'd love to contribute testing/knowledge/whatever to making a general purpose limiter library that can be integrated into games and mods.
Special K cannot be, on account of, you know... the license that is incompatible with pronbably all games except Tux Racer 🙂
If you can design that component of your new project as a separable library from day one, it will be a hit.
still get the black screen with audio issue
Do you have new logs from latest versions. Perhaphs, that's unrelated issue.
This looks like crash due to streamline issue.
This may help.
v0.13.1 (2026-03-24)
- [cleanup] [hooks] Streamline hook signatures vs NVIDIA headers - Loader exports (
slInit,slUpgradeInterface,slIsFeatureSupported,slGetNativeInterface,slGetFeatureFunction) and feature/plugin detours (slDLSSGetOptimalSettings,slDLSSSetOptions,slDLSSGSetOptions,slDLSSGGetState,slSetData) now usesl::Resultand the parameter types fromsl_core_api.h,sl_dlss.h, andsl_dlss_g.hinstead ofint/ mismatched types (e.g.slGetFeatureFunctiontakessl::Feature, notint).
Details:hooks/nvidia/streamline_hooks.cpp.
v0.13.2 (2026-03-24)
- [critial] [bugfix] [hooks] Fixed loading wrong
sl.interposer.dllversion - Display Commander now resolves and hooks the expected Streamline interposer module for the current process/session instead of attaching to an incorrect version.
Details:hooks/loadlibrary_hooks.cpp,hooks/nvidia/streamline_hooks.cpp.
@toxic blaze ^
still black display. the older version 0.12.598.2021 works though
This is the goal. I could write a research paper describing it, it would be hard to explain with the code alone.
v0.13.3 (2026-03-24)
- [compatibility] [hooks] RE9: treat as REFramework for hook skip -
re9.exeis detected the same way asre4.exe, so Display Commander skips DXGI/D3D11/D3D12 device hook installation when the usualreframework\pluginsmodule path is not visible in the loaded-module list.
Details:IsReFrameworkGame()inhooks/loadlibrary_hooks.cpp.
still no go
Can you send me the log?
This time, ```
NVSDK_NGX_D3D12_CreateFeature_Detour:1186 - 12.517 ms before crash
21:04:43:251 [ 9632] | INFO | To suppress NGX hooks, set NGXHooks=1 in [DisplayCommander.HookSuppression] section of DisplayCommander.toml
@toxic blaze I added debug logs, this should show the issue. If not you can disable NGX hooks to play the game.
I'm planning to add tools needed to finish the algorithm into DC, to do experimentation, before writing library. I'll be able to do more than what I did with the proof of concept algorithm.
v0.13.5 (2026-03-24)
- [cleanup] [hooks] CALL_GUARD_NO_TS on NGX helpers without guards - Added crash/exit call-site tracking to
DLSSOptimalSettingsCallback_Proxy,UntrackNGXHandle,GetFeatureFromHandle,ApplyDLSSPresetParameters,CleanupNGXHandleTracking,ResetNGXPresetInitialization,CleanupNGXHooks, andApplyNGXParameterOverrideinngx_hooks.cpp. Skipped trivial one-line helpers and hot UI getters (IsDLSSEnabled, etc.) to limit overhead and tracker noise.
Details:hooks/nvidia/ngx_hooks.cpp.

hope this helps
That's one of those nasty bugs I already fixed in DC2, I'll backport the fix.
v0.13.6 (2026-03-25)
-
[hooks] NGX D3D11/D3D12 Init: InFeatureInfo parameter -
NVSDK_NGX_D3D11_Init/NVSDK_NGX_D3D12_Inittypedefs and detours now includeconst NVSDK_NGX_FeatureCommonInfo* InFeatureInfobeforeInSDKVersion, matching publicnvsdk_ngx.hwhenNGX_SNIPPET_BUILDis not defined. NVIDIA documents an alternate 4-argument Init forNGX_SNIPPET_BUILD(driver/snippet); if a loaded module used that ABI, the same export name would be incompatible.
Details:hooks/nvidia/ngx_hooks.cpp. -
[cleanup] [hooks] D3D11/D3D12 Init_with_ProjectID hook identifiers - Renamed internal
NVSDK_NGX_D3D11_Init_ProjectID_*andNVSDK_NGX_D3D12_Init_ProjectID_*typedef/original/detour symbols to*_Init_with_ProjectID_*so they match the exported NGX APIsNVSDK_NGX_D3D11_Init_with_ProjectID/NVSDK_NGX_D3D12_Init_with_ProjectID. Behavior unchanged.
Details:hooks/nvidia/ngx_hooks.cpp.
Ah, nvidia added new argujment to the init function in some version.
have your tried changing dinput8.dll to dinput8.dll.dc64?
I found the issue. Nvidia's documentation shows, this api has variable number of arguments.
So one of these should work
a) NGX_SNIPPET_BUILD undefined
b) NGX_SNIPPER_BUILD defined
i tried renaming it to .dc64 and those two files and still black screen 🤷♂️
I ended up spending a lot of time explaning same thing over and over again to new users. So, it's a UI design issue.
Example of basic page.
oh shit i got RE9 to work with v0.13.6. i had a folder in dlls_to_load and had dinput8.dll in the "before reshade" folder inside of that

i dont remember why i put that file in there. i think was reading some compatbility issue
My mistake, I recommended putting it there. ( in README.md )

No worries, a few good things came out of this. I fixed some potencial issues.
I think I should add a warning, if we tried to load same dll twice, from different folders.
Perhaphs, that feature isn't needed and should be removed. Anyway, it's something to think about.
all good now 👍
I'll need to experiment more with designing basic UI.
v0.13.9 (2026-03-25)
- [cleanup] [performance] Switched Display Commander to dynamic MSVC CRT (/MD, /MDd) - Reduces
.addon64size by avoiding static CRT duplication in the PE (measured:~9.2 MiB -> ~8.0 MiBforbuild/src/addons/display_commander/zzz_display_commander.addon64); requires the target machine to have the MSVC runtime available.
Dude thanks, yes the shader appeared when i clicked Refresh at bottom, thanks! At least it did in Metaphor. Will test other games, hadn't had a chance to try it since your message but sorry for delay
@tame dock Oh a new problem: the shader is not selectable in BG3, you can see it in the list but it is gray and clicking it does nothing. Thanks
You need to enable it through the UI. It's controlled by brightness & autohdr.
So in Witcher 3 and Metaphor you don't need to enable it in the UI, is there a difference with this game (BG3)
NVM
I turned it off by default. IT used to be on by default.
when I deselected in the UI,
the shader is now enableable
basically i always have it off in the UI,
I just check the shader and it works
How should I use it in the UI?
There is "Authodr" and strenght setting.
i don't understand all the HDR10/ SRGB stuff, are the defaults good?
also when it says perceptual boost is there any color science it's using or anything that explains the perception part 🙂
This algorithm is similar to what Special-K is using. I simplified it to be a single slider with strength 0 - 2.
It's an inverse tonemapping algorithm which operations in PQ space.
Some UI cleanup is needed. "HDR1 0 / scRGB" is needed for the NVAPI games. SO default is good.
Thanks!
So the preceptual just comes from dolby perceptual quantizer
the other settings are for the swapchain HDR upgrade, when you are not using RenoDX, but you want to use DC for ugprades.
Yes, basically, this algorithm increases each color separately in PQ space.
It's a heuristics used by Special-K, I think it was derived manually by looking at the results.
I'm going to work on redesining the UI, to make it more clear as to what's going on.
is thre anyhwere he describes what he did you think, google wasn't helping much
basically https://en.wikipedia.org/wiki/ICtCp
ICTCP, ICtCp, or ITP is a color representation format specified in the Rec. ITU-R BT.2100 standard that is used as a part of the color image pipeline in video and digital photography systems for high dynamic range (HDR) and wide color gamut (WCG) imagery. It was developed by Dolby Laboratories from the IPT color space by Ebner and Fairchild. Th...
ah yeah i read that he expands the color gamut to wide
You can represent each color as L M S, where L is luminesce.
Algorithm uses reinhard ITM, to increase luminance of of given color.
As, well as a hersitic, that boosts the color intensity, as luminesence increases.
Sometimes it looks really good
it can overbrighten
daytime scenes in witcher i'm worried it will age my panel!
lol
but can look good
armor glows in BG3 are too bright to use it lol
but i would
It depends on the game. Some games have HDR that's too dark.
any new Fps limiter special sauce in that one that i can test for you?
I wanted to have some simple UI like RenoDX with <Basic, Internadiate, Advanced>. I'm trying to figure out what to put into the basic tab. Given keep the current UI is the advanced one.
Basically, something simple like ReLimiter, which is basically RenoDX basic.
So two things:
-
- what do you put there, RenoDX has brighntessin basic, etc.
- specific UI design and optimization
playing talos principle remaster with FG now, works great
Once, the new UI design is one, I can go back to working on FG fps limiter, as there are many things to make it better.
First I want to polish the UI, figure out what to put there.

Some people like simple UI.
Some other designs I tried.l
Probably, I can remove the enable fps limtier checkbox, instead if value is selected to be 0, fps limiter will be disabled,
yo is there an archive of older DC releases somewhere?
lots of stuff was added and modified over time but in some games I was having much better results with versions from a few months back
basically perfect frame pacing with FF Rebirth and its FG, but I can't remember the version :S

