Hello!

It looks like you're new here. If you want to get involved, click one of these buttons!

How to: Custom Aspect Ratios and Resolutions via DSR (Nvidia only)


How to get 10 custom resolutions in any aspect ratio you want


You can now create any resolution you want by directly editing the Nvidia DSR registry settings.

But why would you want to do that? Well, maybe your monitor just doesn't play nice with custom resolutions and\or forces you to use lower refresh refresh rates to make them stick. The problem with DSR has always been that it forces you to stick with your native aspect ratio. Well, not anymore :)

Here's a quick summary:

  • 1. Export your Nvidia DSR registry settings (you should only ever need to do this once).
  • 2. Use this tool to generate the registry data for up to 10 custom resolutions.
  • 3. Swap that into your exported registry file and save. Double click that file to import your registry settings.
  • 4. Use DevManView to toggle your display adapters so the new settings kick in. This saves you from having to do a restart and only takes about 10 seconds.
  • 5. Enjoy your 10 custom resolutions in any aspect ratio you want.

The whole process can take about 1 minute from start to finish once you're acquainted with the process, meaning you can easily swap in new resolutions whenever you want..



1. Export your registry settings

Open Regedit (open your start menu and type "regedit"). Navigate here:

HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> services -> nvlddmkm -> DisplayDatabase -> YOUR_DISPLAY_NAME_HERE

You might have a bunch of different folders in there for your displays. Seriously, this is what mine looks like. The bottom 2 ended up being my monitors (I have 2). You'll know the folders correspond to a monitor when you see a populated "SmoothScalingData" parameter.

Right click that folder and click "export." Save the file somewhere you'll remember it. This file is handy as you simply need to double click it after a new driver install to restore your custom resolutions.



2. Run the DSR calculator

The DSR Calculator is a tool I made that will allow you to type in 10 custom resolutions and will generate the required hex information for them. You simply need to copy that to your clipboard and be prepared to replace that section of the registry file you exported.

Click here to use the DSR Calculator.

You'll get some data that looks like this:

"SmoothScalingData"=hex:01,00,00,00,22,00,00,00,10,00,00,00,C7,38,00,00,41,36,00,00,00,00,00,00,22,44,00,00,61,51,00,00,00,00,00,00,7D,4F,00,00,82,6C,00,00,00,00,00,00,D8,5A,00,00,A2,87,00,00,00,00,00,00,11,22,00,00,41,36,00,00,00,00,00,00,C7,38,00,00,20,1B,00,00,00,00,00,00,7D,4F,00,00,61,51,00,00,00,00,00,00,D8,5A,00,00,82,6C,00,00,00,00,00,00,33,66,00,00,41,36,00,00,00,00,00,00,7C,23,00,00,61,51,00,00,00,00,00,00


3. Edit your exported registry file

Remember that file you exported? Open it in a text editor. We're interested in replacing the lines highlighted like in this picture (5-10):


image

Highlight those lines and paste in the data you copied from the DSR tool. Save the file and then run it (double click). Say yes when it warns you about the potential damage you could be doing to your computer. Look, it's either this or manually replacing the bytes 1 by 1 in the registry. I fell asleep the first time I did that by hand.... ugh. This is better.



4. Use DevManView OR Restart your computer

Stein3x (screenshotter and cool dude in general) pointed out this nifty tool. You can download it and then create a BAT file that will toggle specific devices. For our purposes, this saves from having to do a complete restart every time you import new registry settings, which means you can instantly change out your DSR resolutions if you have a few registry files saved (why have 10 when you can have 30?)

Get the tool from here. The download link is all the way down a the bottom.

Extract that somewhere. I personally maintain a "utilities" folder for stuff like this.

Inside that same folder, create a new text file with the following line:

devmanview /disable_enable "XXX"

and save it as "toggle_gpu.bat" or... whatever you want to call it. Then, figure out the name of your display adapter and replace the "XXX" with that. You can find it listed in DevManView or your Device Manager. I have Gefoce 980 TIs, so this is my toggle command:

devmanview /disable_enable "NVIDIA GeForce GTX 980 Ti"

Double click that bat file and your monitor(s) will shut off for about 10 seconds (your Nvidia control panel does this when you enable DSR for the first time).

When your monitor(s) come back on, check your display settings and you should see your new custom resolutions ready to go. SUCCESS!



5. Enjoy your new resolutions!

Ok, so doing all this for the first time might take a few minutes, but it sure beats the half an hour or so I spent when I first went through the process manually. The old way was following this guide which involved manually calculating the multipliers for each resolution, converting to hex, flipping those bytes, and then manually replacing them in the registry 1 by 1. It was a hassle.

Now, if you want to use 10 completely new custom resolutions, you simply type them into the tool and you'll be able to use them in 30 seconds.

Hopefully some people get some use out of this. If you have any questions or something isn't working, let me know. The DSR tool has no error checking whatsoever and was hastily thrown together in my limited free time. So... you know, it could mess up.



«1

