[App]Galaxy Max Hz (Refresh Rate Control, Quick Resolution Switcher, Screen-Off Mods, Adaptive Mod, Keep High/Adaptive on Power Saving Mode and More)

Search This thread

kvskmcafee

Senior Member
Jan 16, 2015
135
28
When I am watching prime video, the refresh rate continuously switches between 96 and 60 Hz, causing constant flicker. Why is it like that? I set my max refresh rate at 96 Hz adaptive.
 
  • Like
Reactions: android_htc

tribalfs

Senior Member
Mar 28, 2014
840
537
When I am watching prime video, the refresh rate continuously switches between 96 and 60 Hz, causing constant flicker. Why is it like that? I set my max refresh rate at 96 Hz adaptive.
I can confirm it's happening when the controls are visible but settles when already hidden.
This is like this even in the native adaptive refresh rate in N20U and S21 series.
I will check what I can do to minimize/eliminate this.
 
  • Like
Reactions: joemill

android_htc

Senior Member
Feb 24, 2011
377
171
Samsung Galaxy S20 FE
When I am watching prime video, the refresh rate continuously switches between 96 and 60 Hz, causing constant flicker. Why is it like that? I set my max refresh rate at 96 Hz adaptive.
Yes, I can also confirm this is also happening on my S20FE; adaptive refresh rate is going from 60hz to 120hz. Refresh rate seems to be switching when new subtitles are detected?
 

obrobrio2000

Senior Member
Jun 13, 2013
63
11
I updated to 6.63.10 the prolonged touch 48hz issue in settings is gone and also the IG voice note prolonged touch 48hz issue is gone!! Also another issue that is fixed is that on TikTok previously it went down to 48hz when still/idle (basically when watching a video) instead of 60hz, now it stays on 60hz! Thank you for fixing all this issues so fast! The only prolonged touch issue I encountered is the one in recents apps (stays 48hz instead of going back to 120hz) and I showed it in the attached video.

EDIT: the same also happens with IG home (feed).
 

Attachments

  • Screen_Recording_20210307-205708_One UI Home.zip
    53.7 MB · Views: 9
Last edited:

android_htc

Senior Member
Feb 24, 2011
377
171
Samsung Galaxy S20 FE
Yes, I can also confirm this is also happening on my S20FE; adaptive refresh rate is going from 60hz to 120hz. Refresh rate seems to be switching when new subtitles are detected?
I've tested a few more videos with subtitles and can confirm that the refresh rate changes when there is a pause in conversion and a new conversion starts. This seems to affect Prime Video and and YouTube (vanced) when subtitles are enabled. NB: these subtitles are normally displayed with black background.
Note that Netflix seems to be okay as there is no black border against the subtitles (?), it only seems to change initially when the rating is displayed.
Edit: rename the zip file to .mp4
 

Attachments

  • 20210307-202048-720x1600_1.zip
    4.4 MB · Views: 2

tribalfs

Senior Member
Mar 28, 2014
840
537
I updated to 6.63.10 the prolonged touch 48hz issue in settings is gone and also the IG voice note prolonged touch 48hz issue is gone!! Also another issue that is fixed is that on TikTok previously it went down to 48hz when still/idle (basically when watching a video) instead of 60hz, now it stays on 60hz! Thank you for fixing all this issues so fast! The only prolonged touch issue I encountered is the one in recents apps (stays 48hz instead of going back to 120hz) and I showed it in the attached video.

EDIT: the same also happens with IG home (feed).

I've tested a few more videos with subtitles and can confirm that the refresh rate changes when there is a pause in conversion and a new conversion starts. This seems to affect Prime Video and and YouTube (vanced) when subtitles are enabled. NB: these subtitles are normally displayed with black background.
Note that Netflix seems to be okay as there is no black border against the subtitles (?), it only seems to change initially when the rating is displayed.
Edit: rename the zip file to .mp4

It's actually the same behavior as the native adaptive implemented in N20U and S21 when it detects moving content.
Edit: I think I have to change this behavior in video apps for non-natively adaptive devices - this will also break prolonged(no-lift) scrolling on video apps. I think less flickers on video is practically more important than having the prolonged(no-lift) scrolling (which I think less likely to happen if not intentional)
 
Last edited:

tribalfs

Senior Member
Mar 28, 2014
840
537
It's actually the same behavior as the native adaptive implemented in N20U and S21 when it detects moving content.
Edit: I think I have to change this behavior in video apps for non-natively adaptive devices - this will also break prolonged(no-lift) scrolling on video apps. I think less flickers on video is practically more important than having the prolonged(no-lift) scrolling (which I think less likely to happen if not intentional)

v6.63.20 is now up!:)
-Tweaked adaptive behavior on video apps on non-natively adaptive devices to avoid/minimize flickers specially on videos with live chats, live captions and animated overlays.
- Minor adjustment in deep doze mode
 
Last edited:

kvskmcafee

Senior Member
Jan 16, 2015
135
28
v6.63.20 is now up!:)
-Tweaked adaptive behavior on video apps on non-natively adaptive devices to avoid/minimize flickers specially on videos with live chats, live captions and animated overlays.
- Minor adjustment in deep doze mode
While on home screen, the refresh rate sometimes gets stuck at max value (96hz in my case). Is it an expected behaviour?
Edit: I don't keep the refresh rate display on at all times. So, whenever I enable refresh rate monitor from quick panel, the refresh rate gets stuck on home screen. If I open any app and get back to home screen, the behaviour is normal.
 

pham_dang

