Feature Request. Expose display timings.

Discussion in 'RivaTuner Advanced Discussion forum' started by Turdhat, Nov 28, 2007.

  1. Turdhat

    Turdhat Master Guru

    Messages:
    210
    Likes Received:
    0
    GPU:
    MSI 1070 X
    As you may know Powerstrip was the program to use for weird timing and custom resolutions for just about any graphics card. Up to the 8xxx series of Nvida cards that is. For some reason Nvidia opted not to release the info that the makers of this great software needed to implement support for the 8xxx in Powerstrip. This left a lot of us users with Hdtv's and displays with odd resolution needs nearly out of luck.

    For myself I had to hex edit a reg key to get what I needed. There are tons of 8xxx users out there that didnt get as lucky as I did and figure out how to work around this limitation however I did post my work around in many fourms. Implementing a way to manipulate horizontal and verticle scan rates would make a ton of people in this boat (avsforums would love you long time) very, very happy. 1st of all I know you have long ago added the ability to add custom resolutions however changing timings is another story and I have a clue on how to do this as I was able to with a reg hack. Below is what I did to work around this. If its worth your time I am sure you could release a special (HTPC) version and charge for it because I for one know tons of people in the avsforum that need this and I would buy it NOW just to save me the trouble of the reg hack. Anyway, here is what I posted as my work around..

    From old post:

    I dont know if I can do a good job of explaining this because its from memory and I have no clue if anyone can benefit from this other than HDTV users or people with other special displays but here goes anyway.

    I purchased an 8800 gtx for gaming and movies on my pc only to find that powerstrip would not work. The nvidia custom res app is very limited compared to powerstrip and did not allow me to make the timings and resolution needed for a 1:1 pixel mapping on my Samsung Hlp-5085w over VGA. My desired resolution is 1240x700 which fits the screen perfectly and is really just 1280x720 with no overscan. The problem with the Nvidia custom res app is that you cannot adjust horizontal scan rates so when I made the 1240x700 res it would send the wrong horizontal scan rate and kick my hdtv in to 800x600 while still trying to display 1240x700 lines. Of course this looked really screwed up... I had to settle for 1240x715 for a while which kept the scan rate high enough to keep my set in 720p. This caused a bit of overscan which was acceptable but annoying none the less.

    I got curious about where the timings were stored in the windows registry and decided to run a registry monitor while adding a new custom res with the nvidia drivers. In doing this I found that a registry entry called CUST_MODE was added and of course the entire string was in hex. Using a hex to decimal converter (http://www.statman.info/conversions/hexadecimal.html) I found that 715 (the horizontal section of my custom res was 2cb. Low and behold when I checked the reg key I found 02cb. There was plenty of other items in this cust_mode key and I assumed that the scan rates, front porch etc were the other items. Turned out I was right !!! Using the hex converter I found that 700 was 2bc. By changing both instances of 02cb(715) to o2cb(700) and leaving the rest alone I was shocked upon reboot to find that I had achieved 1240x700 with 1280x720 timings. I had a perfect 1:1 pixel mapping with no overscan. Resolution within a resolution achived.

    I had to use a third party registry editor so that I could view the hex from the reg key in dword mode otherwise everything was out of order.

    Create a custom res with the nvidia drivers so that the CUST_MODE key is created, search the registry for CUST_MODE. Even if you already have a 720p or 1080i setting in your display properties create one anyway. Make it close to the displays native res. Like 1280x718 for instance just to get the needed key created. Use the hex to decimal converter to find out what 1280 or 718 is in hex and then find out what your desired res is in hex and alter the appropriate keys. In theory this should work for anyone.

    As always edit the windows registry AT YOUR OWN RISK and export the original key before you change a thing then of course. On a bad note it looks like this will have to be done each time you change vid drivers because it creates a new key with a different ID so you cant just install new drivers and import your old key...

    Also tried with vista but no luck. Since the nvidia drivers for vista do not have the custom res tool there was no way to create the CUST_MODE key. I did try to add it manualy but no dice.... The only way I know to get custom res in vista with an 8800 series card is to install the driver, go to c:\nvidia and edit the nv4disp.inf file. In side of this file you will find a list of resolutions that are added when the driver is installed. Add the res you need and reinstall the driver from the setup.exe located in the same directory. You get no control over timings however so in vista I am forced to use 1240x715 and deal with overscan..... Umm good luck with that.

    Hope this helps someone...
     
  2. Turdhat

    Turdhat Master Guru

    Messages:
    210
    Likes Received:
    0
    GPU:
    MSI 1070 X
    Any thoughts ?
     
  3. EnF70

    EnF70 Member

    Messages:
    20
    Likes Received:
    0
    GPU:
    8800GTX
    Well, I was looking for a similar solution a while ago.
    I have Vista, 8800GTX, 169.09 drivers and a Sony 55" SXRD.

    I don't remember when (which driver version) but NVidia added 2 custom resolutions for HDTV to deal with 1:1 pixel mapping and overscan for both 720p and 1080p.

    1176x664 - HDTV signal 720p
    1768x992 - HDTV signal 1080p

    I use both of them for gaming @ 60Hz and I find them more then adequate for my TV as they fill the screen quite well (1-2cm black borders) while they maintain 1:1 pixel mapping.
    Note: Digital flat panel set to "no scaling" and "Desktop resize not used" in NVidia Control Panel.

    For movies, I use true 720p (1280x720) and 1080p (1920x1080) depending on the source and I don't mind to loose around 2.5% in overscan as long as 1:1 pixel mapping is preserved.
    I think it's important to match the source video resolution to display resolution so no scaling will take place in the rendering process in order to get the perfect crisp 1:1 pixel mapping.

    Cheers,
    _EnF_
     
  4. Turdhat

    Turdhat Master Guru

    Messages:
    210
    Likes Received:
    0
    GPU:
    MSI 1070 X
    Well 1176x664 would leave me with serious underscan for sure and that 664 would have my display running in 800x600 mode. What HDTV users need is a way to say ok I want a 1280x720p signal to only display 1240x700 lines. This would fix a ton of issues and would not be hard to implement at all. Select 720p, enter number of desired lines and thats it... So technically lets say you selected 720p and entered 320x240 as number of lines to display. Your 1280x720 would be a tiny 320x240 window centered in the middle of you screen but still maintaining a 1:1 pixel map. Why anyone would do that I have no clue but just to give an idea how it would work. I did it with a reghack so I know damn well it could be done via an app. If I only knew how to program...
     

  5. Turdhat

    Turdhat Master Guru

    Messages:
    210
    Likes Received:
    0
    GPU:
    MSI 1070 X
    Bump for comments from dev...
     
  6. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,126
    Likes Received:
    6,690
    Forget it.
     
  7. Turdhat

    Turdhat Master Guru

    Messages:
    210
    Likes Received:
    0
    GPU:
    MSI 1070 X
    Why ? Aint gonna happen ? Why ? Ok maybe you dont want to add it as a feature.. Understand.. Why has Nvidia dropped the ball on such a needed feature ?
     

Share This Page