Results 1 to 25 of 390

Thread: Tutorial: How to softmod to ANY VGPU you want without hardmods! (1.3~1.6v or more)

Threaded View

  1. #1
    Xtreme Addict
    Join Date
    Jan 2008
    Posts
    1,463

    Tutorial: Softmod to any voltage you want! [Updated] (1.3~1.6v or more)

    PLEASE POST IF YOU CAN GET THIS TO WORK ON G92 OR G80 CARDS.
    Thanks to JustaGeek95 and Unwinder.
    So far people have this working on HD4800, HD3800, 9800GX2, and GT200 cards

    UPDATE 2/7/09:
    For Nvidia Cards only:
    An extremely easy method is here, making all other original methods unnecessary (unless you have an ATI card). Use the evga voltage tuner 1.0 together with agent god's patch, and the evga voltage tuner now works on any brand nvidia card and increases slider limitation from 1180mv to 2000mv. Remember to use GVT to set your voltage while in 3dmode (ie while atitool or furmark is running). If you set it at desktop, it sets the 2d voltage, and when you open a fullscreen 3d game, it reverts to stock voltage.

    1. download the evga voltage tuner here:
    http://www.mediafire.com/file/jmxxne...uner%201.0.rar
    2. download the unlocking patch here:
    http://www.epichardware.com/bin/EVGA-GVT-patch.rar
    Enjoy!


    Official Evga voltage tuner can be found here:
    http://www.evga.com/articles/00462/



    New and improved:


    More information can be found in these two threads:
    Evga Voltage Tuner:
    http://www.xtremesystems.org/forums/...d.php?t=215350
    Rivatuner plugin supporting gt2xx and 48xx voltage tuning:
    http://www.xtremesystems.org/forums/...d.php?t=217002


    OLD METHODS:

    FOR ATI or NVIDIA VIDEO CARDS
    *The easiest method for this mod is to use the unlocked EVGA voltage tuner It has sliders!

    6 methods to do this mod here (you will need to use one of these if you have an ATI card):

    1. Maxibition's Voltage factory
    Application to modify all volterra VT11XX IC Cards (GX2,260-65nm,280,295,4850,4870) -
    Awardfabrik.deVoltage Factory V1.0 download link:
    http://rapidshare.com/files/19383349...dfabrik.de.rar
    version 1.1 available:
    http://www.awardfabrik.de/images/sto...wardFabrik.zip





    2. 3oh6's Easy guide with pictures:
    http://www.ocxtreme.org/forumenus/showthread.php?t=4427





    3. Pederr's automatic voltage tool:
    http://www.xtremesystems.org/forums/...&postcount=211
    download here:
    http://www.gotweak.dk/Filer/OCTDK/GP...rol%20v.A2.zip





    4. Diverge's RT voltage slider add-on:
    http://www.xtremesystems.org/forums/...&postcount=385
    download link (install into Rivatuner directory):
    http://www.xtremesystems.org/forums/...2&d=1233640326





    5. FGW's Rivatuner Plugin:
    http://www.xtremesystems.org/forums/...56&postcount=1
    download link:
    http://fg000005.host.inode.at/pub/vt1165.zip





    6. Justageek95's D.I.Y. method:
    With the assistance of Unwinder's genius, this is the man that brought the news to all who weren't in the know

    here is the correct formula:

    Quote Originally Posted by mattkosem View Post
    the formula that is used to calculate the desired vid that it should really be:

    (VID * 0.0125) + 0.45
    *note: You must enter these commands from the command line or in DOS.

    Quote Originally Posted by justageek95 View Post
    DISCLAIMER: I TAKE NO RESPONSIBILITY FOR ANY DAMAGE THAT MAY HAPPEN IF YOU DO THIS!

    1. Find the I2C bus of your card by running the following CLI commands:
    RivaTuner.exe /ri0,70,1A
    RivaTuner.exe /ri1,70,1A
    RivaTuner.exe /ri2,70,1A
    RivaTuner.exe /ri3,70,1A
    Three of these four commands will return "invalid" take note of the one that doesn't (for me it was /ri3,70,1A)
    This will find the I2C bus (highlighted in red in my example)

    2. Get your voltage register values
    Using the I2C bus number found above, (0-3, highlighted in red) run the following CLI commands, replacing "#" with the I2C bus number.
    RivaTuner.exe /ri#,70,15
    RivaTuner.exe /ri#,70,16
    RivaTuner.exe /ri#,70,17
    RivaTuner.exe /ri#,70,18
    Take note of the return value for each.

    3. Convert voltage register values to actual voltage
    For each of the values returned in step 2 do the following:
    A. Convert the value to decimal format (the returned values are in hexidecimal)
    B. Calulate actual voltage by the formula: voltage =
    (VID * 0.0125) + 0.45

    C. Compare the 4 resulting actual voltages to the voltage reported in 3D mode in Rivatuner hardware monitoring.
    D. The closest value should be your 3D voltage (ex: for me Rivatuner showed 1.13v, I got 1.250v
    E. Take note of the register that is associated with that value. (highlighted in red in step 2)

    4. Calculating the voltage to use
    A. Decide what voltage you want to set.
    B. Find the VID for that voltage using the formula VID = (voltage - 0.450) / 0.0125
    C. Convert the VID to hexadecimal

    5. Setting a new voltage
    You can set the voltage by writing the new VID in hexadecimal form to the register.
    A. Run the CLI command: (replace # with IC2 bus number, and VID with the VID in hexadecimal form)
    RivaTuner.exe /wi#,70,17,VID

    The new voltage should now be set!



    Example: GTX 260, desired voltage = 1.2v

    1. All the commands return "invalid" except RivaTuner.exe /ri3,70,1A which returns "0A"

    2. I get the following values:
    RivaTuner.exe /ri3,70,15 returns 3B
    RivaTuner.exe /ri3,70,16 returns 31
    RivaTuner.exe /ri3,70,17 returns 36
    RivaTuner.exe /ri3,70,18 returns 2F

    3. Calculating the voltages of each:
    Hex: Decimal: Voltage:
    3B......59......1.1875v
    31......49......1.0625v
    36......54......1.1250v
    2F......47......1.0375v
    Rivatuner was reporting 1.13v in 3D mode so the third one is my 3D voltage register.

    4. I wanted 1.2v so:
    VID = (1.2 . 0.45) / 0.0125 = 60
    60 = 3C in hexadecimal

    5. I set the new voltage by running:
    RivaTuner.exe" /wi3,70,17,3C

    Quote Originally Posted by Unwinder View Post
    A few tips and tricks:

    1) Once you've determined index of I2C bus containing VRM on some display adapter (e.g. I2C bus 3 on GTX 200 series), the same index can be safely used on the same display adapter model by others. Display adapters have a few I2C buses assigned for differed functions (e.g. for connecting DDC and for external devices like VRMs, thermal sensors, fan PWM controllers and for on), VRM's I2C bus is defined by PCB design so it is fixed for the same display adapter families.
    2) Don't try to scan more I2C buses than the GPU actually has (there was some posting with attempt to scan buses 0-99 in hope to find VRM on G92). Each GPU architecture supports fixed number of I2C buses, e.g. G80 and newer GPUs have only 4 I2C buses, pre-G80 supports 3 buses, pre GF4 supports just 2 buses and so on.
    3) I see that many users started to enable VT1103 plugin now. Please pay attention to the following info from RivaTuner's release notes and always remember about it when using this plugin:

    "Please take a note that Volterra voltage regulators are rather sensitive to frequent polling and may return false data under heavy load, so it is not recommended to use VRM monitoring in daily monitoring sessions"

    4) There were some questions about finalizing these new VRM settings in NVIDIA VGA BIOS. You cannot use Nibitor for that because the tool knows nothing about VRMs and works with BIOS voltage tables only, it is only allowing you to change associations between performance levels (i.e. 2D/3D modes) and 4 fixed voltages stored into VRM registers 15-18 by default. However, you can easily edit your BIOS with any hex editor to reconfigure initialization scripts writing these 4 fixed voltages to VRM during POST. It is rather simple task, taking my 65nm EVGA GeForce GTX 260 as example the following script command in VGA BIOS is configuring VT1165:

    4D 80 E0 06 15 3B 16 31 17 36 18 2F 1D 55 19 01

    The command uniquely identifies I2C serial byte write operation, encodes target I2C device address (E0 is 8-bit encoding of VT1165's 7-bit address 70 including read/write flag in the first bit), tells script processor how many bytes have to be written (06) and finally defines register addressed and data to be written to each register (register 15 -> 3B, register 16 -> 31 and so on).
    The voltages can be different for different VGA BIOS images, so the easiest way to locate this command in any GTX200 BIOS image is to search for 4D 80 E0 byte chain.

    Please read my previous comment about I2C bus indices, altering I2C bus indices is not a correct way. You should try to probe difference i2c device addresses instead. Each I2C device address is defined by developers (e.g. ADT7473 fan controller use fixed address 2E, VT11xx VRMs use fixed register 70 by default, but it can be strapped to 7x AFAIR, etc).
    You must have Primarion PX3544 datasheet to know where it normally resides. I've peeked inside reference 9800 GTX BIOS to see if it is initializing any I2C devices and it does seem to write something to I2C device 6A (writes single byte 86 to register 80 of this device). It can be Primarion PX3544, but I've no strict info about it because I don't have any info on this VRM I2C interface.

    Quote Originally Posted by drifter View Post
    TX man!
    works on my gtx 280

    http://www.easycalculation.com/decimal-converter.php
    http://www.maxi-pedia.com/hex+to+decimal+converter

    hex to dec and dec to hex converters
    edit: does anyone know how to get it running at rivatuner/pc startup?
    Quote Originally Posted by auchkoenig View Post
    It working on my GTX280 too but I have a question though. The given cli only change the VID for gpu0, how do I change the VID for gpu1 since im using SLI.

    I tried checking the diagnostic report. The only difference between the two GPU is one is on

    $0000000003 Location : bus 2, device 0, function 0

    and the other one is on

    $0000000003 Location : bus 3, device 0, function 0

    My guess is that i need to change the deviceid, am I correct?
    Quote Originally Posted by Unwinder View Post
    You should apply changes to both GPU VRMs. CLI works with GPU selected in the main tab of RivaTuner. There is /sd<device_index> or /selectdevice<device_index> command allowing to change device selection via CLI. <device_index> is 0-based logical display device index, i.e. if there are 4 virtual display devices (2 heads representing independent displays for the primary GPU and 2 more heads for the secondary) then your should select the first (0) then the third (2) logical devices when applying the changes. In this example, command line for probing VRMs of both GPUs can look like:

    RivaTuner.exe /sd0 /ri3,70,1a /sd2 /ri3,70,1a
    Quote Originally Posted by Unwinder View Post
    RivaTuner's task scheduler module was designed special for such tasks. Go to <Scheduler> tab, click <Add new task> button and type in task name, e.g. "Voltage mod", select <Launch application on specified schedule> task type in %RT% macro as path (RivaTuner will expand it into fully qualified path to itself when executing) and desired I2C writec commands in the command line field then selct desired schedule type, e.g. <Run task at RivaTuner startup>.
    Original Thread here:
    http://www.xtremesystems.org/forums/...=215350&page=5
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	vmodhr3.jpg 
Views:	43640 
Size:	151.7 KB 
ID:	93428  
    Last edited by jaredpace; 02-12-2009 at 11:04 AM. Reason: change title for benchzowner

Tags for this Thread

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •