EVGA

Bios feature request

Author
acefrozen1
New Member
  • Total Posts : 41
  • Reward points : 0
  • Joined: 2016/03/08 10:26:08
  • Status: offline
  • Ribbons : 1
2018/03/14 04:39:17 (permalink)
Making this request here since i know it should be seen by some EVGA rep that might be able to make it happen, even though im sure they have seen requests for this in other threads.
 
Can we please get the custom fan curve feature unlocked for modification under Custom in the bios? Having to manually set my curve in PXM 1.09 after every boot just to be able to play games comfortably and without fear of my laptop overheating (as it has once before) is not an acceptable solution. I have nothing against PXM, but i, like many others, would prefer to have this feature enabled.
 
Thank you in advance for all of your hard work.

DESKTOP: AMD Ryzen 9 5900X @ 4.5ghz | Asus ROG GTX 1080TI | 1200w EVGA Supernova P2 with EVGA white sleeved cables | 32gb Corsair Vengeance RGB DDR4 @3600 | Gigabyte X570 Aorus Master | Rosewill Cullinan | Garuda Linux

 
LAPTOP: Asus ROG G513QY AMD Advantage Edition | Garuda Linux

 
WORKSTATION: HP Z600 | 2x Intel Xeon x5675 @3.2ghz | EVGA GTX 1060 6gb | 24gb Corsair DDR3 ECC | AlmaLinux

 
SERVER: Lenovo Thinkstation | Intel Xeon E5-1650 v4 @3.6ghz | 32gb DDR4 ECC | Ubuntu Server

#1