Senior Member
Jul 19, 2017
82
22
There is one small thing that I'd like to raise. In v6.62 whenever the keyboard is in use, the refresh rate remains at lowest (60hz for my S20+), which is great in saving battery as sometimes I need to make really long text. In the latest version (v6.63) if I hit the keyboard, the high refresh rate is immediately activated, which is not necessary since nothing is moving much. Can you bring the old feature back in the next update?
 
  • Like
Reactions: tribalfs

truemagic

Senior Member
Oct 14, 2009
1,204
89
Hi @tribalfs thanks for such a great app! I purchased the ad-free version because I like your work!

One question from me: If I only want to enable this feature "Force lowest refresh rate on screen-off/AOD." and nothing else (meaning the normal usage follows default stock behavior), is it just by toggling the Force to Lowest Hz option in your app, leaving the rest untouched?

Also, seems not mentioned, do I need to exclude this app from Battery optimization which I just did?
 
Last edited:
  • Like
Reactions: tribalfs

tribalfs

Senior Member
Mar 28, 2014
840
537
While on home screen, the refresh rate sometimes gets stuck at max value (96hz in my case). Is it an expected behaviour?
Edit: I don't keep the refresh rate display on at all times. So, whenever I enable refresh rate monitor from quick panel, the refresh rate gets stuck on home screen. If I open any app and get back to home screen, the behaviour is normal.
Yes, but only when the notif panel is expanded and the app's refresh rare monitor is enabled at the same time. It should drop after closing the notif panel.
More info in FAQs.
FAQs:
  • In my Note 20 Ultra, the 96hz setting drops more regularly to 60hz than 120hz. Is this an expected behavior?
It's the stock behavior. It's probably because of the relatively larger gap of gamma curves between 120hz and 60hz than between 96hz and 60hz. Samsung needs to fine tune these gamma curves across different refresh rates so users perceive consistent brightness level when refresh rate switches. Otherwise, there will be visible flickers which our eyes are more sensitive when on a darker environment. Seems Samsung hasn't fined tune yet 120hz->60hz gamma for darker environment as 120hz switches to 60hz only on a certain (high) level of brightness.​
Relevant article from Anandtech
Update: It seems Samsung has improved this behavior in its Nov 2020 update. This possibly the "Improved battery usage time" in its changelog.​
  • What will happen if I uninstall this app?
    The last set max freq will persist after uninstall. Set the max refresh rate to 120Hz first before uninstalling to keep stock refresh rate.
    Update: Not anymore persisting since one ui 3.0

  • Why refresh rate stays at 60hz on google maps, waze and some other apps and games even if I set a higher max refresh rate?
    These apps are either (1) blacklisted by the android system to not use the high refresh rates due to compatibility reasons, (2) sets its own preferred refresh rate or (2) controlled by Samsung's game optimizing service (game launcher). GMH app can't force these apps to use high refresh rates.


  • How does Quick Power-Doze Mod work?
    If enabled, the power saving mode will automatically turn-on and the device will quickly enter into Deep Doze (except when charging) both during screen-OFF. Power saving mode will automatically turn-off once the screen is turned on again for atleast ~5 seconds, unless when it was priorly enabled.

    App notifications are only allowed during the maintenance window except for SMS, those apps using High Priority FCM and those which battery optimizations are disabled.

  • Why I don't have 48hz on my device?
    Currently only the following Samsung devices have 48Hz enabled:
    • Note 20 Ultra
    • S21 Series
    • S20 series excluding FE (but was removed by Samsung in OneUI3.1 update)
      Note: If you are still on OneUI3.0, please advise me so you can load the refresh rate profile which includes the 48hz

  • In Adaptive refresh rate mod, I set minimum refresh rate to 48Hz but while watching videos, refresh rate only goes down to 60Hz
    In video apps like youtube, the default refresh rate is set to 60Hz but it will automatically go down to 48Hz on compatible videos (i.e 24fps or 48fps videos). Most videos in youtube are in 60fps format.

  • Adaptive mod does not go down when expanding notification panel and in games.
    In notification panel, it does not go down when you enabled the app's refresh rate monitor and/or net speed indicator - this is to avoid refresh rates constantly jumping up and down when refresh rate and/or net speed values are updated. However, if both are disabled, refresh rate should go down like the usual adaptive behavior.

    In games, the refresh rate will adapt to the highest refresh rate the game supports and will be fixed on that refresh rate. This is to preserve input responsiveness and smoothnesswhile playing.


  • Is the Adaptive refresh rate mod in the app the same as Samsung's native adaptive refresh rate. Is it based purely on touch input?
    For those devices that do not have the Samsung's native Adaptive refresh rate mode, the app's own Adaptive Mod is applied. But for those devices that have the native adaptive refresh rate, the native adaptive refresh rate is applied 'as is', except when you override the minimum refresh to lower than 60Hz .

    Aside from touch input, the app's Adaptive mod also considers the changes on the contents being displayed on screen like the native adaptive refresh rate mode. It is a goal of this app to make the Adaptive mod behavior similar to the native one.

    For those devices not natively supporting adaptive refresh rate, some users experienced flickers when refresh rate switches more specifically when using 96hz and/or 48hz under low brightness. This is an issue of consistency of gamma curves across the different refresh rates. Samsung probably did less calibration on these refresh rates. This also has to do on the hardware tech that is used in the display (LTPS).

  • How to activate ad-free trial?
    Click the 'Activate Ad-free' button and click 'More Info' into prompt that will appear. Type in "TRIAL" and apply. You will have 7-days to test the ad-free extra features.

  • Why is it that we can't download this app in play store and how do we know it's safe?
    This app targets older android sdk in order to set refresh rates without ADB or root requirement. Unfortunately, play store doesn't anymore allow us to publish app targeting such older sdk. If you doubt if it's safe, you can scan it with any virus scanner like virustotal, metadefender or with Samsung's built-in threat scanner powered by McAfee.

