Help overclocking using extended clocks for AMD Radeon cards

Discussion in 'MSI AfterBurner Application Development Forum' started by GPUCoder, Jul 1, 2012.

  1. GPUCoder

    GPUCoder Member

    Messages:
    37
    Likes Received:
    0
    GPU:
    ATI HD5870 CF @ 1GHz
    Hello guys, let me explain the situation. Till now I was using UOC (Unofficial Overcloking) with MSI Afterburner 2.2.2.

    I decided to try official 12.7 beta drivers from AMD on my setup which is 5870 Crossfire. I realise that after 12.2WHQL AMD dropped UOC. I can use the library atipdlxx.dll with Afterburner, but I have now some side effects like wrong idle clocks whenever the app sets clocks through UOC.

    So, I wanted to try extended clocks via -xcl with Afterburner, or using RacerX (doesn't work with 12.7beta) (both actually doing the same thing) to avoid above compatibility problems. The problem I have is that even though my 5870 cards have idleclocks 157/300, lower limit-medium clocks: 600/900, uvd(hw acceleration) 400/900, 3d clocks: 850/1200, the registry that -xcl writes:

    "PP_PhmSoftPowerPlayTable"=hex:6f,01,05,01,00,04,04,10,18,58,00,68,00,b8,00,e8,\
    03,e8,03,58,00,00,80,01,00,0f,00,00,02,08,3c,00,00,68,00,b8,00,00,18,01,09,\
    00,18,01,26,01,83,01,00,00,a0,0c,00,00,30,01,40,01,4b,01,00,00,00,00,00,00,\
    aa,00,00,00,78,00,00,00,60,ea,00,00,56,01,0a,00,00,00,14,00,00,00,00,00,00,\
    00,01,01,02,03,02,02,02,04,03,02,02,04,08,4c,01,c0,d4,01,01,ff,7e,04,00,00,\
    01,00,00,00,54,3d,00,30,75,00,b6,03,b6,03,00,00,01,00,00,00,60,ea,00,90,5f,\
    01,27,04,7e,04,00,00,01,00,00,00,08,4c,01,c0,d4,01,01,ff,7e,04,00,00,01,00,\
    00,00,34,1b,01,48,e8,01,01,ff,7e,04,00,00,01,00,00,00,08,00,00,00,78,00,00,\
    00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,78,00,00,00,\
    00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,7a,00,00,00,00,\
    00,00,f0,d2,00,00,40,9c,00,00,00,00,00,00,00,00,00,00,00,7a,00,00,00,00,04,\
    00,70,11,01,00,c0,da,00,00,00,00,00,00,00,01,06,94,11,c4,22,54,24,60,09,3c,\
    0f,88,13,0a,00,0c,f2,01,00,60,61,02,00,03,40,9c,00,84,03,50,c3,00,e8,03,68,\
    3c,01,01,ff,02,98,3a,00,b6,03,48,e8,01,7e,04,02,98,3a,00,84,03,48,e8,01,e8,\
    03,04,84,03,11,00,00,00,e8,03,1a,00,00,00,4b,04,28,00,00,00,4c,04,28,00,00,\
    00

    what I have found so far messing the hex data:

    "PP_PhmSoftPowerPlayTable"=hex:6f,01,05,01,00,04,04,10,18,58,00,68,00,b8,00,e8,\
    03,e8,03,58,00,00,80,01,00,0f,00,00,02,08,3c,00,00,68,00,b8,00,00,18,01,09,\
    00,18,01,26,01,83,01,00,00,a0,0c,00,00,30,01,40,01,4b,01,00,00,00,00,00,00,\
    aa,00,00,00,78,00,00,00,60,ea,00,00,56,01,0a,00,00,00,14,00,00,00,00,00,00,\
    00,01,01,02,03,02,02,02,04,03,02,02,04,08,4c,01,c0,d4,01,01,ff,7e,04,00,00,\ <-- boot-3d clocks
    01,00,00,00,54,3d,00,30,75,00,b6,03,b6,03,00,00,01,00,00,00,60,ea,00,90,5f,\ <-- idle clocks, lower limit clocks
    01
    ,27,04,7e,04,00,00,01,00,00,00,08,4c,01,c0,d4,01,01,ff,7e,04,00,00,01,00,\ <-- 3d clocks
    00,00,34,1b,01,48,e8,01, <-- ?
    01,ff,7e,04,00,00,01,00,00,00,08,00,00,00,78,00,00,\
    00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,05,00,00,00,78,00,00,00,\
    00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,7a,00,00,00,00,\
    00,00,f0,d2,00,00,40,9c,00,00,00,00,00,00,00,00,00,00,00,7a,00,00,00,00,04,\
    00,70,11,01,00,c0,da,00,00,00,00,00,00,00,01,06,94,11,c4,22,54,24,60,09,3c,\
    0f,88,13,0a,00,0c,f2,01,00,60,61,02 <-- overclock limits ,
    00,03,40,9c,00,84,03,50,c3,00,e8,03,68,\
    3c,01,01,ff,02,98,3a,00,b6,03,48,e8,01,7e,04,02,98,3a,00,84,03,48,e8,01,e8,\
    03,04,84,03,11,00,00,00,e8,03,1a,00,00,00,4b,04,28,00,00,00,4c,04,28,00,00,\
    00

    replaces uvd clocks from 400/900 to 600/900. I tried messing with the hex data but haven't find how to keep both intermediate clock: 600/900 and uvd clock: 400/900 working like the original behaviour of the cards. Does anyone using extended clocks and even better owns a 5800 series card have found a solution to this? Thanks in advance.:)
     
    Last edited: Jul 1, 2012
  2. GPUCoder

    GPUCoder Member

    Messages:
    37
    Likes Received:
    0
    GPU:
    ATI HD5870 CF @ 1GHz
    SOLVED.:banana:

    After a lot of testing and hex dumping from bios, I realised everything I need to know about the hex data and fixed it myself.

    ATTENTION to everyone using RacerX or MSI Afterburner with -xcl:
    By default RacerX (plus MSI AB -xcl which just has copied RacerX's method) use as template a 6950 and modify 3d clocks, lower clocks and Overdrive limit clocks (quite wrong). They leave voltages unmodified from those of a 6950 card. By default they replace by fault uvd clocks entry with lower clocks values(intermediate clocks state) in registry which is why I created this thread in first place, and they force 725/1250 intermediate clocks which are right only for an 6950 and totally nonsense for other cards.

    Moreover and worst of all, they set wrong voltages (6950's voltages) through that registry data which in my case where quite higher than each clock state normally requires for UVD and intermediate clocks. This in some card senarios could be a reason for huge instabilities and driver crashes-BSODs when using Afterburner extended clocks and seeing a video in youtube for example.

    Finally, fixed all that bull**** which I had reported to MSI Afterburner bug section but Unwinder or any other MSI dev didn't bother to response or fix.

    However, I'm SURPRISED, that all of the 190 (and counting:stewpid:) "guru's" in guru3d forum that read the thread where so noobs to understand and make a simple reply...:puke2:

    In the future maybe I'll make a new thread as a tutorial for other AMD fellows using wrong extended clocks (haven't realised yet?:deflate:)on how to edit correctly their registry data to match their cards as it should do by default -xcl command

    :)
     
    Last edited: Jul 3, 2012
  3. The Mac

    The Mac Guest

    Messages:
    4,404
    Likes Received:
    0
    GPU:
    Sapphire R9-290 Vapor-X
    dont forget, the soft powerplay table doesn't even exist till you use -xcl, or import racerx's reg entry.

    It relies on the bios by default.
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,194
    Likes Received:
    6,865
    Plain wrong. First, neither Afterburner nor ASUS GPU Tweak (which also provides extending clock range functionality) use any "templates", they both read current PowerPlay table from AMD driver and modify nothing but upper clock limits there.
    And vice versa, so called RacerX method, which we "copied" like you declare, is a result of extending clocks via ASUS GPU Tweak on 6950 and copying registry data from this card so it doesn't work properly on anything but 6950, because PowerPlay tables are different fro different GPU families (and even for different non-reference design cards inside one GPU family). If you were that smart to import RacerX 6950 data into your registry for 58xx family card - blame nobody yourself for that.

    Nobody is obliged to fix bugs in your head and educate you. Furthermore, there are no and never were any MSI devs around. MSI afterburner is single man project and I stopped dealing with users in the forum a long time ago. And you're live example why I no longer dealing with people coming here with zero knowledge inside the head and "fix your crap" attitude.
    And instead of telling about those "190" noobs, try to assume that they simply didn't want to mess with noob thread starter themselves.
     

  5. Falkentyne

    Falkentyne Master Guru

    Messages:
    544
    Likes Received:
    79
    GPU:
    Sapphire HD 7970 Ghz Ed.
    Thanks for setting that straight for us, Alexey :)
     

Share This Page