Related
I jumped from stock CN firmware to XiaomiEU and I noticed that my YouTube running on 60Hz...this is how to fix it back to 120hz all the time. This is method gonna change you refresh rate to 120Hz everywhere including games, and it will stay after restarting ur phone
Attached screenshot
I think videos on YouTube are max 60 FPS so no real point in any higher than 60hz. That was my understanding anyway I could be well off.
I would gladly make it so that the refresh drops to the content I'm watching ( like YouTube to 60 ) but it seems to be stuck on 120hz always... that's why I set it to 90hz and it's much better now . It's a very good compromise between battery drain and viewing experience imo.
Cheers !
ZandersUK said:
I think videos on YouTube are max 60 FPS so no real point in any higher than 60hz. That was my understanding anyway I could be well off.
Click to expand...
Click to collapse
Correct, videos on YT are 60FPS max. However I think OP simply meant 120Hz when scrolling in the YouTube app
jericho246 said:
Correct, videos on YT are 60FPS max. However I think OP simply meant 120Hz when scrolling in the YouTube app
Click to expand...
Click to collapse
Ah my bad then. Cheers
avetny said:
I jumped from stock CN firmware to XiaomiEU and I noticed that my YouTube running on 60Hz...this is how to fix it back to 120hz all the time. This is method gonna change you refresh rate to 120Hz everywhere including games, and it will stay after restarting ur phone
Attached screenshot
Click to expand...
Click to collapse
Nope, it doesn't work in my 11 Ultra global rom. What i did was clear the cache of battery and performance apps and it will become 120Hz everywhere. However it will revert back once restarted.
I am not sure if this will work with xiaomi devices but for those who want to test/try, check galaxy max hz
avetny said:
I jumped from stock CN firmware to XiaomiEU and I noticed that my YouTube running on 60Hz...this is how to fix it back to 120hz all the time. This is method gonna change you refresh rate to 120Hz everywhere including games, and it will stay after restarting ur phone
Attached screenshot
Click to expand...
Click to collapse
Damn thx bruh. I'm getting 120 on yt now. Was trying to find out how to get this done. Idk I came across stuff like to clear the battery app. Weird.
Anyway thx! This helped a ton!
It doesn't work really well though as after watching a video YouTube goes back to 60hz, I found the solution with forcing 120hz via custom props for those who have root
Thanks, it worked on my Poco F3
Thanks it worked on mi 11.
avetny said:
I jumped from stock CN firmware to XiaomiEU and I noticed that my YouTube running on 60Hz...this is how to fix it back to 120hz all the time. This is method gonna change you refresh rate to 120Hz everywhere including games, and it will stay after restarting ur phone
Attached screenshot
Click to expand...
Click to collapse
Thanks alot, i was searching for solution and clearing data or performance and battery was not working for my device,
Thanks again
The swich between 120 and 60 or between 90 or 60 (when setting the refresh rate manually) on Mi 11 Pro is driving me crazy. The reason is that the screen flickers eveytime it switches refresh rate. I really need to set 90hz or 120hz permanently but none of the solutions above works for me. Is there any other way to fix the refresh rate to a given number? 60hz is too low.
You can do ot with terminal if you have root or via ADB if not
flipp0 said:
The swich between 120 and 60 or between 90 or 60 (when setting the refresh rate manually) on Mi 11 Pro is driving me crazy. The reason is that the screen flickers eveytime it switches refresh rate. I really need to set 90hz or 120hz permanently but none of the solutions above works for me. Is there any other way to fix the refresh rate to a given number? 60hz is too low.
Click to expand...
Click to collapse
I use the app SetEdit, easy peasy 90hz, even when i restart my phone
SetEdit SettingsDatabaseEditor - Apps on Google Play
Provides direct access to the Android settings database
play.google.com
BigDisplay said:
I use the app SetEdit, easy peasy 90hz, even when i restart my phone
SetEdit SettingsDatabaseEditor - Apps on Google Play
Provides direct access to the Android settings database
play.google.com
Click to expand...
Click to collapse
I used this app before. I now suspect that my problems with flicker started some time after I changed the refresh rate to 90hz using setedit. Anyway, I recently did a clean install of MIUI 13 (Xiaomi EU) and the flicker is gone. I use the default 120 hz mode now and get more or less the same battery life as when I used 90hz. Before I did a clean flash it did not work using ADB commands either. Even if I set both minimum or maximun refresh rate to 90 it jumped between 60 and 90 constantly.
flipp0 said:
I used this app before. I now suspect that my problems with flicker started some time after I changed the refresh rate to 90hz using setedit. Anyway, I recently did a clean install of MIUI 13 (Xiaomi EU) and the flicker is gone. I use the default 120 hz mode now and get more or less the same battery life as when I used 90hz. Before I did a clean flash I did not work using ADB commands either. Even if I set both minimum or maximun refresh rate to 90 it jumped between 60 and 90 constantly.
Click to expand...
Click to collapse
Nice, best is, you are satisfied
Many users of this device (including myself) have noticed bad touch input sensitivity when using the 144Hz mode, but not in 60Hz or Auto. I have found quite an odd solution that at least fixes the issue on my end, and I'd like more people to test this, so please, comment down below.
Okay, for this I don't believe you need root. Go to settings and enable USB debugging, find the Motorola Edge 20 USB drivers online and ADB & Fastboot of you choice.
Once you have done all of that, open ADB & Fastboot in a terminal and write the following without the quote marks and the comments that start with a dash (make sure your display is on and the phone is connected to the computer):
"adb devices"
-this command will make a message pop up on your phone asking you if you allow the current computer to access your phone, press allow
"adb shell settings put system peak_refresh_rate 120"
-this will make it so that your max refresh rate can be 120Hz. Keep in mind you can set this to either 48, 60, 90, 120 or 144.
"adb shell settings put system min_refresh_rate 120"
-this will set your minimum refresh rate that the phone will default to when it thinks that it doesn't need the maximum refresh rate. Again it can be set to 48, 60, 90, 120 or 144.
Note: You do not need to reboot, the changes are instant. You can freely use the power saving feature (it sets the refresh rate to 60 when enabled) as turning it off retains the parameters set. The parameters also remain after rebooting. You will have to re-introduce these commands only if you switch the refresh rate option in the settings. This is for the most part a one-time fix.
What this basically does is set the refresh rate parameters for your phone. Android has adaptive refresh rate that oscillates based on the content you watch. The "min_refresh_rate" is the lowest refresh rate your phone will use when conserving power (e.g sitting idle on a .pdf file or watching a 60fps video) and the "peak_refresh_rate" is the highest refresh rate the phone will reach when doing tasks it deems appropriate for 120fps. At least in theory. The reality is that setting any sort of parameters that aren't a fixed refresh rate (e.g 144Hz peak with 90Hz min) will be refused by your device, and it will choose to switch to 60Hz when it feels like it even if you have specifically set it to not do that.
I have used the phone for about a week now with these settings, and I'm positive it is better with 120Hz min and peak. You do not get touch issues at this refresh rate and your phone also doesn't annoyingly switch to 60Hz when scrolling through a web browser or Instagram. It is pinned to 120Hz. Although it sucks that the device is not usable at 144Hz, this is the best solution at the moment until Motorola decides to fix their device.
I unfortunately doubt this fixes the issues with the Indian release of the phone. From my understanding, the Indian market has received a varient that has an AMOLED display that comes with issues far more severe than what I've experienced on my unit. Hopefully it is a software issue rather than a hardware one.
-Username: Required
I'll try this later tonight. Thanks for the tip.
Also, Motorola has announced in their forum that there is a fix coming for the touch issue in a software update.
dannejanne said:
I'll try this later tonight. Thanks for the tip.
Also, Motorola has announced in their forum that there is a fix coming for the touch issue in a software update.
Click to expand...
Click to collapse
Yes, I know this. But we all know Motorola is very slow with updates. If we get that fix by the end of the year we'll be very lucky. Set the refresh to 120 and 120 respectively. I feel that the phone is way more usable this way. I'll update the guide too.
Username: Required said:
Yes, I know this. But we all know Motorola is very slow with updates. If we get that fix by the end of the year we'll be very lucky. Set the refresh to 120 and 120 respectively. I feel that the phone is way more usable this way. I'll update the guide too.
Click to expand...
Click to collapse
My touch still had problems in 144Hz mode after doing this. In auto I never really had an issue. However it is useful to let the phone run at 120Hz all the time.
dannejanne said:
My touch still had problems in 144Hz mode after doing this. In auto I never really had an issue. However it is useful to let the phone run at 120Hz all the time.
Click to expand...
Click to collapse
You shouldn't have touch problems with 120Hz fixed.
Username: Required said:
You shouldn't have touch problems with 120Hz fixed.
Click to expand...
Click to collapse
No I don't, only in 144Hz mode. Didn't have issue in auto mode before fixing the refresh rate either. Anyway let's hope the future update will fix 144Hz mode.
dannejanne said:
No I don't, only in 144Hz mode. Didn't have issue in auto mode before fixing the refresh rate either. Anyway let's hope the future update will fix 144Hz mode.
Click to expand...
Click to collapse
Yeah. Let's hope that it's at least not hardware related and can actually be fixed.
Running 144hz no touch issues hear Smooth as butter ,
Hi there, I'd not noticed this before the Android 12 update, but refresh rate appears to drop from 120Hz to 60Hz when using Picture in Picture or Split Screen views. Can anyone else reproduce this please?
You can confirm this by going into developer mode and toggling to always display the refresh rate.
Try a factory reset if you haven't already and it was a OTA upgrade...
I'd rather see if others can reproduce this first - would have thought it's a simple enough thing to test and post your results here, thanks!
Hi SSJ100, I just tested this to confirm for you, it does drop to 60hz immediately and I cannot prompt it to 120hz until I return to full screen view
Further testing, if i have video running in the background, Amazon, netflix or YouTube it stays at 120 with windowed mode on
DS1000RR said:
Hi SSJ100, I just tested this to confirm for you, it does drop to 60hz immediately and I cannot prompt it to 120hz until I return to full screen view
Click to expand...
Click to collapse
Thanks for checking! Again though, I'm quite amazed (okay, maybe not quite the word hehe) at how no one has reported this issue in this forum (and at least one other "major" forum). If they have, please excuse my ignorance and I'd appreciate a link to the thread.
I can also confirm that this issue persists even after updating to the so-called bug fixing patch "BUKG".
DS1000RR said:
Further testing, if i have video running in the background, Amazon, netflix or YouTube it stays at 120 with windowed mode on
Click to expand...
Click to collapse
Interesting how bugs like this manifest sometimes huh hehe. I first noticed this issue with Google Maps when I was navigating with it and switching to another app (which automatically forces Google Maps app to become picture in picture mode). Scrolling looks quite different and jittery - it's amazing how one gets used to 120Hz!
Have you tried the tiles app developed by a user on here? It can force refresh rates very easily and just requires an adb permission.....there was a thread the other day
ssj100 said:
Scrolling looks quite different and jittery - it's amazing how one gets used to 120Hz!
Click to expand...
Click to collapse
There is some black magic going on with these 120Hz panels. 60 Hz never seemed to be a problem before these high refresh rate displays started popping up. I remember smooth as butter 60Hz phones (both iphones and android). But now when i use a 120Hz panel at a 60Hz refresh rate, it feels like something inside the phone is in it's death throes, coughing and spluttering - the stutter is jarring! But if I use my wife's OnePlus 6 (which has a fixed 60Hz screen), it doesn't feel so bad. It's definitely not as smooth as 120Hz but the 60Hz on a 60Hz panel feels smoother than 60Hz on a 120Hz panel. Is it only me or has anyone else had a similar experience?
I have the same issue as well..so pissed..using latest BUKG
I'm on Android 11, One UI 3 still, and when my phone displays split screen apps the refresh rate drops from 120 down to 60.
This must be some battery saving feature, because If I toggle performance mode (processing speed) from the drop down quick menu, the fps shoots back up to 120 in split screen.
So an easy fix if you need 120 in split screen.
Gasman said:
I'm on Android 11, One UI 3 still, and when my phone displays split screen apps the refresh rate drops from 120 down to 60.
This must be some battery saving feature, because If I toggle performance mode (processing speed) from the drop down quick menu, the fps shoots back up to 120 in split screen.
So an easy fix if you need 120 in split screen.
Click to expand...
Click to collapse
Yes, that seems to "fix" it for split screen. However, it doesn't resolve picture in picture fps drop to 60Hz.
Hmm must be an Android 12 thing. I'm sat here typing this with YouTube playing pip and the screen is holding 120fps even with my finger removed from the screen.
I did try Android 12 when the public version was released, but didn't like it, so downgraded back to the last version of 11, with a clean wipe.
Ok something odd going off, my screen seems to be stuck at 120!
Forcing it back to 60 in display options, works. Putting it back to adaptive, keeps the screen at 120. Even on the lock screen, and AOD!
I might try a reboot.
Gasman said:
Ok something odd going off, my screen seems to be stuck at 120!
Forcing it back to 60 in display options, works. Putting it back to adaptive, keeps the screen at 120. Even on the lock screen, and AOD!
I might try a reboot.
Click to expand...
Click to collapse
If you're in low ambient light, screen at low brightness, panel will be locked at 120Hz even with adaptive selected. Move to bright area or increase screen brightness and check if you are able to get to 60Hz
Gasman said:
Hmm must be an Android 12 thing. I'm sat here typing this with YouTube playing pip and the screen is holding 120fps even with my finger removed from the screen.
I did try Android 12 when the public version was released, but didn't like it, so downgraded back to the last version of 11, with a clean wipe.
Click to expand...
Click to collapse
Yes, I've only noticed this issue since Android 12 with the picture-in-picture scenario. Hopefully Samsung fixes this soon.
Gasman said:
Ok something odd going off, my screen seems to be stuck at 120!
Forcing it back to 60 in display options, works. Putting it back to adaptive, keeps the screen at 120. Even on the lock screen, and AOD!
I might try a reboot.
Click to expand...
Click to collapse
Nothing odd there - as previous poster mentioned, it's always behaved that way when the ambient lighting is low enough. And yes, has always been that way for AOD too. I never understood why 120Hz is required particularly for that!
I think that after android 12, my unlock animation is rendered at 60hz because it is sometimes sluggish. Did a full factory reset and i have the last update. Do you guys experience the same? other than that the phone is perfectly smooth
Still the same issue with BULC December update. Somewhat disappointing, as you'd think this should be quite an easy fix.
Still same issue after BULG update with PIP. As a previous person has noted, split-screen mode appears to be auto-throttled to 60Hz by default, and the only way to change this so it remains at 120Hz is by toggling "High" or "Maximum" "Processing speed".
Yesterday i bought an used Rog 3 in perfect condition, advertised as vanilla Rog 3, with normal Rog 3 case an all. Nowhere does it say "Strix".
Aida64 saw it as 865+ as well, which sealed the deal.
To my surprise, testing it at home i found the CPU clock is locked at 2.84 at level 3, and the GPU at 500 something, loke normal 865, so i was scammed it seems.
No ideea why it shows 865+ in certain programs, as it obviously is not, it is the Strix version.
Was wondering if rooting the phone would help me turn it into 865+ levels of performance. Thanks a lot!
The GPU can easily be tweaked using Konabess (you can find the apk on Github). Root required. The cleanest way to make changes to the CPU would be though the kernel but I'm not sure if there is a good custom kernel out there and would generally just leave it alone - the 865 does is good job controling the juice levels to meet demand out of the box, unless you really need the "+"...
Thanks for the reply friend.
In the meantime i bought an actual + version, so all is good on my end, i don't think i'll need to mess with rooting and overclocking. It works really well so far.
I'm thinking in adding the 160 hz refresh rate to the phone, if you have any experience with this, pkease share it with me.
RaduNastase said:
Thanks for the reply friend.
In the meantime i bought an actual + version, so all is good on my end, i don't think i'll need to mess with rooting and overclocking. It works really well so far.
I'm thinking in adding the 160 hz refresh rate to the phone, if you have any experience with this, pkease share it with me.
Click to expand...
Click to collapse
The 160hz refresh rate didn't look good for me, made the display look washed out. But you can easily enable it and check it out for yourself. 120hz is best for me when I need high refresh rate, typically when running apps/games at 60fps. There are extremely few games/apps out there today that will run higher fps to match the highest refresh rates and your battery will take a hard hit too.
Hey, now that you metioned it, i'm interested in 160 hz especially for 60 fps games (emulation), and i'l quickly explain why:
Games that are made natively at ~ 60 fps (say an arcade like Street Fighter Zero 3 run in Retroarch) curiously runs stuttery if the screen is set to 60 hz, less stuttery at 120 hz screen, no stutter at 144 (just a bit of resampling ghosting...almost unoticeable) and i'm curious to see how 160 hz screen handles this situation.
Could you link me a quick noob friendly tutorial for enabling 160 please?
RaduNastase said:
Hey, now that you metioned it, i'm interested in 160 hz especially for 60 fps games (emulation), and i'l quickly explain why:
Games that are made natively at ~ 60 fps (say an arcade like Street Fighter Zero 3 run in Retroarch) curiously runs stuttery if the screen is set to 60 hz, less stuttery at 120 hz screen, no stutter at 144 (just a bit of resampling ghosting...almost unoticeable) and i'm curious to see how 160 hz screen handles this situation.
Could you link me a quick noob friendly tutorial for enabling 160 please?
Click to expand...
Click to collapse
120hz pairs well with 60fps - smooth high refresh rate at 2 x 60 fps although it's not perfectly matched. Some tearing will always occur. The higher refresh rates compensate for it through the higher redraw rates. The perfect solution would be variable refresh rate that dynamically adjusts to the highest possible refresh rate matched to your FPS (like G-SYNC on a pc)...
Either way, the 160 hz option on the ROG 3 tends to wash out the display, I don't think ROG's display is good at handling 160 hz - which explains why they have factory disabled it. But try it out and see if you like it. You can enable it with this setprop change:
adb shell setprop debug.vendor.asus.fps.eng 1
Reboot the device and you should see it enabled.
Thanks, i assume i have to connect the phone to the PC. Anyway, i'll figure it out
144 hz actually works similar to a Variable refresh, as i can play without stuttering even games with native 59.2 fps, or 59.6. Neither 90 nor 120 hz work well in this case, just 144.
I activated the 160 hz option.
It's indeed a bit low on contrast, but that can be easily tweaked inside the game/emulator via shaders.
It appears to be the smoothest option for my emulation needs, a bit smoother than 144 at first glance. Also it seems to have the lowest touch input delay (not to be mistaken with sampling rate), possibly ~ 40 ms (will test this in the near future). For refference, 60 hz has ~ 80 ms.
Seems to be no difference in battery life between this and 144, at least not a noticeable one.
Will test it further and maybe keep it for the games where i need the fastest response and smoothest scrolling (shmups, fighters).
Thanks for all you assistance!
Hi everyone, first post. I've got a fun project for a custom ROM that gamers will love. I wonder if anyone else has tried it, or even if such a ROM / kernel already exists, but I know it's possible.
I signed up here cause I just ordered a Poco F5 Pro and want to either find or modify a kernel to install on it.
The purpose of this custom ROM would be to set the PWM frequency of the phone's OLED display to 120 Hz, and be equal to the refresh rate, but only for the 120 Hz mode.
I only intend to use 120 Hz mode whilst gaming (typically) but when doing so, since the phone doesn't support VRR (variable refresh rates) anyway, I see no reason not to use the brightness slider to reduce the motion blur.
As many here probably know, the PWM frequency is by default 1920 Hz on this phone, which is very high and was selected obviously to avoid headaches or eye-strain which is a common complaint with PWM dimming.
But in my case, while gaming, I would rather set the PWM frequency to be 120 Hz, so that when I modify the brightness, it trades off brightness for less motion blur.
If your PWM frequency isn't equal to the display Hz, you'll see duplicated images and it's not ideal from a smoothness perspective.
You need to sync the PWM frequency to the refresh rate if you want the duty cycle will modulate the brightness vs blur tradeoff.
On one extreme: 100% brightness = 100% duty cycle = full persistence = 1/120 Hz = 8.33ms.
On the other extreme: 10% brightness = 10% duty cycle = 10% persistence = 8.33ms * 0.1 = 0.833ms
8.33ms of persistence isn't great, 1-2ms would be better. Or anything in between. To do this effectively without requiring the final brightness to be too dim, one would preferably want to force the OLED peak brightness to be higher to compensate for the PWM dimming.
So I guess what I'd like to do here, and I'll share the ROM afterwards (unless one exists already that achieves this), is two things:
1) Change the display's PWM frequency from 1920 to 120 Hz,
2) Boost the peak brightness (DC voltage) of the display as high as possible, or proportionally, to compensate for reducing the brightness via the normal display settings.
I tried to do this years ago on a OnePlus 8 Pro, and I had the Linux kernel all downloaded (though some files were missing), but I ended up returning the phone and didn't want to void the warranty on such an expensive phone. Now on the POCO F5 Pro, the price is reasonable for me to take the risk, so I would like to try.
I know the Sony Xperia 1 iii / iv / v have such a feature, namely the "240 Hz motion blur reduction mode", which is just a fancy way of saying 50% duty cycle at 120 Hz with the PWM frequency set to be equal to the current refresh rate of 120 Hz. If you want 480 Hz or 960 Hz "motion rate" on that phone, all you need to do is reduce the brightness further, to 1/4 or 1/8th of maximum.
I'd like to do the same thing here, and I'm fairly sure other users would be interested in a custom phone ROMs for gaming or movie watching to reduce motion blur.
Thanks for listening! I could use a bit of help finding where the original source code for the Android kernel for these phones is, or if it's even possible. I presume so, if others are modding ROMs for other uses (like DC dimming, etc)
EDIT: I found this repo for Xiaomi phones, but sadly it doesn't have anything for POCO F5 Pro
GitHub - MiCode/Xiaomi_Kernel_OpenSource: Xiaomi Mobile Phone Kernel OpenSource
Xiaomi Mobile Phone Kernel OpenSource. Contribute to MiCode/Xiaomi_Kernel_OpenSource development by creating an account on GitHub.
github.com
DimTester77 said:
Hi everyone, first post. I've got a fun project for a custom ROM that gamers will love. I wonder if anyone else has tried it, or even if such a ROM / kernel already exists, but I know it's possible.
I signed up here cause I just ordered a Poco F5 Pro and want to either find or modify a kernel to install on it.
The purpose of this custom ROM would be to set the PWM frequency of the phone's OLED display to 120 Hz, and be equal to the refresh rate, but only for the 120 Hz mode.
I only intend to use 120 Hz mode whilst gaming (typically) but when doing so, since the phone doesn't support VRR (variable refresh rates) anyway, I see no reason not to use the brightness slider to reduce the motion blur.
As many here probably know, the PWM frequency is by default 1920 Hz on this phone, which is very high and was selected obviously to avoid headaches or eye-strain which is a common complaint with PWM dimming.
But in my case, while gaming, I would rather set the PWM frequency to be 120 Hz, so that when I modify the brightness, it trades off brightness for less motion blur.
If your PWM frequency isn't equal to the display Hz, you'll see duplicated images and it's not ideal from a smoothness perspective.
You need to sync the PWM frequency to the refresh rate if you want the duty cycle will modulate the brightness vs blur tradeoff.
On one extreme: 100% brightness = 100% duty cycle = full persistence = 1/120 Hz = 8.33ms.
On the other extreme: 10% brightness = 10% duty cycle = 10% persistence = 8.33ms * 0.1 = 0.833ms
8.33ms of persistence isn't great, 1-2ms would be better. Or anything in between. To do this effectively without requiring the final brightness to be too dim, one would preferably want to force the OLED peak brightness to be higher to compensate for the PWM dimming.
So I guess what I'd like to do here, and I'll share the ROM afterwards (unless one exists already that achieves this), is two things:
1) Change the display's PWM frequency from 1920 to 120 Hz,
2) Boost the peak brightness (DC voltage) of the display as high as possible, or proportionally, to compensate for reducing the brightness via the normal display settings.
I tried to do this years ago on a OnePlus 8 Pro, and I had the Linux kernel all downloaded (though some files were missing), but I ended up returning the phone and didn't want to void the warranty on such an expensive phone. Now on the POCO F5 Pro, the price is reasonable for me to take the risk, so I would like to try.
I know the Sony Xperia 1 iii / iv / v have such a feature, namely the "240 Hz motion blur reduction mode", which is just a fancy way of saying 50% duty cycle at 120 Hz with the PWM frequency set to be equal to the current refresh rate of 120 Hz. If you want 480 Hz or 960 Hz "motion rate" on that phone, all you need to do is reduce the brightness further, to 1/4 or 1/8th of maximum.
I'd like to do the same thing here, and I'm fairly sure other users would be interested in a custom phone ROMs for gaming or movie watching to reduce motion blur.
Thanks for listening! I could use a bit of help finding where the original source code for the Android kernel for these phones is, or if it's even possible. I presume so, if others are modding ROMs for other uses (like DC dimming, etc)
EDIT: I found this repo for Xiaomi phones, but sadly it doesn't have anything for POCO F5 Pro
GitHub - MiCode/Xiaomi_Kernel_OpenSource: Xiaomi Mobile Phone Kernel OpenSource
Xiaomi Mobile Phone Kernel OpenSource. Contribute to MiCode/Xiaomi_Kernel_OpenSource development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/tree/mondrian-s-oss <-- this is the source
Thanks!
I read somewhere that K60 and F5 Pro share the same code, but want to make 100% sure if I compile this and install it, I won't bricky my brand new phone.
TeamMex said:
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/tree/mondrian-s-oss <-- this is the source
Click to expand...
Click to collapse
Hi klozz, are you bringing los to mondrian?
keaheng said:
Hi klozz, are you bringing los to mondrian?
Click to expand...
Click to collapse
I'll give it a try when I have some free time
Minor update: I wasn't sure if this project was even necessary, after I discovered the VR Settings option in the Display Settings on the Poco F5 Pro (and presumably many other HMDs), but it doesn't seem to do anything or actually work, sadly.
I'm not just doing this for VR use, of course, but I want to be able to lower persistence for gaming in general, however watching HDR at 120 Hz in VR on this phone was and is my primary objective. I will mod the kernel if I have to, but I haven't written off trying to get Google VR Services / SetVrModeEnabled API working yet. It currently doesn't work, inside the Cardboard SDK's "Hello Cardboard" sample Android project, but neither does my Galaxy S7 and that should work, or at least it used to.
You can set the brightness of the display in code, so presumably if you can force VR low persistence mode to be enabled on this phone, you can lower the brightness to reduce the persistence (which is how PWM dimming works, it trades off brightness for lower blur in equal measure, you lower one and the other raises and vice versa).
Unless someone knows of a way, or an app, or another ROM, to force Game Mode to activate "Vr mode" or low motion blur modes. I'm not in a super rush to get this working, it's more of a hobby project, but I would appreciate any tips / insights / feedback. Especially where to dig into the kernel source to change the PWM frequency from 1920 to 120 Hz, even if it's hardcoded for now, I could use a hack like if you lower the brightness below 25% it switches the PWM frequency to 120 Hz. That would let me install the ROM and not worry about toggling it on or off. Or if there's an ADB command like there used to be on Samsung phones to toggle low-persistence mode on/off on GearVR-enabled Galaxy phones.
I spoke with several VR experts and it seems like most mobile phones have discontinued support for "VR mode" aka low persistence aka setting the display's PWM dimming frequency = refresh rate.
I am forced to investigate this further, but before I even try to boot a custom ROM on this Poco 5 Pro, let alone compile one myself, I will attempt to find the exact place in the kernel that configures the brightness of the OLED panel (the duty cycle), and see whether the interface permits one to specify some arbitrary PWM frequency, as well as the duty cycle. If there is no such API or parameter, then this project is DOA as it would be something baked into the firmware of the driver board (1920 Hz frequency). If I can even find "1920" as a hardcoded constant somewhere in the kernel, then that's a positive sign. If not, I may have to abandon this and use something like LCD shutter glasses for 3D projectors to achieve low persistence. But that's not great as it cuts light significantly (50% or more due to the polarizing layer).
I guess I'm writing this to ask people here who probably know way more about Android kernel hacking than I do, whether this is indeed possible (configuring the PWM frequency in code).
If it does work, I'll of course publish the ROM and potentially even make it a simple ADB command so you can enable it in any game (this would benefit 2D games as well, to reduce motion blur at the expense of peak brightness. but many people already use sub 100% brightness so that sacrifice may as well go towards lowering the motion blur. this doesn't happen with a PWM frequency of 1920 Hz, naturally).