10 Replies Related Threads

    ty_ger07
    Insert Custom Title Here
    • Total Posts : 21170
    • Reward points : 0
    • Joined: 2008/04/10 23:48:15
    • Location: traveler
    • Status: offline
    • Ribbons : 270
    Re: Bios feature request 2018/03/14 06:22:45 (permalink)
    Same topic:
    https://forums.evga.com/i...os-level-m2744865.aspx

    It is certainly possible. The feature is already in the BIOS and works properly. All EVGA would need to do is make the feature available to users by default. See the above thread for screenshots of the feature unlocked with a small BIOS modification.

    ASRock Z77 • Intel Core i7 3770K • EVGA GTX 1080 • Samsung 850 Pro • Seasonic PRIME 600W Titanium
    My EVGA Score: 1546 • Zero Associates Points • I don't shill

    #2
    YogSothoth
    New Member
    • Total Posts : 60
    • Reward points : 0
    • Joined: 2017/12/15 22:34:44
    • Status: offline
    • Ribbons : 0
    Re: Bios feature request 2018/03/15 16:11:46 (permalink)
    While we're at it, I would love a BIOS option to define the function keys as defaulting either to function key mode, or media key mode. 
     
    I use volume and brightness controls way more often than F keys, and hate having to push Fn to make 'em work!
     
    #3
    HaloTechnology
    Superclocked Member
    • Total Posts : 109
    • Reward points : 0
    • Joined: 2010/09/23 09:01:30
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/15 18:40:56 (permalink)
    YogSothoth
    While we're at it, I would love a BIOS option to define the function keys as defaulting either to function key mode, or media key mode. 
     
    I use volume and brightness controls way more often than F keys, and hate having to push Fn to make 'em work!
     


    I know right one of the basic function EVGA missed FYI  I was able to remap the right ALT and right menu key to increase or decrease the brightness
     

    EVGA SC17 - 1070 No/GSYNC
    If only the 4K display didn't ghost that much :'(
    #4
    vistarshook
    iCX Member
    • Total Posts : 344
    • Reward points : 0
    • Joined: 2017/11/05 21:45:21
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/16 05:20:19 (permalink)
    I agree, fan curve saving feature for each profile + function key lock for media would be awesome.
    Using the windows precision driver, I mapped the volume control using three fingers, but I still miss an easy brightness control without using the Fn key.

    EVGA SC17 4K G-SYNC | i7-7820HK | GTX 1080 | 32GB DDR4 3200MHz | Samsung 960 Pro 2TB + 2TB Micron 1100| Firestrike | CB15@4.9GHz
    Razer Blade 14 FHD | i7-6700HQ | GTX 1060 | 16GB DDR4 2400MHz | Samsung SM961 1TB | Firestrike

    #5
    vistarshook
    iCX Member
    • Total Posts : 344
    • Reward points : 0
    • Joined: 2017/11/05 21:45:21
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/16 05:37:21 (permalink)
    Interesting. How? Using a key mapping software?
    Together with using the volume control with the touchpad WPD, it would help a lot.

    EVGA SC17 4K G-SYNC | i7-7820HK | GTX 1080 | 32GB DDR4 3200MHz | Samsung 960 Pro 2TB + 2TB Micron 1100| Firestrike | CB15@4.9GHz
    Razer Blade 14 FHD | i7-6700HQ | GTX 1060 | 16GB DDR4 2400MHz | Samsung SM961 1TB | Firestrike

    #6
    HaloTechnology
    Superclocked Member
    • Total Posts : 109
    • Reward points : 0
    • Joined: 2010/09/23 09:01:30
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/16 14:22:50 (permalink)
    vistarshook
    Interesting. How? Using a key mapping software?
    Together with using the volume control with the touchpad WPD, it would help a lot.

    I use Autohotkey ! https://1drv.ms/u/s!AgS7pF0VQsTlgZs1AP80tx6h8oZIjQ
    Let it Auto run on boot so you dont have to run it every time (notice that if you are running an Admin App [in forground] it will not work it seems like Windows blocks app that dont have admin privileges , so just run the app as admin and it will this issue for you)
     
    download the file and run it, now the left Menu key will increase the brittleness and the Right ALT key will decrease it ! Very useful :D 
     
    since we dont have direct control of the Fn keys :/

    EVGA SC17 - 1070 No/GSYNC
    If only the 4K display didn't ghost that much :'(
    #7
    vistarshook
    iCX Member
    • Total Posts : 344
    • Reward points : 0
    • Joined: 2017/11/05 21:45:21
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/16 15:08:50 (permalink)
    Cool thanks, I will give it try.

    EVGA SC17 4K G-SYNC | i7-7820HK | GTX 1080 | 32GB DDR4 3200MHz | Samsung 960 Pro 2TB + 2TB Micron 1100| Firestrike | CB15@4.9GHz
    Razer Blade 14 FHD | i7-6700HQ | GTX 1060 | 16GB DDR4 2400MHz | Samsung SM961 1TB | Firestrike

    #8
    vistarshook
    iCX Member
    • Total Posts : 344
    • Reward points : 0
    • Joined: 2017/11/05 21:45:21
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/17 06:30:08 (permalink)
    HaloTechnology
    vistarshook
    Interesting. How? Using a key mapping software?
    Together with using the volume control with the touchpad WPD, it would help a lot.

    I use Autohotkey ! https://1drv.ms/u/s!AgS7pF0VQsTlgZs1AP80tx6h8oZIjQ
    Let it Auto run on boot so you dont have to run it every time (notice that if you are running an Admin App [in forground] it will not work it seems like Windows blocks app that dont have admin privileges , so just run the app as admin and it will this issue for you)
     
    download the file and run it, now the left Menu key will increase the brittleness and the Right ALT key will decrease it ! Very useful :D 
     
    since we dont have direct control of the Fn keys :/


    On the model I have, the script works for the menu key increasing the brightness, but no luck with decreasing the brightness though....oh well, would have to get into autohotkey scripting to figure it out....did you write the script?  or did you get it online?
    post edited by vistarshook - 2018/03/17 06:36:05

    EVGA SC17 4K G-SYNC | i7-7820HK | GTX 1080 | 32GB DDR4 3200MHz | Samsung 960 Pro 2TB + 2TB Micron 1100| Firestrike | CB15@4.9GHz
    Razer Blade 14 FHD | i7-6700HQ | GTX 1060 | 16GB DDR4 2400MHz | Samsung SM961 1TB | Firestrike

    #9
    HaloTechnology
    Superclocked Member
    • Total Posts : 109
    • Reward points : 0
    • Joined: 2010/09/23 09:01:30
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/17 13:01:11 (permalink)
    vistarshook
    HaloTechnology
    vistarshook
    Interesting. How? Using a key mapping software?
    Together with using the volume control with the touchpad WPD, it would help a lot.

    I use Autohotkey ! https://1drv.ms/u/s!AgS7pF0VQsTlgZs1AP80tx6h8oZIjQ
    Let it Auto run on boot so you dont have to run it every time (notice that if you are running an Admin App [in forground] it will not work it seems like Windows blocks app that dont have admin privileges , so just run the app as admin and it will this issue for you)
     
    download the file and run it, now the left Menu key will increase the brittleness and the Right ALT key will decrease it ! Very useful :D 
     
    since we dont have direct control of the Fn keys :/


    On the model I have, the script works for the menu key increasing the brightness, but no luck with decreasing the brightness though....oh well, would have to get into autohotkey scripting to figure it out....did you write the script?  or did you get it online?


    oh no I found it online but I edit it  to fit the laptop here is the original script 



    class BrightnessSetter {
    ; qwerty12 - 27/05/17
    static _WM_POWERBROADCAST := 0x218, _osdHwnd := 0, hPowrprofMod := DllCall("LoadLibrary", "Str", "powrprof.dll", "Ptr")
    __New() {
    if (BrightnessSetter.IsOnAc(AC))
    this._AC := AC
    if ((this.pwrAcNotifyHandle := DllCall("RegisterPowerSettingNotification", "Ptr", A_ScriptHwnd, "Ptr", BrightnessSetter._GUID_ACDC_POWER_SOURCE(), "UInt", DEVICE_NOTIFY_WINDOW_HANDLE := 0x00000000, "Ptr"))) ; Sadly the callback passed to *PowerSettingRegister*Notification runs on a new threadl
    OnMessage(this._WM_POWERBROADCAST, ((this.pwrBroadcastFunc := ObjBindMethod(this, "_On_WM_POWERBROADCAST"))))
    }
    __Delete() {
    if (this.pwrAcNotifyHandle) {
    OnMessage(BrightnessSetter._WM_POWERBROADCAST, this.pwrBroadcastFunc, 0)
    ,DllCall("UnregisterPowerSettingNotification", "Ptr", this.pwrAcNotifyHandle)
    ,this.pwrAcNotifyHandle := 0
    ,this.pwrBroadcastFunc := ""
    }
    }
    SetBrightness(increment, jump := False, showOSD := True, autoDcOrAc := -1, ptrAnotherScheme := 0)
    {
    static PowerGetActiveScheme := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerGetActiveScheme", "Ptr")
    ,PowerSetActiveScheme := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerSetActiveScheme", "Ptr")
    ,PowerWriteACValueIndex := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerWriteACValueIndex", "Ptr")
    ,PowerWriteDCValueIndex := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerWriteDCValueIndex", "Ptr")
    ,PowerApplySettingChanges := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerApplySettingChanges", "Ptr")
    if (increment == 0 && !jump) {
    if (showOSD)
    BrightnessSetter._ShowBrightnessOSD()
    return
    }
    if (!ptrAnotherScheme ? DllCall(PowerGetActiveScheme, "Ptr", 0, "Ptr*", currSchemeGuid, "UInt") == 0 : DllCall("powrprof\PowerDuplicateScheme", "Ptr", 0, "Ptr", ptrAnotherScheme, "Ptr*", currSchemeGuid, "UInt") == 0) {
    if (autoDcOrAc == -1) {
    if (this != BrightnessSetter) {
    AC := this._AC
    } else {
    if (!BrightnessSetter.IsOnAc(AC))
    return
    }
    } else {
    AC := !!autoDcOrAc
    }
    if (jump || BrightnessSetter._GetCurrentBrightness(currSchemeGuid, AC, currBrightness := 0)) {
    maxBrightness := BrightnessSetter.GetMaxBrightness()
    ,minBrightness := BrightnessSetter.GetMinBrightness()
    if (jump || !((currBrightness == maxBrightness && increment > 0) || (currBrightness == minBrightness && increment < minBrightness))) {
    if (currBrightness + increment > maxBrightness)
    increment := maxBrightness
    else if (currBrightness + increment < minBrightness)
    increment := minBrightness
    else
    increment += currBrightness
    if (DllCall(AC ? PowerWriteACValueIndex : PowerWriteDCValueIndex, "Ptr", 0, "Ptr", currSchemeGuid, "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt", increment, "UInt") == 0) {
    ; PowerApplySettingChanges is undocumented and exists only in Windows 8+. Since both the Power control panel and the brightness slider use this, we'll do the same, but fallback to PowerSetActiveScheme if on Windows 7 or something
    if (!PowerApplySettingChanges || DllCall(PowerApplySettingChanges, "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt") != 0)
    DllCall(PowerSetActiveScheme, "Ptr", 0, "Ptr", currSchemeGuid, "UInt")
    }
    }
    if (showOSD)
    BrightnessSetter._ShowBrightnessOSD()
    }
    DllCall("LocalFree", "Ptr", currSchemeGuid, "Ptr")
    }
    }
    IsOnAc(ByRef acStatus)
    {
    static SystemPowerStatus
    if (!VarSetCapacity(SystemPowerStatus))
    VarSetCapacity(SystemPowerStatus, 12)
    if (DllCall("GetSystemPowerStatus", "Ptr", &SystemPowerStatus)) {
    acStatus := NumGet(SystemPowerStatus, 0, "UChar") == 1
    return True
    }
    return False
    }

    GetDefaultBrightnessIncrement()
    {
    static ret := 10
    DllCall("powrprof\PowerReadValueIncrement", "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt*", ret, "UInt")
    return ret
    }
    GetMinBrightness()
    {
    static ret := -1
    if (ret == -1)
    if (DllCall("powrprof\PowerReadValueMin", "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt*", ret, "UInt"))
    ret := 0
    return ret
    }
    GetMaxBrightness()
    {
    static ret := -1
    if (ret == -1)
    if (DllCall("powrprof\PowerReadValueMax", "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt*", ret, "UInt"))
    ret := 100
    return ret
    }
    _GetCurrentBrightness(schemeGuid, AC, ByRef currBrightness)
    {
    static PowerReadACValueIndex := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerReadACValueIndex", "Ptr")
    ,PowerReadDCValueIndex := DllCall("GetProcAddress", "Ptr", BrightnessSetter.hPowrprofMod, "AStr", "PowerReadDCValueIndex", "Ptr")
    return DllCall(AC ? PowerReadACValueIndex : PowerReadDCValueIndex, "Ptr", 0, "Ptr", schemeGuid, "Ptr", BrightnessSetter._GUID_VIDEO_SUBGROUP(), "Ptr", BrightnessSetter._GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS(), "UInt*", currBrightness, "UInt") == 0
    }

    _ShowBrightnessOSD()
    {
    static PostMessagePtr := DllCall("GetProcAddress", "Ptr", DllCall("GetModuleHandle", "Str", "user32.dll", "Ptr"), "AStr", A_IsUnicode ? "PostMessageW" : "PostMessageA", "Ptr")
    ,WM_SHELLHOOK := DllCall("RegisterWindowMessage", "Str", "SHELLHOOK", "UInt")
    if A_OSVersion in WIN_VISTA,WIN_7
    return
    BrightnessSetter._RealiseOSDWindowIfNeeded()
    ; Thanks to YashMaster @ https://github.com/YashMa...ky/BrightnessHandler.h for realising this could be done:
    if (BrightnessSetter._osdHwnd)
    DllCall(PostMessagePtr, "Ptr", BrightnessSetter._osdHwnd, "UInt", WM_SHELLHOOK, "Ptr", 0x37, "Ptr", 0)
    }
    _RealiseOSDWindowIfNeeded()
    {
    static IsWindow := DllCall("GetProcAddress", "Ptr", DllCall("GetModuleHandle", "Str", "user32.dll", "Ptr"), "AStr", "IsWindow", "Ptr")
    if (!DllCall(IsWindow, "Ptr", BrightnessSetter._osdHwnd) && !BrightnessSetter._FindAndSetOSDWindow()) {
    BrightnessSetter._osdHwnd := 0
    try if ((shellProvider := ComObjCreate("{C2F03A33-21F5-47FA-B4BB-156362A2F239}", "{00000000-0000-0000-C000-000000000046}"))) {
    try if ((flyoutDisp := ComObjQuery(shellProvider, "{41f9d2fb-7834-4ab6-8b1b-73e74064b465}", "{41f9d2fb-7834-4ab6-8b1b-73e74064b465}"))) {
    DllCall(NumGet(NumGet(flyoutDisp+0)+3*A_PtrSize), "Ptr", flyoutDisp, "Int", 0, "UInt", 0)
    ,ObjRelease(flyoutDisp)
    }
    ObjRelease(shellProvider)
    if (BrightnessSetter._FindAndSetOSDWindow())
    return
    }
    ; who knows if the SID & IID above will work for future versions of Windows 10 (or Windows 8). Fall back to this if needs must
    Loop 2 {
    SendEvent {Volume_Mute 2}
    if (BrightnessSetter._FindAndSetOSDWindow())
    return
    Sleep 100
    }
    }
    }

    _FindAndSetOSDWindow()
    {
    static FindWindow := DllCall("GetProcAddress", "Ptr", DllCall("GetModuleHandle", "Str", "user32.dll", "Ptr"), "AStr", A_IsUnicode ? "FindWindowW" : "FindWindowA", "Ptr")
    return !!((BrightnessSetter._osdHwnd := DllCall(FindWindow, "Str", "NativeHWNDHost", "Str", "", "Ptr")))
    }
    _On_WM_POWERBROADCAST(wParam, lParam)
    {
    ;OutputDebug % &this
    if (wParam == 0x8013 && lParam && NumGet(lParam+0, 0, "UInt") == NumGet(BrightnessSetter._GUID_ACDC_POWER_SOURCE()+0, 0, "UInt")) { ; PBT_POWERSETTINGCHANGE and a lazy comparison
    this._AC := NumGet(lParam+0, 20, "UChar") == 0
    return True
    }
    }
    _GUID_VIDEO_SUBGROUP()
    {
    static GUID_VIDEO_SUBGROUP__
    if (!VarSetCapacity(GUID_VIDEO_SUBGROUP__)) {
    VarSetCapacity(GUID_VIDEO_SUBGROUP__, 16)
    ,NumPut(0x7516B95F, GUID_VIDEO_SUBGROUP__, 0, "UInt"), NumPut(0x4464F776, GUID_VIDEO_SUBGROUP__, 4, "UInt")
    ,NumPut(0x1606538C, GUID_VIDEO_SUBGROUP__, 8, "UInt"), NumPut(0x99CC407F, GUID_VIDEO_SUBGROUP__, 12, "UInt")
    }
    return &GUID_VIDEO_SUBGROUP__
    }
    _GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS()
    {
    static GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__
    if (!VarSetCapacity(GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__)) {
    VarSetCapacity(GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__, 16)
    ,NumPut(0xADED5E82, GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__, 0, "UInt"), NumPut(0x4619B909, GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__, 4, "UInt")
    ,NumPut(0xD7F54999, GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__, 8, "UInt"), NumPut(0xCB0BAC1D, GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__, 12, "UInt")
    }
    return &GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS__
    }
    _GUID_ACDC_POWER_SOURCE()
    {
    static GUID_ACDC_POWER_SOURCE_
    if (!VarSetCapacity(GUID_ACDC_POWER_SOURCE_)) {
    VarSetCapacity(GUID_ACDC_POWER_SOURCE_, 16)
    ,NumPut(0x5D3E9A59, GUID_ACDC_POWER_SOURCE_, 0, "UInt"), NumPut(0x4B00E9D5, GUID_ACDC_POWER_SOURCE_, 4, "UInt")
    ,NumPut(0x34FFBDA6, GUID_ACDC_POWER_SOURCE_, 8, "UInt"), NumPut(0x486551FF, GUID_ACDC_POWER_SOURCE_, 12, "UInt")
    }
    return &GUID_ACDC_POWER_SOURCE_
    }
    }
    BrightnessSetter_new() {
    return new BrightnessSetter()
    }
    BS := new BrightnessSetter()
    AppsKey::BS.SetBrightness(10)
    RAlt::BS.SetBrightness(-10)
     
     
     

    EVGA SC17 - 1070 No/GSYNC
    If only the 4K display didn't ghost that much :'(
    #10
    vistarshook
    iCX Member
    • Total Posts : 344
    • Reward points : 0
    • Joined: 2017/11/05 21:45:21
    • Status: offline
    • Ribbons : 1
    Re: Bios feature request 2018/03/17 14:45:39 (permalink)
    Awesome thanks.  Got it working, using just Alt in Autohotkey script, neither RAlt or LAlt would work, now both Alt keys do the job, haha. Now I have easier brightness and volume control.
    post edited by vistarshook - 2018/03/17 20:23:38

    EVGA SC17 4K G-SYNC | i7-7820HK | GTX 1080 | 32GB DDR4 3200MHz | Samsung 960 Pro 2TB + 2TB Micron 1100| Firestrike | CB15@4.9GHz
    Razer Blade 14 FHD | i7-6700HQ | GTX 1060 | 16GB DDR4 2400MHz | Samsung SM961 1TB | Firestrike

    #11
    Jump to:
  • Back to Mobile