Dragodraki / GPU_Scaling_AspectRatio_Turn_OnOff

Should be able to activate GPU-Scaling silent through VBS-Script
3 stars 0 forks source link

GPU SCALING STRETCH #1

Open mitschud opened 2 years ago

mitschud commented 2 years ago

Would you mind to try making another script where GPU scaling would be set to stretched ? Display scaling does not work on games like CSGO (on nvidia gpu) and yelds black screen with sound when I try to use 4:3 stretched 1440x1080. However it does work outside games in windows for example.

mitschud commented 2 years ago

I simply refuse to use nvcp

Dragodraki commented 2 years ago

I'm very sorry for my late answer. I already add an extra tool for stretching. there have to be two binary files - one for aspect-ratio and one for stretching.

To your problem: Newer games (especially from platforms like steam) will force its own GPU settings for this one app. I can't do anything about it, I'm afraid. Windows registry storage information about standard display behaviour only, that means my app can't intervene is soon a game push its own style above windows. Even I would be able to find a way to do so, your game will highly supposed come to a crash or leads to damage your GPU. So I'd rather not to try...

This could help ("Magic Borderless"): I experienced some similar problems like you where my desktop is forced by a game to an unfavourable aspect ratio where the mouse even doesn't fit the game only because of my ultrawide monitor (e.g. "Life is Strange - Remastered". Try the software called "Magic Borderless". Its really worth a try unlike all other scaling fix's (and I tried nearly every scaling tool from the whole web). It's the only one which can override a hard defined apps settings and neither lets the game crash nor windows. btw: the app is available on Steam and cheap to buy and/or if you manually add registry path "HKEY_CURRENT_USER\Software\Valve\Steam\" (if not already exist) Magic Borderless won't crash because of license error.

NikitaGrin commented 7 months ago

You are wrong! I found the answer:

  1. Run Activate GPU-Scaling (Aspect Ratio).exe
  2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\Your device\00\00 and change scaling to 3 instead of 4. No need to restart anything.

3 stretches screen and 4 keeps aspect ratio.

Dragodraki commented 7 months ago

--- I've AMD Adrenaline 22.6.1 (Radeon R9 Fury X) ---

If I change it's scaling mode, indeed the registry value changes. But you didn't think your suggestion to end:

Dragodraki commented 7 months ago

May I ask which GPU manufcturer you have and whether my app is able to change the scaling mode (stretching/aspect-ratio) on your PC? If it does not change the setting at all, I might consider adding your solution to my script. If its only very slow instead, I am afraid, I can't change anything to it since its because of how Windows 10/11 handles background scripts).

NikitaGrin commented 7 months ago

I have amd too but I haven't used control panel so I can't tell whether it has unexpected behavior. I wanted to enable gpu scaling and enable stretching making it equivalent to the screenshot without using amd gui. Your script works, it's just another option that I wanted to have like "Activate GPU-Scaling (Stretched).exe"

r

Dragodraki commented 7 months ago

I will make you an offer: Since I am concerned about your request plus you are the seccond person asking that, I like to satisfy you both. Problem: I have only one physical PC at the moment, running AMD Adrenaline on Windows 11. There is another one with Intel I could also test. But especially NVIDIA (old an new UI), AMD Catalyst and AMD Radeon you have to help me.

I need users with older OS and other GPU software (at their versions) too. If you can help me collecting the needed registry values within the next few days, I'll add the option you asked for to a 3rd binary - and if you find out their values for mode: center also a 4th binary.

You need to have a computer with a real GPU from exactly that manufacturer to install the software (and no virtual machine since their scaling is overridden by hypervisor):

You have to look inside of Force_Aspect_Ratio.vbs: The long part (... ...) between the following lines is about registry keys : ' ------------------------------------------------------------------------------------------ ' DAS EIGENTLICHE SKRIPT ' ------------------------------------------------------------------------------------------ ... ... ' ------------------------------------------------------------------------------------------ ' AKTUALISIERE GRAFIKKARTE ' ------------------------------------------------------------------------------------------

I need the values for all of them having GPU scaling on and fullscreen mode activated.

For each of them: To make the reversal test whether a registry value will work, you have to set a contrary setting in GPU's GUI first, then change the said value in registry and after that launch restart64.exe - if its successful the new option should be displayed in the GUI as well as the games when launching (you need to set your resolution for that lower than 1600x1200 - don't ask why, its just as it is).

Only if I have Force_Aspect_Ratio.vbs with all values accordingly changed, I'll do this project. You're welcome to ask friends. But it has to be done in the next days, cause I have also many other projects I am working on.

Dragodraki commented 7 months ago

@NikitaGrin @mitschud

Update will comming. I achieved collecting several old computers with every GPU vendor: AMD; NVIDIA and Intel. I'll improve my scripts now and publish an updated version as soon its ready. It will take a few days, since the executables will come with lots of other bugfixes and some improvements.

Update: Please see my below comment that explains the delay.

NikitaGrin commented 7 months ago

@Dragodraki That's great because I don't have any old computers available. Thank you

Dragodraki commented 3 months ago

MAJOR UPDATE PREVIEW:

I am really sorry, there are currently some other projects that need my attention first. They are part of all my other projects to increase stability and compatibility a lot. Plus, with next fix of GPU Scaling will include several major improvements. E.g. one thing is Microsoft just called VBScript "deprecated" and disable it within the next months/years by default on all Windows 10/11 systems - as my script heavily depends on VBS, I have to write a standalone scripting host to add portable support for VBS first. Another reason is, I found some missing and even a false value for NVIDIA GPU's that will be fixed as well then as like the AMD program restart (if available), the duration time and choice between non-silent/silent mode.

That's why I decided to collect all the fixes first and release them at once. It will take even more time than I expected, but I promise to update as soon as possible. It will be worth the delay.