Twitter | Search | |
Mishaal Rahman
Holy crap. Google Pixel 4 changes between 60Hz and 90Hz based on screen brightness. I tested using ADB and logcat. If brightness < 75%, display id = 2. If brightness >= 75%, display id = 1.
Update: We did it! Google announced they will be releasing an update to enable smooth display in more brightness conditions -...
Reddit Reddit @reddit
Reply Retweet Like More
Mishaal Rahman Oct 22
Replying to @MishaalRahman
From dumpsys display: mSupportedModesByDisplay: 0 -> [{id=1, width=1080, height=2280, fps=90.0}, {id=2, width=1080, height=2280, fps=60.000004}]
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @joaomgcd
Kind of related, but if you want to create a Quick Settings tile to toggle the Pixel 4's Force 90Hz display, all you (an app developer, CC ) need to do is change the value of Settings.System.min_refresh_rate to 90 (force 90Hz) or null (disable force 90Hz.)
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
Here's a quick Tasker Task to toggle Forced 90Hz on the Pixel 4. Make Tasker's first QS tile launch this Task.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
This is super easy to test yourself. You can immediately tell the difference just by changing the brightness manually then scrolling on any page.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
Another way to test is to go to This will show you what the refresh rate is currently set to.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
Dylan Raga, XDA's display analyst, believes that "90Hz gets disabled because below 20% magnitude brightness (~75% on the slider) Google applies a different calibration curve." He did some preliminary display testing earlier today.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
Update: "EDIT: After some testing, this seems intentional by Google. The refresh rate throttling happens at slightly higher brightness than the calibration shift."
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
In framework-res__auto_generated_rro_vendor (a framework overlay in /vendor/overlay), the value "config_brightnessThresholdsOfPeakRefreshRate" in arrays.xml is set to 74. With root, we can easily change this threshold.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
Sorry, looks like it should be: If brightness <= 75%, display id = 2. If brightness > 75%, display id = 1.
Reply Retweet Like
Mishaal Rahman Oct 22
Replying to @MishaalRahman
If Google did this to save battery and because they thought nobody would notice, then bravo - you had us all for a week.
Reply Retweet Like