Questions and Bug Reports:
Feel free to ask questions relevant to this app here should your question is not addressed in FAQs above.
For suspected bugs, you can send me a direct message or post it here.
Please include your device model number, OS version and app version.


Due to the app usage of non-sdk and non-public api to execute most of its features, it is not guaranteed that all of its features are going to work in the future android iterations, should the new iteration block/disable them. But the dev will do his best to keep it working as long as possible.


Sharing Outside XDA:
Feel free to share this app anywhere as long as proper credits and reference to this thread are provided. This is to ensure that users get the latest information and latest updates of this app.


Changelogs:

Try to clear data of this app if you encounter issues after update. Please report any bug that persist. Thank you.

v6.63
- Quick power-doze mod adjustments for more power saving on idle. There are now two options available: Moderate and Aggressive
- Adaptive mod improvements - fixed behavior in Samsung notes and when using instagram voice note
- Added option to hide Net Speed in the app's main screen to those who don't need it.

v6.62
- Fixed crash when opening some apps in Secured Folder
- Minor improvements on adaptive mod
- Fixed intermittent bug on restoring power mode settings on screen-on when using quick power-doze mod
- Fixed bug on refresh rate profiles not properly loading on some devices. Known profiles are now being loaded from the server if connected to internet or locally from profiles included in the apk - upon first opening the app or after clear data.
- Adaptive mod improvements for games and video payback
- Other bug fixes
- Improvements on Italian translations
- Please advise if not all refresh rates are working on your device so I can modify the profile in my server
Clearing app data is recommended if your device has issue on loading refresh rate profiles



v6.61
- Improvements on adaptive mod behavior for multi-refresh rates devices not natively supporting adaptive refresh rates (fixed issues on prolonged scroll, mouse scroll, not working on settings, etc.)
- Set minimum refresh rate for adaptive mode to 60hz or lower (if available)
- Net speed indicator now autohides when not connected to internet
- More optimizations
- Other improvements and bug fixes

v6.60
- Experimental Adaptive refresh rate mod working for Samsung devices supporting multiple refresh rates (e.g. S20/S20+/S20Ultra,S20FE) (only available for Ad-free)
- Quick power-doze mod: Automatic power saving mode and quick doze mode on screen-off (only available for Ad-free)


v6.50
- Fixed high mode not working on some S21/N20U devices
- Show real-time refresh rate in notification and/or overlay
- Added some language support
- Improve notifications
- App power consumption improvement
- 7-day ad-free trial is available for you to test. Just click "Activate Ad-free" button and click "More info" on the snackbar prompt that will appear Ad-free trial added
- Stability and other improvements

v6.33
  • Code cleanup and minor bug fixes
  • Removed FPS counter (not so useful)
  • Added net speed indicator (extra for ad-free)
v6.31
  • Fixed max hz button label not correctly updating after screen off
  • Fixed intermittent crash when service is killed by the system on some devices
  • Updated ad-free activation for devices and those who have ad-free version of the old app package - now using activation code

v6.27
  • Fixed crashes on Galaxy Tab S7/S7+ when expanding notif panel
  • Fixed autorun bug
  • Stability improvement on quick resolution changer feature

v6.21
  • Added real-time Display FPS option alongside refresh rate.
  • Run service in foreground so it will less likely be killed by the system.
  • Added in-app updater

v6.00
Made a number of changes
  • Max Refresh Rate Toggle
    • Added ability to switch to the lowest available refresh rate from the predefined system refresh rates (e.g. 48hz for Note20 ultra at Adaptive)
    • Control the lower limit (hz) of this toggle. Choose whether to include or exclude the lower 48hz and/or 60hz in the toggle.
  • Real-time Refresh Rate
    • Added ability to customize the location and the size of the real-time refresh rate overlay
    • When turned-on, it will automatically pause when the screen is Off to reduce background power consumption
  • Screen Off Refresh Rate
  • Others
    • Updated app layout
    • Show information of the device's supported screen resolutions and the corresponding supported refresh rates
  • Package name change - the package name was changed from com.tribalfs.n20umaxhz to com.tribalfs.gmh
    • To those who purchased the ad-free license of the previous app package, you can freely upgrade to the ad-free version of this new app. Just enter the activation code sent to your email once prompted by the app. You can do the same to reacquire license if you reformatted your phone. Thank you for supporting this app.
Previous changelogs

v5.40
- Fixed landscape orientation layout bug and other layout improvements
- Added support for Note 20 Ultra Non-5G models (all features)

v5.26
- Fixed disabled "High/Fixed Motion Smoothness Mode" switcher on Galaxy Z Fold 2. You should be able to use this function now in Z Fold 2.
- Fixed force close bug on Galaxy Z Fold 2
-Fixed missing resolution label for Galaxy S20 series
- Other code clean up

v5.20
- Qs tiles for refresh rate control and resolution switcher now have dynamic icons. Better visibility for partially expanded notification panel.
- Added high/fixed refresh rate mode/option for Galaxy Note20 Ultra and Z Fold2. If enabled, the device will be set to 'High Motion Smoothness' mode and refresh rates will behave like the Galaxy S20 series.

v5.00
- Added support for Galaxy S20, S20+, S20 Ultra and S20FE. Resolution switcher is not applicable to S20 FE.
- Renamed app to Galaxy Max Hz