Comments

  • edited October 2016
    Here is my list for a 1080p screen.

    1 | 1920x960 - 1027 x B822
    2 | 6000x3000 - 127A x 816C
    3 | 1920x800 - 1027 x EF1C
    4 | 6600x2750 - 4786 x 7663
    5 | 810x1080 - 7A10 x 1027
    6 | 3750x5000 - 4B4C x D8B4
    7 | 1080x1080 - F915 x 1027
    8 | 4500x4500 - 8D5B x C2A2

    X | 8000x4000 - C2A2 x AD90
    X | 8000x3333 - C2A2 x 8D78
    X | 4500x6000 - 8D5B x 03D9
  • This is a pretty cool find! Thanks for putting this together.
  • Nice! Thanks for the time on this. Not that my current 1920x1200 HP monitor + gtx780 will benefit much from it, but for the (near) future it's a great thing to have.
  • Works great! Thanks for the guide (and the calculator!)
  • edited October 2016
    We figured out the format of the SmoothScalingData hex, so I can maybe modify the tool to just output that block of HEX for you. Goes like this:

    01,00,00,00,21,00,00,00,05,00,00,00, // config: contains smoothness and number of resolutions
    XX,XX,00,00,YY,YY,00,00,00,00,00,00, // res1
    XX,XX,00,00,YY,YY,00,00,00,00,00,00, // res2
    XX,XX,00,00,YY,YY,00,00,00,00,00,00, // res3
    XX,XX,00,00,YY,YY,00,00,00,00,00,00, // res4
    XX,XX,00,00,YY,YY,00,00,00,00,00,00, // etc...


    I won't be able to output a complete reg file as it contains a unique string for your monitor, BUT you could export your reg setting and replace that 1 block with something I spit out from the tool. That would make it so you don't have to double click on each bit in that block 1 by 1 to replace it. And then you'd have a reg file ready to import whenever you install new drivers.

    For the time being, it might be easier for you to manually edit that file and just importing it when you're done rather than going through regedit itself (which is a pain).
  • edited October 2016
    This is pretty nice for those who want custom AR's. At first i wasn't sure what was the point of this since we had DSR tool but then i noticed the custom AR support :) . Also a quick way to avoid restarting your PC when you make changes to the registry is to use DevManView. Make a bat file using notepad and use the command :

    devmanview /disable_enable "XXX"

    Where XXX is the name of your device/display adapter name found in device manager or within devmanview.
  • edited October 2016
    Thanks for that info. What I needed to enable\disable were my 2 GPUs. So for me it was:

    devmanview /disable_enable "NVIDIA GeForce GTX 980 Ti"
    In the bat file.

    I'm going to upload my new version soon that gives you the hex data you need to place into your registry file. That takes the hassle out of replacing the bytes 1 by 1. Really convenient for the 6 people out there doing this right now :)

    The guide is going to get a complete rewrite in a bit, as it now takes about 30 seconds to completely swap in 10 new DSR resolutions.

    EDIT: Done
  • edited October 2016
    I learned the shortcut: Win+Ctrl+Shift+B restarts the display driver in windows 10 (ref: https://twitter.com/mahoekst/status/786793407049936897). It sounds like you can use that too to re-load the resolutions I think (no devmanview needed). In win8.1 it doesn't do anything tho.
  • It causes my displays to go black for a sec, but it does not seem to reload the registry values in the process. That's unfortunate.
  • Yeah disabling and then enabling the actual GPU device would probably force a update of the registry values too when it's re-enabled whereas just restarting the display driver might not until you restart explorer.exe or if that doesn't work either log in and then log out again but if so the above utility method would be faster. :)
  • Just fixed a bug where the smoothness wasn't getting converted to hex properly, so 33 in the calculator wound up being 51% in the actual setting.
  • edited October 2016
    This worked for me but I found that the 1080x1080 and 810x1080 resolutions using this method seem to not display properly with a boot into safe mode required to change the resolution back to 1920x1080.

    What's strange is that I can select any of the other higher resolutions at all different AR's without a problem...those two resolutions also seemed to work when I had them setup as NVidia custom resolutions as well. I'm not sure why but it looks like I need to use resolutions above 1920 width (my native res width).

    Also can't seem to enable my second monitor anymore as well... [EDIT: And after a number of reboots it now seems to be working again!]
  • edited November 2016
    . duplicate through edit...
  • edited November 2016
    Works like a charm! web based tool has some issues in firefox in the input boxes (only the top pixels are shown), chrome did the trick. It's funny, I had defined DSR resolutions manually in the nvidia control panel, but the byte array in the registry was all zeros, for my main monitor (which was there twice, both with a zero filled array). I have the feeling this uses a different technique entirely than the DSR resolutions specified in the config panel applet.

    ps: For the people like me, who without any coffee, think 'what is smoothness factor', it's the factor in which the driver will smooth the driver based downsampling to your monitor resolution, if that wasn't clear. For best image quality, set it to 0.

    pps: uploading a profile picture gives a 500 internal server error. Likely a folder isn't writable or filespace for pictures in the DB is full. No biggy, just a FYI ;)

  • edited November 2016
    I did put a small description for the smoothness on the DSR tool page itself, but I figured if anyone is using DSR, they might already be familiar with that setting (it's in the control panel). Maybe I'll add it to the guide here as well. It boggles my mind how that setting can go above 50% because that's already looking blurry as hell for me O_O

    As for Firefox... well, I didn't really cross-browser test this thing. I rushed it out the door when I had a day to work on it :) Maaaybe I'll fix that later.

    Not sure what to do about the profile picture problem. I know Duncan encountered this a few times and has had to fix it in the past but... I've no clue what he issue is and no time to research it. He should put someone in charge with more availability....
Sign In or Register to comment.