CapFrameX OSD with RTSS

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by ZeroStrat, Nov 4, 2019.

  1. ZeroStrat

    ZeroStrat Active Member

    Messages:
    59
    Likes Received:
    19
    GPU:
    RTX 2080 Ti
    It works as expected. Nice! Thanks as always @Unwinder.
    CX_2020-11-13_12-00-26_Comparison.png
     
  2. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,202
    Likes Received:
    2,494
  3. Taxxor

    Taxxor Member

    Messages:
    15
    Likes Received:
    1
    GPU:
    RX5700XT Nitro+
    Thanks from my side too:)

    The only "problem" left is that by using these commands the visible toggle in the RTSS window doesn't respond to it, so it will say its on even if it's not.

    That could be confusing if someone used our hotkey to turn it off, forgot about it and later is wondering why he doesn't see an overlay when RTSS says it's on.

    Are we missing something? We didn't include the full solution, just the HooksInterface.
    https://github.com/CXWorld/CapFrameX/commit/cadd8a995d80a0a74d0161a8c900d784ea3701e1
     
  4. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,202
    Likes Received:
    2,494
    Visible toggle (Show On-Screen Display) in main RTSS GUI responds to it.
     

  5. Taxxor

    Taxxor Member

    Messages:
    15
    Likes Received:
    1
    GPU:
    RX5700XT Nitro+
    Using the Hotkey directly from the RTSS Plugin toggles it, using the AB Hotkey also toggles it, but on calling "OnOSDOff()" from our code it stays at "On".

    To check if it was working at all I activated "Show own statistics" to give me a simple FPS value when the CX overlay stuff is disabled to see if the OSD is still running.
    Calling OnOSDOff() lets this FPS value disappear so it is definately turned off but the visible toggle still says it's on.
     
  6. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,202
    Likes Received:
    2,494
    There is explicitly commented part of code responsible for notifying GUI to let it to be updated on toggling the option. Most likely you missed it when copying the implementation.


    DWORD CRTSSHooksInterface::SetFlags(DWORD dwAND, DWORD dwXOR)
    {
    DWORD dwResult = 0;
    HMODULE hRTSSHooks = GetModuleHandle("RTSSHooks.dll");
    if (hRTSSHooks)
    {
    SETFLAGS pSetFlags = (SETFLAGS)GetProcAddress(hRTSSHooks, "SetFlags");
    if (pSetFlags)
    dwResult = pSetFlags(dwAND, dwXOR);
    PostMessage(WM_RTSS_UPDATESETTINGS, 0 , 0);
    //force RTSS to update settings in main window GUI

    }
    return dwResult;
    }
     
  7. Taxxor

    Taxxor Member

    Messages:
    15
    Likes Received:
    1
    GPU:
    RX5700XT Nitro+
    Aah I see, so the code is there and the message gets posted.
    Thing is with "RTSSHooks.dll" it wasn't working at all, so the toggle didn't respond and the OSD also didn't disappear.
    We changed it to "RTSSHooks64.dll" and now the OSD disappears, but the toggle still doesn't respond.

    RTSSHooksLoader64.exe is also the process that's running alongside RTSS for me
     
    Last edited: Nov 13, 2020
  8. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,202
    Likes Received:
    2,494
    RTSS GUI is 32-bit process. The call must be done from 32-bit process as well to work it properly. Doing it through RTSSHooks64 will only change 64-bit hooking context.
     
  9. Taxxor

    Taxxor Member

    Messages:
    15
    Likes Received:
    1
    GPU:
    RX5700XT Nitro+
    Hmm but "GetModuleHandle("RTSSHooks.dll")" gives me a "false" and therefor sets no flags and posts no message. CapFrameX itself is 64bit
     
  10. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,202
    Likes Received:
    2,494
    To get RTSSHooks.dll handle you must be in 32-bit process. You cannot load 32-bit moduels into 64-bit processes and vice versa.
     
    ZeroStrat likes this.

  11. ZeroStrat

    ZeroStrat Active Member

    Messages:
    59
    Likes Received:
    19
    GPU:
    RTX 2080 Ti
    @Unwinder Happy new year!

    I've got a question. Where can I find the GPU PPT sensor as listed below (HWiNFO screenshot) in the ADL? This the sensor enum form the OpenHardwareMonitor lib we are using.

    Code:
      internal enum ADLSensorType {
        CLK_GFXCLK = 1,
        CLK_MEMCLK = 2,
        CLK_SOCCLK = 3,
        CLK_UVDCLK1 = 4,
        CLK_UVDCLK2 = 5,
        CLK_VCECLK = 6,
        CLK_VCNCLK = 7,
        TEMPERATURE_EDGE = 8,
        TEMPERATURE_MEM = 9,
        TEMPERATURE_VRVDDC = 10,
        TEMPERATURE_VRMVDD = 11,
        TEMPERATURE_LIQUID = 12,
        TEMPERATURE_PLX = 13,
        FAN_RPM = 14,
        FAN_PERCENTAGE = 15,
        SOC_VOLTAGE = 16,
        SOC_POWER = 17,
        SOC_CURRENT = 18,
        INFO_ACTIVITY_GFX = 19,
        INFO_ACTIVITY_MEM = 20,
        GFX_VOLTAGE = 21,
        MEM_VOLTAGE = 22,
        ASIC_POWER = 23,
        TEMPERATURE_VRSOC = 24,
        TEMPERATURE_VRMVDD0 = 25,
        TEMPERATURE_VRMVDD1 = 26,
        TEMPERATURE_HOTSPOT = 27,
        TEMPERATURE_GFX = 28,
        TEMPERATURE_SOC = 29,
        GFX_POWER = 30,
        GFX_CURRENT = 31,
        TEMPERATURE_CPU = 32,
        CPU_POWER = 33,
        CLK_CPUCLK = 34,
        THROTTLER_STATUS = 35,
        CLK_VCN1CLK1 = 36,
        CLK_VCN1CLK2 = 37,
        SMART_POWERSHIFT_CPU = 38,
        SMART_POWERSHIFT_DGPU = 39
      }
    But what is GPU PPT? Which ovedrive version does Big Navi "use"?

    [​IMG]
     
  12. Astyanax

    Astyanax Ancient Guru

    Messages:
    9,509
    Likes Received:
    3,324
    GPU:
    GTX 1080ti
    I don't believe package tracking is implemented in MSI AB (unwinder can correct me on this)
     
  13. vision57

    vision57 New Member

    Messages:
    1
    Likes Received:
    0
    GPU:
    RTX3080/10GB
    @ZeroStrat @Unwinder Need your help. What is the text encoding of field RTSS_SHARED_MEMORY_OSD_ENTRY.szOSDEx?
    I want to put some Chinese(unicode) text on the OSD, and can't find more explain on google.
    I have tried ISO-8859-1 encoded bytes, which show °C normally, but failed to show more non-ascii char in ISO-8859-1. I also tried to change font, but still failed to show.
     
    Last edited: Jan 18, 2021
  14. ZeroStrat

    ZeroStrat Active Member

    Messages:
    59
    Likes Received:
    19
    GPU:
    RTX 2080 Ti
    We've "solved" it. "Solved" because there are actually no changes with the power sensors. It's still something unknown between TBP and Core Power.

    I don't know this for sure but isn't it a compiler option?
     
  15. ZeroStrat

    ZeroStrat Active Member

    Messages:
    59
    Likes Received:
    19
    GPU:
    RTX 2080 Ti
    Official Release v1.5.8

     
    SpajdrEX likes this.

Share This Page