v4.00
-Added 'Resolution - Motion Smoothness Mode' switcher (button and qs tile). Switch resolution and motion smoothness mode anytime even on medium power saving mode. This specific function requires ADB.

v3.00
- Changed overlay FPS to Refresh Rate (Hz)
- Refresh rate monitor now switches color to red if 60hz or below and to green if above 60hz
- Added toggle switch for refresh rate monitor on app's home screen

v2.00
- The 3-way toggle button and quicksettings (qs) tile are now aware if the current Motion Smoothness mode is set to Adaptive or not. If not, they will show 'Standard' and will open the display settings when clicked
- The switch for the FPS monitor overlay is moved to a new qs tile. You can now turn the FPS monitor ON/OFF anywhere without opening the app.
- Changed text color of fps monitor from red to green. Green color has the longest lifespan in amoled, so lesser chance of amoled burn.

v1.00 Initial release


There is one small thing that I'd like to raise. In v6.62 whenever the keyboard is in use, the refresh rate remains at lowest (60hz for my S20+), which is great in saving battery as sometimes I need to make really long text. In the latest version (v6.63) if I hit the keyboard, the high refresh rate is immediately activated, which is not necessary since nothing is moving much. Can you bring the old feature back in the next update?
I didn't expect this change in v6.63.* since the implementation was just the same. But I will double check


Hi @tribalfs thanks for such a great app! I purchased the ad-free version because I like your work!

One question from me: If I only want to enable this feature "Force lowest refresh rate on screen-off/AOD." and nothing else (meaning the normal usage follows default stock behavior), is it just by toggling the Force to Lowest Hz option in your app, leaving the rest untouched?

Also, seems not mentioned, do I need to exclude this app from Battery optimization which I just did?
Yes
Yes, you can enable batt optimization but allow background activity.
Thank you.
 
Last edited:

*Detection*

Senior Member
Dec 5, 2011
10,513
2,850
Durham
Thanks for this app, I always felt like my S20U display was smoother at 120Hz than my N20U due to the adaptive refresh of the Note vs the static 120Hz on the S20U, I could see slight stuttering opening folders on the Note and just ddn't have the same fluid feeling as the S20U, now by setting the Note to 'High' forcing constant 120Hz it has the same smooth motion as the S20U, not noticing any battery hit either
 

android_htc

Senior Member
Feb 24, 2011
377
171
Samsung Galaxy S20 FE
v6.63.20 is now up!:)
-Tweaked adaptive behavior on video apps on non-natively adaptive devices to avoid/minimize flickers specially on videos with live chats, live captions and animated overlays.
- Minor adjustment in deep doze mode
Thanks for the quick update.
Unfortunately, I am still seeing refresh rate switching when caption is enabled? Just tested on Prime Video.
 

obrobrio2000

Senior Member
Jun 13, 2013
63
11
v6.63.20 is now up!:)
-Tweaked adaptive behavior on video apps on non-natively adaptive devices to avoid/minimize flickers specially on videos with live chats, live captions and animated overlays.
- Minor adjustment in deep doze mode
After this update it started dropping to 48hz again while watching a TikTok, and the frame drop is noticeable because those videos' framerate is more than 48 (I think 60).
 

tucsonFL

New member
Mar 8, 2021
1
0
Hi. I can't use PayPal because I live in Turkey. For this reason I cannot purchase the program. How can I buy outside of Paypal? I cannot use the stable program in the free version on my flat S20.
 

Top Liked Posts

  • 5
    v7.00.10_beta2 is up!
    Includes fix for crashes of some devices and some adjustments on doze modes to prevent it from being interrupted by constant motion. This should improve doze performance when the device is constantly in pocket or in motion.

    5
    Hi @tribalfs, great app. Purchased it now.

    Just one request, are you able to force 48/96hz without 60hz being activated? Because the flickering occurs when 60hz quickly activates between 48 and 96hz, like half a second or or so when we touch the screen. Would be amazing if you could fix this.

    Thanks again for the amazing work.
    Thanks for the workaround, as my power saving mode mainly automated by Tasker or Bixby routines (seldom turn it on manually) :)
    I found an update for the app and installed the same. Now, the net speed tool remains enabled. However, it doesn't seem to be switching between kB and kb. It appears stuck on kb irrespective of the selection.

    v7.00.20 in-app update now available! :)
    v7.00
    v7.00.20
    - `Keep motion smoothness on power saving mode` - improved compatibility with tasker
    '- Fix bug on netspeed indicator not properly updating after changing its settings
    '- Others
    v7.00.10
    - `Keep motion smoothness on power saving mode` will now take effect immediately after toggle
    - Filter what resolutions to include in the screen resolution switcher
    - Power saving mode and deep-doze are now separate options under screen-off mods
    - Adaptive or high motion smoothness on CQHD resolution now sticks after reboot.
    '-Adjustments on doze mode to prevent it from being interrupted by significant motion. This should improve doze performance when the device is constantly in pocket or in motion.
    - Additional doze option with no maintenance window added
    5
    Update: Currently pausing this update due to adaptive mod issues on some S20 devices.

    v7.00 is now up! :)
    - `Keep motion smoothness on power saving mode` will now take effect immediately after toggle
    - Filter what resolutions to include in the screen resolution switcher
    - Power saving mode and deep-doze are now separate options under screen-off mods
    - Additional deep-doze option with no maintenance window added
    - Adaptive or high motion smoothness on CQHD resolution now sticks after reboot.
    4
    v7.10.00_beta update now available. :)
    (No in-app update yet, download link in the opening post.)
    v7.10 (currently in beta)
    - Custom max hz option for power saving mode
    - Automate GMH settings with the Tasker plugin support. Supported actions/variables: Max Refresh Rate, Keep Motion Smoothness on PSM, Motion Smoothness Mode, Quick-doze Mod and Change Screen Resolution.
    - Some code refactoring and optimizations

    How to setup GMH with Tasker?
    Create(+) a Task in Tasker app and give it a name. Inside the Edit Task window, add GMH action by clicking (+) button > Plugin > Galaxy Max Hz. Click the (edit) Configuration section to see the tasker settings/variables available for GMH. Set a value to each of the variable that you want to apply by clicking (+) button > Variables >Variable Set > enter the variable name and a corresponding valid value. Ensure to put Galaxy Max Hz action task after all the Variable Set tasks (use hold and drag to re-order).
    You can then link this Task to the Profile/Trigger that you want to use. You can create multiple GMH tasks with different variables.
    @truemagic @joakimbo


    Any chance of app whitelists?

    For example, I have some video apps that I would like to force 120hz in adaptive mode but currently defaults to 60
    I'd also like to see an option for an app whitelist.

    Before the Game launcher overlay issue got patched I had a way of running games at 60 Hz but now that's not possible unless I manually change the adaptive settings.
    You can now use GMH Tasker plugin to whitelist apps.
    3
    @tribalfs just to update and say that I think you fixed the flickering at 48/96hz. Now 60hz only triggers when I'm typing (I assume that's normal), gaming and watching 60hz content.

    Great work, man. Thanks!
  • 52
    Screenshot_20210316-052014_Galaxy Max Hz.jpg


    About this app:
    • Refresh Rate Control: Easily control the max refresh rate (Hz) of android devices with multiple refresh rates (e.g. note20 ultra, s20/S20+/S20Ultra, z fold 2, s21/s21+/s21Ultra, tab S7/S7+). This app can limit max refresh rate to 96hz (or any available refresh rate) on supported smartphones - you can save power with negligible difference on smoothness. Use either the in-app toggle or quick settings tile - ADB setup or Root NOT needed.

    • Switch to High: Option to use High(Fixed) motion smoothness mode on Samsung devices with native Adaptive motion smoothness***

      Current Samsung smartphones natively supporting adaptive refresh rates:
      • Galaxy Note 20 Ultra
      • Galaxy Z Fold 2
      • Galaxy S21, S21+, S21 Ultra

    • Refresh Rate Monitor: Observe how multiple refresh rates work on your device. Use either the in-app toggle or quick settings tile

    • Quick Resolution Switcher: Easily switch to any supported resolutions using the included quick setting tile***

    • Quick High/Adaptive on Power Saving Mode: Easily switch to high or adaptive motion smoothness mode (from Standard) even on power saving mode on supported Samsung smartphones.***

    • Force to Lowest Hz: Force lowest refresh rate on screen-off/AOD. This overrides Samsung's strange stock behavior which sets the refresh rate to the highest on screen off (update: it is now at 60hz since oneui3.0) - to improve standby power consumption a bit - ADB setup or Root NOT needed.

    • Auto apply power saving mode during screen-off***

    • Tasker plugin support: Automate GMH settings using the app's Tasker plugin support. Supported actions/variables: Max Refresh Rate, Keep Motion Smoothness on PSM, Motion Smoothness Mode, Quick-doze Mod, Change Screen Resolution. (new in v7.10). More info in FAQs below.


      Ad-Free Exclusive Features:
    • Keep motion smoothness when power saving mode is enabled - either manually or by the system/adaptive power saving***

    • Adaptive refresh rate mod: Experimental adaptive refresh rate mod for devices supporting multiple refresh rates but do not have the native Adaptive motion smoothness (e.g. S20 series, S20FE, TabS7/S7+)***

    • Quick-doze mod: Quick doze mode during screen-off to improve standby power consumption***

    • Set minimum refresh rate for adaptive mode to 60hz or lower (if available)***

    • Resolution switcher filter: Filter what screen resolutions to include for the resolution switcher QS tile.

    • Statusbar net speed indicator

    • 7-day Ad-Free Trial is available. Just click "Activate Ad-free" button and activate free trial when prompted.
    ***these marked features require one-time ADB setup (this is not root)


    Info: This app targets older android sdk in order to control refresh rates without ADB setup. Just ignore the dialog that says "This app was built for an older version of Android...." when opened for the first time.


    DOWNLOAD:
    WARNING!!! DON'T DOWNLOAD THIS APP FROM ELSEWHERE. THERE ARE TROJAN-FILLED TAMPERED VERSION OF THIS APP OUT THERE.

    ***To those who purchased the ad-free license of the previous app package, you can freely upgrade to the ad-free version of this new app. Just enter the activation code sent to your email once prompted by the app. You can do the same process if you reformatted your phone. Thank you for your support.🙏

    FAQs, changelogs and more information in the next post.👇

    Demo video of v5.4. More features have been added in the later versions
    7
    v6.64.00 is up! :)
    - Added option to keep motion smoothness on power saving mode - either enabled manually or by the system/adaptive power saving
    7
    The program is very much in conflict with bank programs where the entrance is through a fingerprint. The phone starts to hang very much. Latest version of the program
    The link to the latest version isn't working.
    @tribalfs Thanks for all your work, amazing app!

    I'm having some issue with S21 ultra v6.61 the app is detecting my lowest hz differently each time sometime it detects 60 sometimes 120 (although the actual should be 10).
    Also is there an option to set a specific hz for certain app?
    Could you post the link for 6.61.02! Updating through your app gives the error "there was a problem parsing the package".
    Since last Android Update unuseable.

    Can't switch to ,,Adaptive". Can't even set it to 96hz. I will revert back to 5.30.... That works... but 48hz will be out 4ever i think
    Does this version fix the issues ? Safe to install? And thank you
    No more adaptive refresh rate..allready do the ADB commands and "trial" it was once then gone forever tried to force stop and clear app data..please help
    Same here, I think the dev mentioned that screen profiles aren't being loaded properly but the link seems to be broken to the update that fixes the issue. All we can do is be patient for now. I tried to get back 48hz by wiping and uninstalling but that broke adaptive for me as well


    Hello everyone.

    v6.61.10 build is now up - should fix bug on refresh rate profiles not properly loading introduced in v6.61.0*.

    v6.61.10
    - Fixed bug on refresh rate profiles not properly loading(bug inroduced in v6.61)
    Clearing app data is highly recommended after this update

    Thanks to all who reported the bug.
    6

    FAQs:

    • I am on adaptive or high refresh rate mode, but why my refresh rate stays at 60hz on google maps, waze and some other apps and games even if I set a higher max refresh rate?
      These apps are either (1) blacklisted by the android system to not use the high refresh rates due to compatibility reasons, (2) sets its own preferred refresh rate or (2) controlled by Samsung's game optimizing service (game launcher). GMH app can't force these apps to use high refresh rates.


    • How does Quick-Doze Mod work?
      If enabled, the device will quickly enter into doze mode (except when charging) during screen-OFF. This will make a better standby power consumption. This works best with "Power Saving Mode on Screen-off" enabled. Doze mode will stay until the device is unlocked. Motion detection will not interrupt this doze mod. The general behavior of doze mode is described below:
      In Doze mode, the system attempts to conserve battery by restricting apps' access to network and CPU-intensive services. It also prevents apps from accessing the network and defers their jobs, syncs, and standard alarms. Periodically, the system exits Doze for a brief time to let apps complete their deferred activities. During this maintenance window, the system runs all pending syncs, jobs, and alarms, and lets apps access the network. At the conclusion of each maintenance window, the system again enters Doze, suspending network access and deferring jobs, syncs, and alarms.
    Some app notifications are only allowed during the maintenance window except for SMS, those apps using High Priority FCM and those which battery optimizations are disabled. If you want certain apps to ignore this behavior, just disable battery optimization in their respective app settings.​
    • Why I don't have 48hz and/or 96hz on my device?
      Currently only the following Samsung devices have 48Hz and/or 96hz enabled:
      • Note 20 Ultra (48 & 96)
      • S21 Series (48 & 96)
      • S20 series excluding FE (48 & 96 - but 48hz was removed by Samsung in OneUI3.1 update)

    • In Adaptive refresh rate mod, I set minimum refresh rate to 48Hz but while watching videos, refresh rate only goes down to 60Hz
      On video apps like youtube, the default refresh rate is set to 60Hz but it will automatically go down to 48Hz on compatible videos (i.e 24fps or 48fps videos). Most videos in youtube are in 60fps format.

    • Adaptive mod does not go down on GAMES and also when notification panel is expanded.
      On games, the refresh rate will adapt to the highest refresh rate the game supports and will be fixed on that refresh rate. This is to preserve input responsiveness and smoothness while playing. If the game is not compatible to the currently set max Hz, it will use the next lower compatible refresh rate. On expanded notification panel, it does not go down when you enabled the app's refresh rate monitor and/or net speed indicator - this is to avoid refresh rates constantly jumping up and down when refresh rate and/or net speed values are updated. However, if both are disabled, refresh rate should go down like the usual adaptive behavior.

    • Is the Adaptive refresh rate mod in the app the same as Samsung's native adaptive refresh rate. Is it based purely on touch input?
      For those devices that do not have the Samsung's native Adaptive refresh rate mode, the app's own Adaptive Mod is applied. But for those devices that have the native adaptive refresh rate, the native adaptive refresh rate is applied 'as is', except when you override the minimum refresh to lower than 60Hz .

      Aside from touch input, the app's Adaptive mod also considers the changes on the contents being displayed on screen like the native implementation. It is a goal of this app to make the Adaptive mod behavior similar to the native one.

      For those devices not natively supporting adaptive refresh rate, some users experienced flickers when refresh rate switches more specifically under low brightness and specially when using 96hz and/or 48hz. This is an issue of consistency of gamma curves across the different refresh rates. Samsung possibly did less calibration on 96hz/48hz. This also has to do on the hardware tech that is used in the display (LTPS).

    • Can I add the CQHD+(custom QHD) resolution that supports 96hz/120hz for Note20Ultra or S20 series device?
      Yes, this option is added as requested by some users. Connect to the internet before opening the app for the first time -or - clear the app's data and open it while connected to the internet in order to load the profiles from my server containing such resolution. The server copies of the resolution and refresh profiles have the following additional resolution:
      • Note 20 Ultra: 3087x1439 @ 48/60/96/120 hz
      • S20/S20+/S20Ultra: 3180x1431 @ 60/96/120 hz

    • How to activate ad-free trial?
      Click the 'Activate Ad-free' button and click 'More Info' into prompt that will appear. Type in "TRIAL" and apply. You will have 7-days to test the ad-free extra features.
      Starting with v7.**.**, activate ad-free trial will automatically prompt when it is still available to your device. Just click ok.

    • Why is it that we can't download this app in play store and how do we know it's safe?
      This app targets older android sdk in order to set refresh rates without ADB or root requirement. Unfortunately, play store doesn't anymore allow us to publish app targeting such older sdk. If you doubt if it's safe, you can scan it with any virus scanner like virustotal, metadefender, with Samsung's built-in threat scanner powered by McAfee or Google Play Protect scanner.

    • I constantly receive sound/vibration alerts everytime real-time refresh and/or netspeed indicator is turned-on. How can I turn it off?
      In case you're experiencing this, you can turn this off in the app's notification settings (long press app icon > app info > notifications > open each notif category and set to silent). This is fixed since v6.62.

    • How to setup GMH with Tasker?
      Create(+) a Task in Tasker app and give it a name. Inside the Edit Task window, add GMH action by clicking (+) button > Plugin > Galaxy Max Hz. Click the (edit) Configuration section to see the tasker settings/variables available for GMH. Set a value to each of the variable that you want to apply by clicking (+) button > Variables >Variable Set > enter the variable name and a corresponding valid value. Ensure to put Galaxy Max Hz action task after all the Variable Set tasks (use hold and drag to re-order).
      You can then link this Task to the Profile/Trigger that you want to use. You can create multiple GMH tasks with different variables.


      If you want to override behavior for certain apps, just create an Activity trigger and another Activity Invert trigger for this/these App(s) in tasker profile, then create each corresponding GMH task following the above steps and link them to the respective profile.

    • I don't have a paypal account but I want to buy ad-free
      You can use the "Checkout as Guest" option to pay without registering to paypal or you can message me for other payment options.

    Questions and Bug Reports:

    Feel free to ask questions relevant to this app here should your question is not addressed in FAQs above.

    For suspected bugs, you can send me a direct message or post it here. Read the FAQs also to check if it is an intended/expected behavior or not. Also check if the latest version is already installed in your device. Please include your device model number, OS version, app version and the steps to reproduce the bug. If possible, attach screen recording* or screenshots. This can be very helpful to me in answering your question or in reproducing and resolving the bug faster.

    *You can use this screen recording app capable of recording high refresh rates



    Due to the app usage of non-sdk and non-public api to execute most of its features, it is not guaranteed that all of its features are going to work in the future android iterations, should the new iteration block/disable them. But the dev will do his best to keep it working as long as possible.


    Sharing Outside XDA:

    Feel free to share this app anywhere as long as proper credits and reference to this thread are provided. Do not create any alternative download link. This is to ensure that users get the untampered installation file, latest information and latest updates of this app.

    Unresolved Bugs:

    • Samsung Pay is reported to be crashing when using this app. Currently investigating on this. I am encouraging anyone who is experiencing this to also send/report the Samsung pay crash log to Samsung.
      Update: Based on my research, it seems that this is happening when using any app that uses a screen overlay.
      Trial fix included in v6.63.50

    Upcoming features:

    • Custom max refresh rate on power saving mode (e.g. 96hz)
    • Tasker plugin actions

    Changelogs:

    Try to clear data of this app if you encounter issues after update. Please report any bug that persist. Thank you.
    v7.10 (currently in beta)
    - Custom max hz option for power saving mode
    - Automate GMH settings using Tasker plugin support. Supported actions/variables: Max Refresh Rate, Keep Motion Smoothness on PSM, Motion Smoothness Mode, Quick-doze Mod, Change Screen Resolution.
    - Some code refactoring and optimizations


    v7.00
    - `Keep motion smoothness on power saving mode` will now take effect immediately after toggle
    - Filter what resolutions to include in the screen resolution switcher
    - Power saving mode and deep-doze are now separate options under screen-off mods
    - Adaptive or high motion smoothness on CQHD+ resolution now sticks after reboot.
    '-Adjustments on doze mode to prevent it from being interrupted by significant motion. This should improve doze performance when the device is constantly in pocket or in motion.
    - Additional doze option with no maintenance window added


    v6.64
    - Added option to keep motion smoothness on power saving mode - either enabled manually or by the system/adaptive power saving

    v6.63
    - Trial workaround to prevent Samsung Pay crash (v6.63.50)
    - Other minor bug fixes
    - Quick power-doze mod adjustments for more power saving on idle. There are now two options available: Moderate and Aggressive
    - Adaptive mod improvements - fixed behavior in Samsung notes and when using instagram voice note
    - Added option to hide Net Speed in the app's main screen to those who don't need it.

    v6.62
    - Fixed crash when opening some apps in Secured Folder
    - Minor improvements on adaptive mod
    - Fixed intermittent bug on restoring power mode settings on screen-on when using quick power-doze mod
    - Fixed bug on refresh rate profiles not properly loading on some devices. Known profiles are now being loaded from the server if connected to internet or locally from profiles included in the apk - upon first opening the app or after clear data.
    - Adaptive mod improvements for games and video payback
    - Other bug fixes
    - Improvements on Italian translations
    - Please advise if not all refresh rates are working on your device so I can modify the profile in my server
    Clearing app data is recommended if your device has issue on loading refresh rate profiles


    v6.61
    - Improvements on adaptive mod behavior for multi-refresh rates devices not natively supporting adaptive refresh rates (fixed issues on prolonged scroll, mouse scroll, not working on settings, etc.)
    - Set minimum refresh rate for adaptive mode to 60hz or lower (if available)
    - Net speed indicator now autohides when not connected to internet
    - More optimizations
    - Other improvements and bug fixes

    v6.60
    - Experimental Adaptive refresh rate mod working for Samsung devices supporting multiple refresh rates (e.g. S20/S20+/S20Ultra,S20FE) (only available for Ad-free)
    - Quick power-doze mod: Automatic power saving mode and quick doze mode on screen-off (only available for Ad-free)


    v6.50
    - Fixed high mode not working on some S21/N20U devices
    - Show real-time refresh rate in notification and/or overlay
    - Added some language support
    - Improve notifications
    - App power consumption improvement
    - 7-day ad-free trial is available for you to test. Just click "Activate Ad-free" button and click "More info" on the snackbar prompt that will appear Ad-free trial added
    - Stability and other improvements

    v6.33
    • Code cleanup and minor bug fixes
    • Removed FPS counter (not so useful)
    • Added net speed indicator (extra for ad-free)
    v6.31
    • Fixed max hz button label not correctly updating after screen off
    • Fixed intermittent crash when service is killed by the system on some devices
    • Updated ad-free activation for devices and those who have ad-free version of the old app package - now using activation code

    v6.27
    • Fixed crashes on Galaxy Tab S7/S7+ when expanding notif panel
    • Fixed autorun bug
    • Stability improvement on quick resolution changer feature

    v6.21
    • Added real-time Display FPS option alongside refresh rate.
    • Run service in foreground so it will less likely be killed by the system.
    • Added in-app updater

    v6.00
    Made a number of changes
    • Max Refresh Rate Toggle
      • Added ability to switch to the lowest available refresh rate from the predefined system refresh rates (e.g. 48hz for Note20 ultra at Adaptive)
      • Control the lower limit (hz) of this toggle. Choose whether to include or exclude the lower 48hz and/or 60hz in the toggle.
    • Real-time Refresh Rate
      • Added ability to customize the location and the size of the real-time refresh rate overlay
      • When turned-on, it will automatically pause when the screen is Off to reduce background power consumption
    • Screen Off Refresh Rate
    • Others
      • Updated app layout
      • Show information of the device's supported screen resolutions and the corresponding supported refresh rates
    • Package name change - the package name was changed from com.tribalfs.n20umaxhz to com.tribalfs.gmh
      • To those who purchased the ad-free license of the previous app package, you can freely upgrade to the ad-free version of this new app. Just enter the activation code sent to your email once prompted by the app. You can do the same to reacquire license if you reformatted your phone. Thank you for supporting this app.
    Previous changelogs

    v5.40
    - Fixed landscape orientation layout bug and other layout improvements
    - Added support for Note 20 Ultra Non-5G models (all features)

    v5.26
    - Fixed disabled "High/Fixed Motion Smoothness Mode" switcher on Galaxy Z Fold 2. You should be able to use this function now in Z Fold 2.
    - Fixed force close bug on Galaxy Z Fold 2
    -Fixed missing resolution label for Galaxy S20 series
    - Other code clean up

    v5.20
    - Qs tiles for refresh rate control and resolution switcher now have dynamic icons. Better visibility for partially expanded notification panel.
    - Added high/fixed refresh rate mode/option for Galaxy Note20 Ultra and Z Fold2. If enabled, the device will be set to 'High Motion Smoothness' mode and refresh rates will behave like the Galaxy S20 series.

    v5.00
    - Added support for Galaxy S20, S20+, S20 Ultra and S20FE. Resolution switcher is not applicable to S20 FE.
    - Renamed app to Galaxy Max Hz

    v4.00
    -Added 'Resolution - Motion Smoothness Mode' switcher (button and qs tile). Switch resolution and motion smoothness mode anytime even on medium power saving mode. This specific function requires ADB.

    v3.00
    - Changed overlay FPS to Refresh Rate (Hz)
    - Refresh rate monitor now switches color to red if 60hz or below and to green if above 60hz
    - Added toggle switch for refresh rate monitor on app's home screen

    v2.00
    - The 3-way toggle button and quicksettings (qs) tile are now aware if the current Motion Smoothness mode is set to Adaptive or not. If not, they will show 'Standard' and will open the display settings when clicked
    - The switch for the FPS monitor overlay is moved to a new qs tile. You can now turn the FPS monitor ON/OFF anywhere without opening the app.
    - Changed text color of fps monitor from red to green. Green color has the longest lifespan in amoled, so lesser chance of amoled burn.

    v1.00 Initial release
    6
    Hello everyone! v6.10 is up. :)

    See changelog below. Download link in OP.

    Changelogs
    v6.10

    • Bug fixes
    • Stability improvements and optimizations
    • Screen off mod when turned-ON will only apply when screen is OFF for atleast 8 seconds
    • IT IS HIGHLY RECOMMENDED TO UNINSTALL THE PREVIOUS VERSION (v6.01 or v6.00) BEFORE INSTALLING THIS UPDATE.


    I was looking at screen off refresh rate. Screen on works perfectly.

    On latest Samsung update, security patch December 1.
    Same here, since v6. 01
    You just triggered me to look, battery was going faster than usual but didn't check why yet. But now I know. Although 3.n% is not that much of expect it to be much lower.
    Can confirmed that it works after turning screen off more than 5secs but its not consistent, sometimes it would still shows 96hz and most of the times 48hz doesn't revert back to 96hz upon waking up the screen.


    update : 48hz is working more consistently but still wont revert back to 96hz. I also need to manually turn back on the 'Real-time Refresh Rate' for it to show up again even when the option was already turned on before the screen went off.
    Same here, tried putting the app in exclude from cleaning but it still won't revert back to 96hz.
    Yes i removed and know stop crashing 👍

    my screen off refresh rate doesn't change correctly i noticed it's inconsistent sometimes it does... sometimes it stay at 48 for long while after....needs work
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone