Related
THIS APP HAS BEEN SUPERCEDED BY "Chainfire3D": http://forum.xda-developers.com/showthread.php?t=1087427
It contains all the functionality present in NightMode and more.
.
.
.
.
.
.
DO NOT INSTALL ON HONEYCOMB (yet)
YOU WILL READ THE ENTIRE POST. YES YOU WILL. EVEN YOU, SUPERCURIO !
About
NightMode itself is an implementation of Jeff Sharkey's excellent power-saving and night-vision-preserving idea for surfaceflinger effects. Really, you should read that link.
The red mode is great in darkness as it does a good job preserving night-vision, for me the power-saving is secondary (power-saving is on OLED screens only)
Unlike Jeff's original article, NightMode is NOT based on surfaceflinger (or other) source modifications, the same effect (more or less) is achieved by using a proxy driver I call CF3D. NightMode serves as the first test of this driver, which will ultimately try to make games run on your device that normally do not.
If you are running CM, you have a similar option already in your settings (which uses the surfaceflinger method).
CF3D driver
The CF3D driver used in the app is a proof-of-concept proxy driver I'm building. It's ultimate purpose is to serve as a compatibility layer and to implement some extra features. Or in normal people English: make stuff work that doesn't, and add some cool.
CF3D is dangerous
The installation of the CF3D driver is not without risk. So far it has worked for everyone who has tried to install it, but you should definitely make a CWM backup before trying!
Successful tests of CF3D
- HTC Hero (not supported by this APK)
- HTC HD2 (MDJ on NAND, Adreno200)
- Samsung Galaxy S (2.3.3, PowerVR SGX540)
- Samsung Galaxy Tab 7" (2.3.3, PowerVR SGX540)
- Samsung Galaxy SII (2.3.3, Mali-400 MP)
- Motorola Atrix 4G (2.2.1 ?, Tegra2)
- Motorola Droid 2 (?, PowerVR SGX530)
- LG Optimus 2X (2.3.4, Tegra2)
More about NightMode !
The featureset is nowhere near what I wanted to release for this beta, but I ran into a lot of snags, and it's simply time to put it out there. For example, what I really wanted is automatic night mode in the dark. However after some testing it became obvious that the light sensors in the phones I used are simply not good enough to accomplish this. So there goes that feature For some reason, they appear to be unable to distinguish between house lighting at night, and pitch black
So the feature set has become really simple: you select which night mode color you want, and whether it should be on or off.
For your convenience, there is also the option to create a shortcut on your home screen to toggle night mode on and off. You can either create it by pressing the button in the app, or: tap-and-hold on the home screen -> shortcuts -> Toggle NightMode.
Requirements
NightMode requires:
- OpenGL ES 2.0 (every 1ghz+ phone has this)
- SuperUser / Root
- Writable /system (it will try to remount system as read/write when needed, but the changes need to stick between reboots)
- S-OFF ??
- Having root access from recovery is a big plus to solve problems if you run into them
Installation
If you have CWM or another recovery-based backup system, make a backup before proceeding !
Install the APK as you would any other. Open the program, and press the "Install" item under the "CF3D driver" heading. This will attempt to install the CF3D driver and reboot your device.
Please make sure you have USB debugging enabled, so you can logcat and potentionally fix problems manually in case of a no-boot.
When installation fails and your device doesn't boot
- If you can achieve root access through ADB shell while booting or in recovery, the fix is usually easy, just execute the /system/lib/cf3d_uninstall.sh script as root.
- Otherwise, if you have CWM, do an advanced restore of the /system partition
- If all else fails, reflash the /system partition or the entire firmware
Uninstallation
Open the app, and select "Uninstall" (if available), then uninstall the APK like you would any other.
Thanks!
Though the app itself may not be very interesting, feedback on devices it does and doesn't work on is most welcome (please include logcats of the boot process), just for the sake of progress with the CF3D proxy driver.
Screenshots / Video
Screenshots are attached below. Here is the video:
Download
Use the Thanks! button if you like it!
DOWNLOAD REMOVED, THIS APP HAS BEEN SUPERCEDED BY "Chainfire3D": http://forum.xda-developers.com/showthread.php?t=1087427 (441 original downloads)
*plants eyes onto screen*
*F5*
*F5*
*F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5*
That sure was the longest edit in history... got sidetracked by other stuff
Chainfire said:
DO NOT ATTEMPT TO USE THIS RIGHT NOW UNLESS YOU ARE EXPERT LEVEL AND/OR WILLING TO REFLASH YOUR FIRMWARE !
YOU WILL READ THE ENTIRE POST. YES YOU WILL. EVEN YOU, SUPERCURIO !
Click to expand...
Click to collapse
Guilty
Thanks to the entire reading session that was well worth it I understood it was not at all a Ripoff of the color effects that are in CyanogenMod, not even related.
Actually the concept is super powerful and I'm already flooded by ideas of new stuff possible with this approach.
Fantastic stuff Chainfire.
Short video added: http://www.youtube.com/watch?v=okKArBstjwA
I really have been waiting for something like this since i got my first android device. Absolutely awesome.
Atrix.
Heehee, updated to v1.1 already... seems I left some debug code in there that disabled PowerVR textures
This sounds really cool . But all the technical stories behind it are completely unclear to me (because I am simply a user, not a maker, so I didn't really delve into this kind of stuff (yet?)).
The thing that matters to me is the battery saving part. Is the amount of battery saving (roughly) the same between these different methods (CF3D/CM7/surfaceflinger)?
And being sufficiently scared by your CF3D is dangerous warnings: did you receive any reports yet from SGS i9000 2.2.1 Users? (Or maybe even more specific, JS8 or Doc rom users, if you think that matters anything.)
I will keep my eye on this, quite interesting .
Tried and tested on Rooted UK Galaxy S2
PDA:XWKE1
PHONE: XXKDJ
CSC:XEUKD1 (XEU)
Install, reboot, Night Mode, all went without a hitch and work as expected.
THIS IS AWESOME (have not tried)
jjwa said:
This sounds really cool . But all the technical stories behind it are completely unclear to me (because I am simply a user, not a maker, so I didn't really delve into this kind of stuff (yet?)).
The thing that matters to me is the battery saving part. Is the amount of battery saving (roughly) the same between these different methods (CF3D/CM7/surfaceflinger)?
And being sufficiently scared by your CF3D is dangerous warnings: did you receive any reports yet from SGS i9000 2.2.1 Users? (Or maybe even more specific, JS8 or Doc rom users, if you think that matters anything.)
I will keep my eye on this, quite interesting .
Click to expand...
Click to collapse
The amount of battery saving should be exactly the same. The battery saving is a property of OLED screens, when not all colors are used. OLED only sends power to pixels that aren't black (for example in red mode, green and blue pixels will remain black, thus not use any power). It has nothing to do with the method used to get there.
There have been no 2.2.1 reports yet, btw.
It works perfectly on my Optimistic 2X
Great work dude!
EDIT: Btw, are you going to release the source at some point?
Sent from my Optimus 2X using XDA App
kiljacken said:
It works perfectly on my Optimistic 2X
Great work dude!
EDIT: Btw, are you going to release the source at some point?
Sent from my Optimus 2X using XDA App
Click to expand...
Click to collapse
Thanks!
Source? I doubt it... I don't normally release source for anything.
Chainfire said:
Thanks!
Source? I doubt it... I don't normally release source for anything.
Click to expand...
Click to collapse
D:
Btw it's running 2.3.4
Sent from my Optimus 2X using XDA App
Works perfectly on my sgs custom rom based on 2.3.3 jvh with touchwizz 4 and voodoo hack kernel. thank you sir !!!
Works on Droid 2 running Fission ROM.
Amazing!
Working on HD2 with TyphooN_CM7_v3.2.6.
Great stuff! Thank U for that!!!
*eyes glued to screen* when it says tested on HTC hero would that be the GSM version or CDMA
Sent from my HERO200 using XDA App
fowenati said:
*eyes glued to screen* when it says tested on HTC hero would that be the GSM version or CDMA
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
Does the hero have open gl2?
Sent from my MB860 using Tapatalk
I find a cool bug lol, i was in yellow mode before i reboot in my red recovery mode, convert my partition in ext 4 with voodoo hack kernel, the boot was in lovely yellow lol. After that u just need to use toggle and all works fine when ur in touchwizz or others home . No incidence for future boot.
Edit : sorry my english is not terrible :-(, hope you understand what i would like to say. See ya
ive gathered some things and did a few tests on my MotoActv since ive gotten it and did some tweaks here and there and i added the following features to mine and put them into a flashable zip for u all
-init.d support (plus some scripts to make it faster then ever) (tested and working (makes two files in sdcard on boot to show it) (picks and chooses when to work now for some reason, so i put an app i made that loads scripts when onCreate()'d and sometimes on-boot)
-Viper4Android sound system (only works for bluetooth headsets if enabled, but its sounds better with good settings)(see credits)
-OpenVPN (idk if theres a use for us but i added the required files (no GUI)
-UsbEnabler.apk (see credits)
-Adblock host (hopefully it works i havent been able to test yet)
-lag-free entropy (so far seems to work, as im not lagging switching launchers anymore)
-MotoActv DPI (my own personall app i made for Changing dpi from 90,100, and stock(120)
-Sqlite3 + init.d sqlite3 optimizer
-Busybox Run-parts (for init.d, still picks and chooses when to work)
-100 Dpi When-Flashed (can be changed back to stock with the MotoActv DPI app i made)
-minor-to-major tweaks from init.d scripts and other methods
-DalvikCache2Sd (not sure if it truly tested working, but i do have a tiny bit more space+no lag like other 2SD methods
soon to be added:
I take bare minimum credit for these, i mostly used this personal zip for when i update my MotoActv's rom, this can be universal for other androids, but it was initially made to the MotoActv watch running custom roms
Credits to give:
(will edit when i get forum post urls and OP's names)
Viper4Android:
OP = @zhuhang
Thread = http://forum.xda-developers.com/showthread.php?t=2191223
UsbEnabler:
OP = @fagalto
Thread = http://forum.xda-developers.com/showthread.php?t=2396138
init.d scripts, OpenVpn, Entropy:
i extracted from the rom on my phone so idk where they originally came from
Init.d App(unreleased w/o mod_pack)+MotoActv DPI:
OP:me @jkok for developing and publishing
Thread (MotoActv DPI):
http://forum.xda-developers.com/showthread.php?t=2435370
Gallery+Live Wallapapers:
Google, But @ClearD for giving me the zip with the script+apks
the zip:
i put together, made the script, signed+released for general use for others:
future credits will be made when i add more things.
Download:
Reusable Download Link
Awesome!
Here's a zip (with changed mounting, again; this time using the exact same one that I use for the rom) of the Live Wallpapers + Gallery apks. Hopefully, this one will work fine.
ClearD said:
Awesome!
Here's a zip (with changed mounting, again; this time using the exact same one that I use for the rom) of the Live Wallpapers + Gallery apks. Hopefully, this one will work fine.
Click to expand...
Click to collapse
well thanks ClearD i can do the script just fine, some of the mountpoints are universal like what i use
umount("/system");
or
run_program("xbin/mount", "/system"); (might be wrong on the xbin part, just going by memory
run_program("xbin/umount", "/system");
but the resolution on the galery on your motoactv rom is too big for it, it resizes dont get me wrong, but it needs to do a single horizontal row cause if u overscroll to the farest right u see there is second or more rows going down, imma fine the sourcecode for the galery2.apk, and make a single-row version when i find it =)
jkok said:
well thanks ClearD i can do the script just fine, some of the mountpoints are universal like what i use
umount("/system");
or
run_program("xbin/mount", "/system"); (might be wrong on the xbin part, just going by memory
run_program("xbin/umount", "/system");
but the resolution on the galery on your motoactv rom is too big for it, it resizes dont get me wrong, but it needs to do a single horizontal row cause if u overscroll to the farest right u see there is second or more rows going down, imma fine the sourcecode for the galery2.apk, and make a single-row version when i find it =)
Click to expand...
Click to collapse
Ah, sweet! That sounds good. I couldn't get it to mount properly any other way so far, but it could have been something as simple as a typo. If it does actually work, then I might use that in the future. That's the one I tried with the last iteration.
ClearD said:
Ah, sweet! That sounds good. I couldn't get it to mount properly any other way so far, but it could have been something as simple as a typo. If it does actually work, then I might use that in the future.
Click to expand...
Click to collapse
the universal way i do my scripts is
mount("ext3", "MTD", "system", "/system");
unmount("/system");
and it always seemed to work for me, so thats why i call it universal anyways
but the other ways i posted seemed to work for me when i tried em, i just used this way cause it was in a zip for a motoactv rom (i think it was yours or the battery mod)
Opps! i was wrong, its not
run_program("xbin/mount", "system");
its
run_program("sbin/mount", "system");
lol i had to check my other mod zips lol
jkok said:
the universal way i do my scripts is
mount("ext3", "MTD", "system", "/system");
unmount("/system");
and it always seemed to work for me, so thats why i call it universal anyways
but the other ways i posted seemed to work for me when i tried em, i just used this way cause it was in a zip for a motoactv rom (i think it was yours or the battery mod)
Click to expand...
Click to collapse
Lol no doubt, I went through the same thing with the battery mod, looking over and over for one that worked better. I'd prefer the xbin/mount method, but for some reason, it was hit and miss on my end with end users. Not sure why, unless busybox wasn't set up right somehow.
Just updated the mod_pack with more features!
Sorry but the only thing i havent really been able to fix that well way the init.d it seemed to workwhen i first released this mod_pack, but it seems to pick+choose when to work, so i added 2 other methods for init.d (one of which is an app i made, yet to release that loads the scripts when the app is onCreate()'d and sometimes on-boot when SuperUser allows it)
but there are some great new features that WILL work, along with some of my own personall apps, tweaks, and clock faces =)
Again: this mod_pack is meant for MotoActv's running a custom rom, and Not meant for AOSP based MotoActv Roms
Tested and confirmed working (except init.d that picks and chooses) on @ClearD 's ClearRom 1.2.0 T2 (and my own personal (un)Official 1.2.1 T1 i made for him)
For some reason all of the mods are being denied superuser, any ideas? I am setup to automatically allow all requests
Edit: Installed SuperSU and my problem has been resolved
Has there been anything definitive about the entropy thing? The last consensus I saw by anyone not potentially making money from a fix is that at best it's just forcing the processor to stay awake, decreasing battery life.
Saeviomage said:
Has there been anything definitive about the entropy thing? The last consensus I saw by anyone not potentially making money from a fix is that at best it's just forcing the processor to stay awake, decreasing battery life.
Click to expand...
Click to collapse
well by my testing before my motoactv went kaput it didnt affect the battery any noticeable amount, but it did solve some-to-all of the lag from switching launchers on the ClearDroid 1.2.0_T2 rom, i cannot make or update this mod-pack anymore because i dont like submitting a mod-pack that is untested, and since my motoactv went kaput i cannot test it anymore but if u have any questions feel free to ask and ill try to answer the best i can for now =)
not sure what is the right place to ask this... How does DPI change work? Does it mean the "system" screen resolution is changed? Let say, what is the "Full Screen" resolutions in 90/100/stock(120?) dpi's??? Where to read about it if it is not so simple???
yuiop0 said:
not sure what is the right place to ask this... How does DPI change work? Does it mean the "system" screen resolution is changed? Let say, what is the "Full Screen" resolutions in 90/100/stock(120?) dpi's??? Where to read about it if it is not so simple???
Click to expand...
Click to collapse
Dont worry its ok to ask here, since i made this app after all , i might as well answer how this works =)
well to make it shorter and more understandable to alot more people:
Yes, it is the overall resolution of the screen:
DPI (dots-per-inch) is more like the size range to view images/displays/graphics on ANY of your LCD/LED Screened devices including androids, I-craps(iPhones/ipods )(sorry i dont like apple too much, bad excperiences, dont get offended if u like it as its just my personal preferences), blackberries, windows phones, TV's, computer Monitors, etc:
the stock setting for HDPI phones (the more common screened ones now) is 240, say if u lower it, the images get smaller, if u raise it it gets bigger (maybe even too big for the screen to handle correctly);
but since the MOTOACTV has a smaller screen as u can obviously see (if u have one that is, as i dont know others posesions =P), its default for the stock rom is 120 (1/2 of HDPI if u notice the math) and 120 is as big as it should go cause say for example 130 dpi, it makes the images slightly too big for the screen, but slightly smaller values (100 is usually smallest for alot of peoples eyes for the watch, but for some people like me that like them a tad smaller for sharp small details, i put 90), but literally the smaller the amounts go, the smaller the images(and possible errors, i.e ES File Explorer crashes below 120 DPI untill u restore to 120+) , and for the smaller screen we have u cant go too big (121+), or too small (>=90-100), so i put those details of 90,100,and 120 (no 110 as it doesnt make too much of a difference by what i saw)
but there is (a) way(s) to check what DPI u are at currently:
METHOD1.check your build.prop file under /system/build.prop by doin these ADB commands (**new line is a new command**) (commands stop at <EOC>)
adb remount
adb pull /system/build.prop
<EOC>
check somewhere using notepad for this line (NOTE: if u want to edit to push to your device use notepad++, search for it on google if u dont already have it, as regular notepad corrupts it)
ro.sf.lcd_density=(your current DPI is displayed here)
if u decide to change it that way and want to apply it MAKE A BACKUP!!!, then change it in notepad++ and save it, then goto the directory it is in in the terminal/command prompt and do (**new line is a new command**) (commands stop at <EOC>)
adb remount
adb push build.prop /system/build.prop
adb shell chmod 644 /system/app/build.prop
adb reboot
<EOC>
METHOD 2: Any DPI Checking/changer app (there might be some good free ones, i.e. pimpmyrom has a density changer (DPI changer) that works the same as mine i think, it changes the DPI value in the Build.prop and it WILL stick over reboots, just not rom flashes (as it overwrites it and my change)
if u want to see how i did this(if u understand java/android applications) u can check This app on my github, its acually fairly easy and lightweight compared to others
https://github.com/kittleapps/MotoActvDPI
and the exact class that does this (using a library), is this
https://github.com/kittleapps/MotoA...om/KittleApps/app/motoactvdpi/MainScreen.java
as u can see it changes it to 90,100, and 120 quite simply (with root access of course)
and sorry for this long message but it explains not only your question, but possible future questions on how this app works =)
jkok said:
but there is (a) way(s) to check what DPI u are at currently:
METHOD1.check your build.prop file under /system/build.prop by doin these ADB commands (**new line is a new command**) (commands stop at <EOC>)
adb remount
adb pull /system/build.prop
<EOC>
check somewhere using notepad for this line (NOTE: if u want to edit to push to your device use notepad++, search for it on google if u dont already have it, as regular notepad corrupts it)
ro.sf.lcd_density=(your current DPI is displayed here)
if u decide to change it that way and want to apply it MAKE A BACKUP!!!, then change it in notepad++ and save it, then goto the directory it is in in the terminal/command prompt and do (**new line is a new command**) (commands stop at <EOC>)
adb remount
adb push build.prop /system/build.prop
adb shell chmod 644 /system/app/build.prop
adb reboot
<EOC>
METHOD 2: Any DPI Checking/changer app (there might be some good free ones, i.e. pimpmyrom has a density changer (DPI changer) that works the same as mine i think, it changes the DPI value in the Build.prop and it WILL stick over reboots, just not rom flashes (as it overwrites it and my change)
if u want to see how i did this(if u understand java/android applications) u can check This app on my github, its acually fairly easy and lightweight compared to others
https://github.com/kittleapps/MotoActvDPI
and the exact class that does this (using a library), is this
https://github.com/kittleapps/MotoA...om/KittleApps/app/motoactvdpi/MainScreen.java
as u can see it changes it to 90,100, and 120 quite simply (with root access of course)
and sorry for this long message but it explains not only your question, but possible future questions on how this app works =)
Click to expand...
Click to collapse
There is a 3rd method as well.
Method 3 = Install the Xposed framework and app settings apk found here: http://forum.xda-developers.com/showpost.php?p=44034334&postcount=2315
This will allow per app DPI settings rather than one global setting.
In order for this to work correctly, make sure you move both the Xposed Installer and App Settings apks to the phone after installation and reboot as well.
I like running some apps at 120, others at 100, 90, and even 70 w/ modded font sizes and this allows for all those combinations.
Artimis said:
There is a 3rd method as well.
Method 3 = Install the Xposed framework and app settings apk found here: http://forum.xda-developers.com/showpost.php?p=44034334&postcount=2315
This will allow per app DPI settings rather than one global setting.
In order for this to work correctly, make sure you move both the Xposed Installer and App Settings apks to the phone after installation and reboot as well.
I like running some apps at 120, others at 100, 90, and even 70 w/ modded font sizes and this allows for all those combinations.
Click to expand...
Click to collapse
that is true, but i didnt include that cause i was seeing people having issues with xposed-framework on the MOTOACTV on a few threads, and tbh i made this app+inlcuded in modpack before that method was usable for MOTOACTV (or gingerbread in general), thats kinda why i havent updated the modpack in a while (including the fact mine is damaged for some time now), i managed to fix mine up somewhat but it only turns on the backlight and no button combos work but to turn on backlight XD, so no fastboot recovery, boot-to-system, or quickboot :S and since the device is discontinued i cant get a real fix XD, so unless i personally test the things i put in this modpack, i cant make new versions to distribute for device stability reasons (e.g. in case it is corrupted and breaks someone elses device, as it is un-tested, since i dont have a device to test it on)
jkok said:
that is true, but i didnt include that cause i was seeing people having issues with xposed-framework on the MOTOACTV on a few threads, and tbh i made this app+inlcuded in modpack before that method was usable for MOTOACTV (or gingerbread in general), thats kinda why i havent updated the modpack in a while (including the fact mine is damaged for some time now), i managed to fix mine up somewhat but it only turns on the backlight and no button combos work but to turn on backlight XD, so no fastboot recovery, boot-to-system, or quickboot :S and since the device is discontinued i cant get a real fix XD, so unless i personally test the things i put in this modpack, i cant make new versions to distribute for device stability reasons (e.g. in case it is corrupted and breaks someone elses device, as it is un-tested, since i dont have a device to test it on)
Click to expand...
Click to collapse
Sorry to hear that. I personally haven't loaded the mod pack yet. Was looking into cherry picking parts of it when I saw the question on DPI. I thought it was a general question.
In any case, I personally have not had any issues with Xposed on my actv. What issues have you heard about?
jkok - thank you so much for the explanations. It's become more clear for me but I'm not so experienced in android/development so I have some more questions related to dpi on actv.
My practical interest in this is - to investigate the possibility to run igo primo on this device (for route planning/voice navigation) because I'm not happy with Motorola map application (walk/run outdoor mode). I have some ideas how to modify igo's data.zip for specific screen resolutions (at least I managed to make "custom 640x480" data.zip for primo 2.4.0 WM for htc DIAM100) but I need to know what is the "Full Screen" resoluton (for igo and other applications) in different dpi modes on actv (ClearD 1.2.0 rom currently, just in case). Is it the same - 176x220 for all dpi's (I don't think so as the size of icons/fonts/etc are different). So, the real question is - what is the screen resolution I need to set up in data.zip to try to run igo primo on motoactv. To know that I need to understand if dpi change affects the "full screen resolution" in motoactv/android. And, once more, sorry if the question looks stupid (already explained etc) as I'm not developer...
yuiop0 said:
jkok - thank you so much for the explanations. It's become more clear for me but I'm not so experienced in android/development so I have some more questions related to dpi on actv.
My practical interest in this is - to investigate the possibility to run igo primo on this device (for route planning/voice navigation) because I'm not happy with Motorola map application (walk/run outdoor mode). I have some ideas how to modify igo's data.zip for specific screen resolutions (at least I managed to make "custom 640x480" data.zip for primo 2.4.0 WM for htc DIAM100) but I need to know what is the "Full Screen" resoluton (for igo and other applications) in different dpi modes on actv (ClearD 1.2.0 rom currently, just in case). Is it the same - 176x220 for all dpi's (I don't think so as the size of icons/fonts/etc are different). So, the real question is - what is the screen resolution I need to set up in data.zip to try to run igo primo on motoactv. To know that I need to understand if dpi change affects the "full screen resolution" in motoactv/android. And, once more, sorry if the question looks stupid (already explained etc) as I'm not developer...
Click to expand...
Click to collapse
well im not familiar with those apps, as for the resolutions/dpi im not sure of that :S it could possible be found on google, as basic hdpi (240 dpi), usually is around 480*800, and 120 dpi is like the motoactv 220*176, so i guess there isnt a ratio it follows, just sizing of images maybee :S, but i also just became a developer more resently withing the last 2 years so im still learning
For the sake of completeness (most of you will have noticed this app already): For a change, Samsung have done a fantastic job and released a great app called "Game Tuner". It's simple to use, doesn't even need root, and renders all of the stuff I wrote below obsolete!
What it does is, it renders each game at an individual screen resolution, frame rate, and texture quality (texture quality only working for me since MM upgrade).
All you have to do is install Game Tuner from Google Play (above link), start it, follow the instructions to install GameMode through Galaxy Apps, and you're good to go. Create a custom profile, set default values (e.g. 75% resolution=1080p), activate the profile. Set different resolutions for other games. And if you want to control apps other than games, tap top left menu, and chose "Apps".
I've done the same benchmarks as with the method below, and the results were exactly the same, so it's really working, but without messing up the UI or impairing system apps like the camera.
Hey folks,
I've decided to put together a little wrap-up of the stuff I found regarding the sometimes rather poor 3D performance of the Note 4. This is only for experienced users who are familiar with things as rooting, backups, adb, in general: unbricking their phone if bad things happen. As usual, I don't take any responsibilty if you brick your phone or destroy it in any other way. Just make sure to activate USB debugging, and if anything goes wrong, either follow this guide, or simply reflash your ROM.
Just make sure you make a Nandroid or at least Titanium backup before you try this. Better safe than sorry...
It comes as no surprise that running a cpu at almost 3GHz takes its toll. Demanding games such as Real Racing 3 or XCOM:EW, or emulators such as PPSSPP cause the cpu to heat up rapidly, until it reaches ~80°C, before it gets mercilessly downclocked to cool down. At this point, you start noticing more or less pronounced performance drops. There isn't really much you can do, except using a custom kernel to downclock cpu & gpu, before your phone does.
But apart from that, there is another, even greater performance hog, which is also one of the main reasons for the overheating issue: the QHD resolution of our Note 4's screen. We're talking about a 3.69 megapixel resolution, that's almost twice as much as Full HD (2.07 MP), and exactly four times as much as HD (0.92 MP). Gorgeous and brilliant, beautiful to look at during everyday use, but pushing the Adreno gpu to its limits when it comes to gaming.
So, an ingenious guy called NOMone has created a nifty little tool called "NOMone Resolution Changer", already some time ago. It's available for free at Google Play. It's been widely discussed here on xda and on other forums, but I want to share my experience specifically on the Note 4.
Btw, it seems he only posted here two times, so he's most likely not active anymore, but you should head over and thank him anyway.
Now, if you're thinking "no way, why should I deliberately sacrifice my QHD resolution?", read on nonetheless. Because this tool is extremely easy to use, and if you only switch the resolution before playing a game, and revert afterwards (it's only one click), you won't have to sacrifice any visual quality. The settings stick after a reboot, so make sure to really restore defaults if you want to go back to QHD.
The trick is to use the appropriate resolution and dpi values, so your screen doesn't get mixed up.
The results are impressive, sometimes even staggering. Has anyone ever wondered why PPSSPP doesn't perform better on a Note 4 than it does on a Note 2? Here's the reason. PPSSPP gains so much performance , it's almost unbelievable.
I've also done some benchmark runs to measure the improvements (yeah, I know, benchmarks are bad, but still :angel: ). The improvement is clearly visible and, even more important, reproducable:
GFXBench GL Benchmark 3.1 (Manhattan):
1. 1440p: 449,4 frames, 7.2 fps
2. 1080p: 800,6 frames, 13 fps (+78%)
3. 720p: 1621 frames, 26 fps (+261%)
4. 480p: 2728 frames, 44 fps (+507%)
This is plain awesome. The Note 4 is listed even lower, with 434 frames, in the device list, while the 1080p Galaxy S5 reaches 775 frames.
AnTuTu (gpu score only):
1. 1440p: 16210
2. 1080p: 21253 (+31%)
3. 720p: 22524 (+40%)
4. 480p: 22523 (+40%)
Obviously, by comparing scores 3 and 4, the Note 4 hits the fps limit at HD resolution, so there's no more room for improvement in AnTuTu.
Seascape Benchmark (detail setting: Very High):
1440p: 26.9 fps
1080p: 46.6 fps (+73%)
720p: 53.4 fps (+99%, sometimes hits the frame limit of 59.0 fps)
480p: 59.0 fps (+119%, hits the frame limit constantly).
This is a beautiful OpenGL ES 2.0 test, so no cpu scores interfering with the result. Again the fps limit prevents a higher score, but nonetheless, this is pretty amazing.
Other benefits: if you're using a custom kernel, you can run gpu-intensive games at lower cpu speeds to keep the cpu temperature in check. In my case, XCOM:EW runs smoothly @ 30% (!!) cpu speed. This way, the cpu doesn't heat up to more than 60°C, which means it doesn't get downclocked while playing. If you like, you can also automate the process of setting the cpu speed with the aptly named app "Automate" . Which is fantastic, btw.
Now what about visual quality?
Seriously: it's hard to tell the difference. If you look very closely, you can see the display isn't as sharp in FHD as in QHD. But if you look that closely, you're in constant danger of triggering some random app with the tip of your nose. At normal viewing distance, especially while gaming, it's impossible to tell the difference.
So, are there any drawbacks?
Yes, there are: the UI gets messed up a bit (e.g. bigger status bar, some Samsung apps don't fit on screen anymore), and NOMone Resolution Changer doesn't seem to work with CM12.1. Well, at least for me, and other users reported so as well. I tested it some time ago, while I was on CM12.1, and even thought it was a fake app, which it isn't! Seems that the resolution is somehow hard coded into CM12, and you can only switch dpi. There's probably nothing you can do when you're running CM, except try your luck.
But if you are running a Touchwiz ROM, stock or custom, it should work as intended (Emotion Revolution ROM r10.1 in my case). And you can simply ignore the UI issues, as long as you only switch the resolution for gaming. It's not a real issue then, because the status bar is hidden anyway while the game is running.
If you want to keep your device running at FullHD permanently, it's a bit more complicated: first, you'll need Xposed, so you can use the App Settings module to set Android System and SystemUI to 480 dpi. This'll fix the UI (Not needed. Just reboot)
Some apps like phone, contacts, S-Note scale down to the lower dpi setting, whereas Samsung keyboard and the camera won't (camera works, see post #10 below).
So you'll have to install another keyboard like SwiftKey (if you don't have it already), find a working camera app (3rd party or hacked Note 4 camera), and clear your Google Play data (at least I had to, it wouldn't install any apps after the changes), and you're good to go. There might also be other issues I'm not aware of yet. But apart from the ones I described, everything's working fine so far.
Have fun!
you don't need root to change the dpi and the resolution.
enable usb debugging and adb the following:
adb shell wm density 480
adb shell wm size 1080x1920
adb reboot
if you want to revert back:
adb shell wm size reset
adb shell wm density reset
adb reboot
the changes persist after reboot.
I am using it like that for some time. Everything is much faster. Even the browsing..
the only 2 bugs I noticed is the Samsung keyboard (i switched to swiftkey) and the action memo (c'mon Samsung devs, code properly..)
mitko76 said:
you don't need root to change the dpi and the resolution.
enable usb debugging and adb the following:
adb shell wm density 480
adb shell wm size 1080x1920
adb reboot
if you want to revert back:
adb shell wm size reset
adb shell wm density reset
adb reboot
the changes persist after reboot.
I am using it like that for some time. Everything is much faster. Even the browsing..
the only 2 bugs I noticed is the Samsung keyboard (i switched to swiftkey) and the action memo (c'mon Samsung devs, code properly..)
Click to expand...
Click to collapse
You're right, you don't necessarily need this tool. All it does is simplify the process. And you should really be able to use adb commands to fix your phone when you mess it up. But NOMone's tool comes in very handy when you're away from your pc and need to switch resolutions quickly. In my case, it's when I want to use the camera: the UI is messed up at 1080p and I haven't found a way to fix it yet, except switch back to QHD. Or the other way round: if you want to play a demanding game on the train at lower resolution, but go back to QHD again.
I'm using 1080p resolution permanently now, because I get a smoother UI, a cooler phone, better battery life, and much better performance. I hope they don't give us 5" UHD screens next...
Could you please explain what is wrong with the camera on 1080p 480dpi? I am using these settings and have 0 problems with the camera. Just curious.. If possible please attach a screen shot. Cheers
The UI is messed. I can't see most of the buttons, and can't take a photo, see attached screenshot.
Xelasarg said:
The UI is messed. I can't see most of the buttons, and can't take a photo, see attached screenshot.
Click to expand...
Click to collapse
Using my method and my values, it is absolutely fine for me. Do you restart after changing the resolution and the dpi?
I am on UK BTU 5.1.1
mitko76 said:
Using my method and my values, it is absolutely fine for me. Do you restart after changing the resolution and the dpi?
I am on UK BTU 5.1.1
Click to expand...
Click to collapse
I even wiped /cache and /dalvik. Strange. My device is a Snapdragon N910F. Is yours an Exynos N910C perhaps? If not, would you mind sending me your camera apk for testing?
Thanks!
Xelasarg said:
I even wiped /cache and /dalvik. Strange. My device is a Snapdragon N910F. Is yours an Exynos N910C perhaps? If not, would you mind sending me your camera apk for testing?
Thanks!
Click to expand...
Click to collapse
very strange indeed. My device is n910f as well. Not rooted and fully stock. I used the Debloater app to disable all unused apps (works via adb) and the method descried in my other post to change the resolution and dpi. The camera is working absolutely fine i.e. no visual changes or glitches. As I am not rooted I am not sure if I can give you the camera apk. It is basically the same apk as in the stock 5.1.1 BTU rom. Try my method on the stock rom with my values and I am sure it will work.
Cool
mitko76 said:
very strange indeed. My device is n910f as well. Not rooted and fully stock. I used the Debloater app to disable all unused apps (works via adb) and the method descried in my other post to change the resolution and dpi. The camera is working absolutely fine i.e. no visual changes or glitches. As I am not rooted I am not sure if I can give you the camera apk. It is basically the same apk as in the stock 5.1.1 BTU rom. Try my method on the stock rom with my values and I am sure it will work.
Click to expand...
Click to collapse
Well, I went ahead and downloaded _alexndr's COI3 stock debloated rom base (Deodexed), extracted SamsungCamera3.apk, replaced the one in my /system/app dir, set permissions, rebooted, and everything's working fine now. :good:
No idea what the Emotroid guys did to the camera app.
I've attached the apk to this post in case anyone else is having this issue.
Man, I've been playing XCOM:EW at 720p, and my phone didn't get warmer than 59°C, even after 2+ hours. And the performance boost is just so incredible... Turns out I don't even mind the 720p resolution in 3D games, it didn't bother me at all.
Just a warning:
I just managed to render my phone useless with this. After changing resolution and DPI, the phone did a soft reboot (as it should), startet booting, then, after the initialisation of systemUI reboots. Has been Bootlooping the past hour. ADB doesn't work, as reboot it's unauthorised and boot loop doesn't allow for any authorisation. Tried resetting via build.prop and userinit.sh. Even Direct Script Injection into init.rc didn't work.
Cache wipe -> no chance
System wipe and reflash -> Nope
In the End i ended up factory resetting and reflashing complete rom. This did work. Not to rant or anything, just a little story for those that are not capable to troubleshoot problems: This might screw your Installation!
domsch1988 said:
Just a warning:
I just managed to render my phone useless with this. After changing resolution and DPI, the phone did a soft reboot (as it should), startet booting, then, after the initialisation of systemUI reboots. Has been Bootlooping the past hour. ADB doesn't work, as reboot it's unauthorised and boot loop doesn't allow for any authorisation. Tried resetting via build.prop and userinit.sh. Even Direct Script Injection into init.rc didn't work.
Cache wipe -> no chance
System wipe and reflash -> Nope
In the End i ended up factory resetting and reflashing complete rom. This did work. Not to rant or anything, just a little story for those that are not capable to troubleshoot problems: This might screw your Installation!
Click to expand...
Click to collapse
Hence the warning at the beginning of the thread.
But seriously: which method did you use? The NOMone app or the adb commands? Because only the adb command needs a reboot to take effect, NOMone does not reboot: it changes the resolution on the fly, then waits 10 seconds for confirmation and switches back to default resolution otherwise.
It's impossible to tell what went wrong in your case, might have been anything from a bad adb command to a malfunction of the app or your rom. I guess if you enter bad values, both methods might break your SystemUI. I managed to do so by using Automate to activate the shell commands on app launch (no bootloop, though, only permanent FC of SystemUI), but I was able to fix it with adb easily.
It's a shame it didn't work for you, most people who are using this method are very happy with it.
THANKS !
dooes this improve battery as well /
gonna try this
Boody hegan said:
THANKS !
dooes this improve battery as well
Click to expand...
Click to collapse
Yes, it does, at least a bit. The screen does still burn a lot of juice because it's so big and bright, but the cpu stays much cooler. Less heat=less power consumption.
Thanks alot , i'm on simplrom v5c and googy max kernel v2
can this still work ..
Xelasarg said:
Hence the warning at the beginning of the thread.
But seriously: which method did you use? The NOMone app or the adb commands? Because only the adb command needs a reboot to take effect, NOMone does not reboot: it changes the resolution on the fly, then waits 10 seconds for confirmation and switches back to default resolution otherwise.
It's impossible to tell what went wrong in your case, might have been anything from a bad adb command to a malfunction of the app or your rom. I guess if you enter bad values, both methods might break your SystemUI. I managed to do so by using Automate to activate the shell commands on app launch (no bootloop, though, only permanent FC of SystemUI), but I was able to fix it with adb easily.
It's a shame it didn't work for you, most people who are using this method are very happy with it.
Click to expand...
Click to collapse
It was completely my fault. I knew what i was getting into, so no problem. It's just that, the "mistakes" i did could easily be done by accident by some less experienced users.
First off, i'm on CM12. NOMones Sollution doesn't seem to work there. CM does a "Hot Reboot" to reload the system UI. No matter what you set in NOMones app, the resolution doesn't change. DPI does though. This seems to be a CM related issue. Maybe they hardcode the resolution at build time...
After that i tried another app, which had the Orientation labeled backwards. So it set 1920x1080 landscape instead of portrait. After that the Phone Bootlooped the System UI. It would always boot up to the PIN Enter Screen and then reboot.
As said, no big Problem. I knew what to do and was able to bring my phone back to working state. Just make sure that you are 100% sure about the numbers you put into such apps and keep in mind that even with such "small" changes you should always have a up to date Backup of everything.
Boody hegan said:
Thanks alot , i'm on simplrom v5c and googy max kernel v2
can this still work ..
Click to expand...
Click to collapse
It should, unless SimplROM is CM12-based. NOMone Resolution Changer, as well as similar apps and the adb method, aren't limited to specific devices. In theory, they may all work on all Android phones. You'll have to try it out yourself, just make a backup before you do so!
domsch1988 said:
It was completely my fault. I knew what i was getting into, so no problem. It's just that, the "mistakes" i did could easily be done by accident by some less experienced users.
First off, i'm on CM12. NOMones Sollution doesn't seem to work there. CM does a "Hot Reboot" to reload the system UI. No matter what you set in NOMones app, the resolution doesn't change. DPI does though. This seems to be a CM related issue. Maybe they hardcode the resolution at build time...
After that i tried another app, which had the Orientation labeled backwards. So it set 1920x1080 landscape instead of portrait. After that the Phone Bootlooped the System UI. It would always boot up to the PIN Enter Screen and then reboot.
As said, no big Problem. I knew what to do and was able to bring my phone back to working state. Just make sure that you are 100% sure about the numbers you put into such apps and keep in mind that even with such "small" changes you should always have a up to date Backup of everything.
Click to expand...
Click to collapse
Right, thanks for clarification. I don't remember the hot reboot in CM12, but I know the resolution switch didn't work when I tried it on my Note 2 some time ago. Funny that for once Touchwiz is more customizable than CM.
If you're still interested, but hate the Samsung colour scheme (like me), you can try out Emotion Revolution ROM r10.1. It's based on the latest COI3 TW firmware, but they themed the notifcation/status bar and toggles to somewhat more like stock Android, see attached screenshot. Looks pretty sleek, performance is easily on par with CM12, and the Emotion kernel has tons of great tweaking options. Or you can go for their Port Note 5 r2.1 ROM, also based on COI3, which should offer full Theme Store support. That's the one I'll flash next. :good:
Xelasarg said:
Right, thanks for clarification. I don't remember the hot reboot in CM12, but I know the resolution switch didn't work when I tried it on my Note 2 some time ago. Funny that for once Touchwiz is more customizable than CM.
If you're still interested, but hate the Samsung colour scheme (like me), you can try out Emotion Revolution ROM r10.1. It's based on the latest COI3 TW firmware, but they themed the notifcation/status bar and toggles to somewhat more like stock Android, see attached screenshot. Looks pretty sleek, performance is easily on par with CM12, and the Emotion kernel has tons of great tweaking options. Or you can go for their Port Note 5 r2.1 ROM, also based on COI3, which should offer full Theme Store support. That's the one I'll flash next. :good:
Click to expand...
Click to collapse
Nah, TW is no option... I choose CM because of the straight forward no bllsht Apps approach. Plus Nightly builds via OTA... In no possible way am i going back to TW
AnTuTu Benchmark @ 1080p, performance governor, stock cpu frequency (2.65 GHz): :highfive:
(OK, cpu was also very cool when benchmark started, 28°C).
So the dev section here has been active recently with some high quality work, and I am looking to add to the fun
**SEE POST 2 FOR CHANGE LOG**
***VERY IMPORTANT IF YOU ARE GOING TO USE THIS MOD, you need to navigate to the /system/etc folder on your device, and rename the file "init.lge.zramswap.sh" to "init.lge.zramswap.sh.bak" so it does not run at boot.
This is a step by step instruction on how to replace the /system/etc/init.qcom.post_boot.sh file for the LG V10. Be it known, however, that this instruction (and file) can be used with any device running the Snapdragon 808 SoC combo.
What does this do?
Simple. It turns your device into an even more efficient powerhouse. Here are is a list of everything done:
-Interactive Governor tuning for performance and better battery life, a quick description of what I did...
-low load, quick response, low frequency
-high load, quick response, higher frequency
-modified input boost settings for Interactive
-Adjusted GPU target load values
-Switched IO scheduler to noop, and tuned accordingly
-Adjusted minfree values (RAM management, it is a little more multi-tasking friendly)
-Adjusted VM parameters - swappiness, dirty ratios, cache pressure, centisec values, etc (again to complement multi-tasking... your data will hang out a little bit more before being written to disk, but house cleaning won't happen all at once, so there is still good performance and your system won't bog down while it is flushing the toilet)
-DISABLED zRAM!!! - I have no idea why a device with 4 GB of RAM has zRAM enabled. This is purely a waste of CPU cycles and other system resources. You want physical memory, not compressed memory.
-Changed congestion algorithm to cubic (better network performance... assuming the network bandwidth is already there
-Cleaned up the shell file and fixed some errors.
-More to come!
How to do this, we'll just get right to it.
Download this app https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
Download this file https://drive.google.com/open?id=0BzM9W6qUvx-gcm1SVDhsTDVWZ3M
And while you are here, check this out, decide which one you want.
http://forum.xda-developers.com/showpost.php?p=66792862&postcount=109
Very important you put the file on the root of your INTERNAL SDCARD!!!
Do not forget to do this.
After you do that, open terminal emulator, and type the following commands in the order they are presented (I would highly recommend just copying them from this post and switching back and forth between your browser and the terminal app):
Code:
su
Code:
cd /
Code:
mount -o remount,rw /system
Code:
cd /system/etc
Code:
rm init.qcom.post_boot.sh
Code:
cd /sdcard
Code:
mv init.qcom.post_boot.sh /system/etc
Code:
chmod 0644 /system/etc/init.qcom.post_boot.sh
Double check the file has been replaced with a file explorer of some sort, double check permissions, then reboot. Good to go.
Some of this stuff explained http://forum.xda-developers.com/tmo...nux-virtual-machine-explained-part-1-t3386956
CHANGE LOG***
May 1, 2017
-Pretty major overhaul of the file. I've done some stuff on the Axon 7 that has been pretty effective. Rolling those changes out to other devices. https://drive.google.com/open?id=0BzM9W6qUvx-gcm1SVDhsTDVWZ3M
May 31, 2016
-Replaced corrupted files. Good to go now!
Dangerously version (fixed) https://drive.google.com/open?id=0BzM9W6qUvx-gVHBGWEp3QkpURVE md5sum: a632c866e22114c0e18fa335f005293e
May 25, 2016
Quite a bit of changes here...
-VM completely readjusted. vfs_cache_pressure set back to default 100 to fairly reclaim memory pages that have been allocated to block specific data about file location, etc.. there are tons of write ups on this stuff if you guys want to investigate more into what this setting does, how it works. It's basically a fairness multiplier centered around a value 100. + or - that value increases or decreases the probability that the kernel will reclaim those certain memory pages relative to swap.
-Swappiness reduced drastically... from 80 to 40 (default is 60 depending on which kernel you are running)
-dirty ratio and dirty background ratios reduced drastically to avoid massive amounts of data being flushed and causing system hangups when that ceiling is hit. (lol this happened to me... system ran out of mem... *shrugs* I go hard bros)
-Increased the probably of the system to reclaim memory pages, and made a pretty big adjustment to writeback_centisecs and expire_centisecs
-Changed functional aspects of the interactive governor again - it is perfect. Nominal user experience. Same with touch input_boost. This system definitely has a sweet spot, and I'm pretty sure we've found it now.
-Decided to ditch the laptop mode idea and not mess with the RAM console outputs, the functional loss wasn't returning enough reward. So, here we are.
-Adjusted minfree once more, to
-It is important to note that the system will, admittedly, not multitask quite as aggressively. I had to do this, however, for myself mostly. As I was achieving OOM conditions and hitting the high ceilings set in other parameters like dirty_ratio and when it hits that wall, man it hits hard. Complete lock up for a good 40 seconds while everything is getting dumped from memory. I need a phone with more RAM lol. Didn't think that would ever happen on my mobile set up with 4 GB of it but here we are. I suppose I could re-enable zRAM for myself? But that would hardly help as compression ratios aren't going to yield me an extra gigabyte. Ok now I'm rambling. DOWNLOAD THE FILE!
Very interesting, I'll be trying this in the next hour or so! Thanks for posting.
Edit: Made changes as per the instructions and rebooted successfully. No issues so far, we'll see! Thanks again.
Nice...
Desde V10 (LG-H901)
For all variants? Is it compatible with H961N LP?
Looks promising and wanted to try.
How do I know it worked? I followed the steps
Sent from my LG-H901 using XDA-Developers mobile app
roosxter said:
How do I know it worked? I followed the steps
Sent from my LG-H901 using XDA-Developers mobile app
Click to expand...
Click to collapse
After every line he explains what it does, you would recognize the changes through your usage or maybe non-usage (as far as battery life and RAM management goes)
When I try to move the file it's giving me this error. I have BusyBox and pretty sure it's on read/write access. What am I doing wrong -_-
1|[email protected]:/ # mv init.qcom.post_boot.sh /system/etc
mv: init.qcom.post_boot.sh: remove: Read-only file system
1|[email protected]:/ #
iamtheon said:
When I try to move the file it's giving me this error. I have BusyBox and pretty sure it's on read/write access. What am I doing wrong -_-
1|[email protected]:/ # mv init.qcom.post_boot.sh /system/etc
mv: init.qcom.post_boot.sh: remove: Read-only file system
1|[email protected]:/ #
Click to expand...
Click to collapse
i got problem with the !!!!!!cd /sdcard , writing
i tried cd /storage/emulated/0
and worked for me
11868 said:
i got problem with the !!!!!!cd /sdcard , writing
i tried cd /storage/emulated/0
and worked for me
Click to expand...
Click to collapse
I tried that, but doesn't hurt trying again.
Edit: It worked. I did the same thing lol oh well thanks @11868
Can this be done with the root explorer instead of terminal emulator?
So this can be used on the G4? And does this overwrite settings within the kernel? If I push this file and I don't like the results can I flash a kernel to get rid of the changes?
iamtheon said:
When I try to move the file it's giving me this error. I have BusyBox and pretty sure it's on read/write access. What am I doing wrong -_-
1|[email protected]:/ # mv init.qcom.post_boot.sh /system/etc
mv: init.qcom.post_boot.sh: remove: Read-only file system
1|[email protected]:/ #
Click to expand...
Click to collapse
Your system wasn't mounted as rw when you executed the command
agrenwa said:
Can this be done with the root explorer instead of terminal emulator?
Click to expand...
Click to collapse
It can, yes, I just prefer the old school way. You can manually drop the file in the /etc folder after deleting the previous one. Just need to make sure the permissions are set appropriately.
klbjr said:
So this can be used on the G4? And does this overwrite settings within the kernel? If I push this file and I don't like the results can I flash a kernel to get rid of the changes?
Click to expand...
Click to collapse
Yes, this can be used on the G4 and any other device using the Snapdragon 808. Overwrite settings within the kernel? No, I wouldn't say that. sysfs is more of a userspace / virtual file system that allows you to interact with the hardware... but the parameters we are working with here are completely writable, not permanent, and more important, will reapply AFTER boot. So, no, flashing a kernel will not revert the changes. If you want to go back, you'll need the original file to replace mine with.
Hope this answers your questions.
Since the file is hosted on Dropbox, anyone who has a dropbox account please choose the login option, and transfer the file to your dropbox before downloading it from your own storage to avoid OP's dropbox being blocked for too many downloads in a row.
Good Job OP, nice to see Junior Members doing something great in the dev section
So I did it last night, and so far battery life seems to be much worse than before when nothing has changed but these tweaks. Any idea why? Battery stats is the same for me as usual with the exception of Android System being at 6% and Android OS at 6% use each.
So far so good, not sure what battery usage will be like. I had terrible lag in a game called Underworld Empire and that has disappeared! How badly was the kernel/system coded before?!
Question , how come your file is smaller than the original? Was there a lot of excess code that was useless?
Sent from my debloated rooted LG V10 using Tapatalk
rirozizo said:
Since the file is hosted on Dropbox, anyone who has a dropbox account please choose the login option, and transfer the file to your dropbox before downloading it from your own storage to avoid OP's dropbox being blocked for too many downloads in a row.
Good Job OP, nice to see Junior Members doing something great in the dev section
Click to expand...
Click to collapse
I'll try to upload the file elsewhere, didn't consider that. However, it is a very small file and dropbox might not notice/care. Good observation.
danstheman7 said:
So I did it last night, and so far battery life seems to be much worse than before when nothing has changed but these tweaks. Any idea why? Battery stats is the same for me as usual with the exception of Android System being at 6% and Android OS at 6% use each.
Click to expand...
Click to collapse
Coincidence maybe? Keep monitoring, report back.
Also, bear in mind: rebooting your system causes a little more activity within the OS the first day or so (particularly google services) and it does have an effect on battery drain.
amoot329 said:
So far so good, not sure what battery usage will be like. I had terrible lag in a game called Underworld Empire and that has disappeared! How badly was the kernel/system coded before?!
Question , how come your file is smaller than the original? Was there a lot of excess code that was useless?
Sent from my debloated rooted LG V10 using Tapatalk
Click to expand...
Click to collapse
Yes, it is smaller because I removed everything that was not relevant to the msm8992 SoC. Qualcomm uses common files for just about everything and anything they can - saves them time, hassle and consolidates work somewhat.
Most of the content removed from the stock file is for other platforms not relevant for us.
warBeard_actual said:
I'll try to upload the file elsewhere, didn't consider that. However, it is a very small file and dropbox might not notice/care. Good observation.
Click to expand...
Click to collapse
I recommend Google Drive or Box
@warBeard_actual
Great job buddy on this.... @freeza mad af!
To everyone else I've been using this for a while and am happy to report my buddy warBeard_actual has been killing it!
bencze, proof or it didn't happen
My X2 broke again few days ago and this time im up for new Phone because the cost of repair is to high compared for the value. Also i need more battery & a (better) working Camera. Also i need to re-new my Phone Contract, so i can get a new Phone cheap. Before i leave i wanted to share my experiences for new or senior users which use/plan to update to 8.1. This Phone is very tricky, so it may save you a lot of work ^^
--- HOW-TO: Get best 8.1 battery/experience + gps fix ---
~ During my time with victara, I tested all 8.1 ROMs for a long time, gone thru log's, tested a lot of other stuff's and this is my result: (if you want to use X2 as an daily driver) ~
~ This applies to mostly all 8.1 based ROMs ~
1. From system/vendor/lib/hw/ delete power.msm8974.so = this lib is not used by anything since long and it just constantly crashes EVERY damn time you touch the screen. After deleting, reboot device and feel the speed increase instantly.
2. If you're a not playing RAM intensive games, use the SwapTorpedo Magisk module, it gives much more speed by disabling zRAM, which in turn saves a lot of CPU uptime. Our 2Gb RAM are enough to run even 3-5 heavy or more Apps simutanesly.
3. In developer settings at the bottom there is "background check" you can disable it for allmost ALL user Apps like fb etc. Notifications will still work no worry, they go thru Play Services. Also don't disable background check for Playstore & GServices = will result in crashing loops (internally), also you should keep all the calendar and contacts sync open if you want that feature.
4. Greenify has not much power on Oreo, dont use it. Use Naptime for great standby! ( keep "disable on charger" for GoogleSync to work properly)
5. footej Camera delivers best results on this semi broken camera...
6. Put as much Apps into /system partition, because they are faster then (use "stock" GApps package) and reflash it with an updated GApps package every now & then if you update your ROM (maybe once or twice a month)
--> on startup Android automaticly detects if there's a newer version of app in /system & deletes the one in /data ^^
7. If you want fast and fixed GPS then replace the file in /system/etc with my attached one. (unzip it 1st!) Works on all ROMs for victara!
8. Our APNs list file is outdated as hell, i suggest manually edit your settings. --> in "type" add: "default,mms,supl,ims" (supl is for location services and ims for things like VoLTE config)
9. There is a wifi config file missing in /system/vendor/firmware ... /prima/HERE [i dont remember extact location], but you will see WCNSS.conf (or similar name) file which is 0 bytes... copy the original one from /system/vendor/etc/wifi/prima to that location & reboot
10. Bad in-call sound quality & low volume fix: open build.prop in /system
Code:
persist.audio.fluence.voicecall=true
change value to
Code:
persist.audio.fluence.voicecall=false
Code:
ro.config.vc_call_vol_steps=7
change value to
Code:
ro.config.vc_call_vol_steps=8
(stock default)
--> save & reboot. Profit.
12. Allways look if you can disable unused Apps in Settings BEFORE deleting them from /system/app or ../priv-app -> it can cause loops (drain)
13. for getting another hour SOT (tested on new battery, non original but legit one) use Swift black substratum theme for anything. "make use of your amoled"
... will maybe update list later
Most stable, bugless 8.1 ROM? IMO: MokeeOS, why? (good stuff)
-> based on latest LineageOS 15.1 sources, even tho they dont merge every commit from LOS (?)
-> updates every day, even for our chipset
-> EXT4 is allmost 3 times faster than f2fs
-> its rock stable, just no NFC, less flashlight toogle bug, best camera performance of all 8.1 ROMs with footej camera.
BUT YOU NEED TO MOD IT! AFTER EVERY UPDATE. (bad stuff)
- STOP it collecting YOUR usage/location data: download the App i attached. (they removed the option to stop it and added their own location & data miner lol)
-> in system tab -> MokeeSettings -> disable all of its services (stats updating & uploading services etc). It will not affect system, but theres no other way, because they really try to hide it from the user
-> you can also disable analytics from Mokee Pay App
-> after disabling the services, you can uninstall "disable service" app
Dont get me wrong, i dont like many things how they "manage" their ROM & source. Moreover they push their users to donate, for FOSS (=FreeOpenSourceSoftware, get it?). with the work others did, but rebranding, "kanging" it as theirs. (atleast they give credits to Lineage on github). Anyway if your are looking for a stable 8.1 ROM, this is your only choice...
Thank you all in Moto X 2014 forum, i will possibly go for OPO 6 (bad Camera) or S9 (bad Software support by Samsung), cant decide
peace! :fingers-crossed:
Thanks man! i followed your instructions! but i dont know how to do point 2, since i dont know how to install magisk.
Sad to see you go. Thanks for all your works to this aging phone. I still keep mine and I have moved to Moto Z2 Play. Hopefully,I can afford One Plus 6. But,it's not available here. Good luck with your new phone. I'm sure you will enjoy it more.
aBixler said:
Thanks man! i followed your instructions! but i dont know how to do point 2, since i dont know how to install magisk.
Click to expand...
Click to collapse
You simply look for Magisk v16 zip file on xda and flash it in recovery
bejunk said:
You simply look for Magisk v16 zip file on xda and flash it in recovery
Click to expand...
Click to collapse
That's all??? Woow, I looked up on Google and found a couple of complicated tutorials, thanks man.
aBixler said:
That's all??? Woow, I looked up on Google and found a couple of complicated tutorials, thanks man.
Click to expand...
Click to collapse
Yeah. And then you open the app & look for modules. You can test them - and thats the great thing about Magisk - if you dont like them, you can easily uninstall them like an app.
bejunk said:
My X2 broke again few days ago and this time im up for new Phone because the cost of repair is to high compared for the value. Also i need more battery & a (better) working Camera. Also i need to re-new my Phone Contract, so i can get a new Phone cheap. Before i leave i wanted to share my experiences for new or senior users which use/plan to update to 8.1. This Phone is very tricky, so it may save you a lot of work ^^
--- HOW-TO: Get best 8.1 battery/experience + gps fix ---
~ During my time with victara, I tested all 8.1 ROMs for a long time, gone thru log's, tested a lot of other stuff's and this is my result: (if you want to use X2 as an daily driver) ~
~ This applies to mostly all 8.1 based ROMs ~
1. From system/vendor/lib/hw/ delete power.msm8974.so = this lib is not used by anything since long and it just constantly crashes EVERY damn time you touch the screen. After deleting, reboot device and feel the speed increase instantly.
2. If you're a not playing RAM intensive games, use the SwapTorpedo Magisk module, it gives much more speed by disabling zRAM, which in turn saves a lot of CPU uptime. Our 2Gb RAM are enough to run even 3-5 heavy or more Apps simutanesly.
3. In developer settings at the bottom there is "background check" you can disable it for allmost ALL user Apps like fb etc. Notifications will still work no worry, they go thru Play Services. Also don't disable background check for Playstore & GServices = will result in crashing loops (internally), also you should keep all the calendar and contacts sync open if you want that feature.
4. Greenify has not much power on Oreo, dont use it. Use Naptime for great standby! ( keep "disable on charger" for GoogleSync to work properly)
5. footej Camera delivers best results on this semi broken camera...
6. Put as much Apps into /system partition, because they are faster then (use "stock" GApps package) and reflash it with an updated GApps package every now & then if you update your ROM (maybe once or twice a month)
--> on startup Android automaticly detects if there's a newer version of app in /system & deletes the one in /data ^^
7. If you want fast and fixed GPS then replace the file in /system/etc with my attached one. (unzip it 1st!) Works on all ROMs for victara!
8. Our APNs list file is outdated as hell, i suggest manually edit your settings. --> in "type" add: "default,mms,supl,ims" (supl is for location services and ims for things like VoLTE config)
9. There is a wifi config file missing in /system/vendor/firmware ... /prima/HERE [i dont remember extact location], but you will see WCNSS.conf (or similar name) file which is 0 bytes... copy the original one from /system/vendor/etc/wifi/prima to that location & reboot
10. Bad in-call sound quality & low volume fix: open build.prop in /system
Code:
persist.audio.fluence.voicecall=true
change value to
Code:
persist.audio.fluence.voicecall=false
Code:
ro.config.vc_call_vol_steps=7
change value to
Code:
ro.config.vc_call_vol_steps=8
(stock default)
--> save & reboot. Profit.
12. Allways look if you can disable unused Apps in Settings BEFORE deleting them from /system/app or ../priv-app -> it can cause loops (drain)
13. for getting another hour SOT (tested on new battery, non original but legit one) use Swift black substratum theme for anything. "make use of your amoled"
... will maybe update list later
Most stable, bugless 8.1 ROM? IMO: MokeeOS, why? (good stuff)
-> based on latest LineageOS 15.1 sources, even tho they dont merge every commit from LOS (?)
-> updates every day, even for our chipset
-> EXT4 is allmost 3 times faster than f2fs
-> its rock stable, just no NFC, less flashlight toogle bug, best camera performance of all 8.1 ROMs with footej camera.
BUT YOU NEED TO MOD IT! AFTER EVERY UPDATE. (bad stuff)
- STOP it collecting YOUR usage/location data: download the App i attached. (they removed the option to stop it and added their own location & data miner lol)
-> in system tab -> MokeeSettings -> disable all of its services (stats updating & uploading services etc). It will not affect system, but theres no other way, because they really try to hide it from the user
-> you can also disable analytics from Mokee Pay App
-> after disabling the services, you can uninstall "disable service" app
Dont get me wrong, i dont like many things how they "manage" their ROM & source. Moreover they push their users to donate, for FOSS (=FreeOpenSourceSoftware, get it?). with the work others did, but rebranding, "kanging" it as theirs. (atleast they give credits to Lineage on github). Anyway if your are looking for a stable 8.1 ROM, this is your only choice...
Thank you all in Moto X 2014 forum, i will possibly go for OPO 6 (bad Camera) or S9 (bad Software support by Samsung), cant decide
peace! :fingers-crossed:
Click to expand...
Click to collapse
Thanks man, specifically for the power.msm file to delete. The speed boost is amazing!!
Why the **** are developers not merging these changes with their roms? do they just not care?
Galaxyninja66 said:
Why the **** are developers not merging these changes with their roms? do they just not care?
Click to expand...
Click to collapse
Because they are hacks and not the properly way to fix
1.Ext4 is only for System,f2fs is much more faster
2.all other hacks can cause issues...
linckandrea said:
Because they are hacks and not the properly way to fix
1.Ext4 is only for System,f2fs is much more faster
2.all other hacks can cause issues...
Click to expand...
Click to collapse
I do not understand, because some dev say that ext4 is faster and others say it is actually f2fs ... I understand the velocity that f2fs has, but this also brings instabilities to the system, while ext4 is more stable but not is fast as f2fs ... even so they still say ext4 may be faster than f2fs on some devices.the question is, for our victara, what is the best file system?
Leonardoliveira said:
I do not understand, because some dev say that ext4 is faster and others say it is actually f2fs ... I understand the velocity that f2fs has, but this also brings instabilities to the system, while ext4 is more stable but not is fast as f2fs ... even so they still say ext4 may be faster than f2fs on some devices.the question is, for our victara, what is the best file system?
Click to expand...
Click to collapse
F2fs is generally more faster than ext4,
The firstly versions of f2fs(2012-2013) aren't very stable but now f2fs is very stable on the majority of device.
In other words
In general f2fs is a bad idea only if the original kernel isn't shipped with it(not our case)
linckandrea said:
Because they are hacks and not the properly way to fix
1.Ext4 is only for System,f2fs is much more faster
2.all other hacks can cause issues...
Click to expand...
Click to collapse
I have yet to notice a solid speed improvement when switching from f2fs on ANY android device I have owned, plus this isn't the android chef's choice, the user is the one who decides this.
"Not the proper way to fix" - This is irrelevant and only applies if we have a proper way to fix these issues, the fact of the matter is that there is no official fix and these have yet to show any signs of conflicting with anything.
Most "developers" I notice are just creating a real quick build using pre-set instructions then sometimes cherry picking from other device's github sources. I am greatful that work is being done but it makes me want to boot into my old development desktop environment and show these cat's how to make something spicy. It's as easy as adding these fixes into your environment and then building the system image with these changes included, you don't even need to use the terminal to add most of these.
linckandrea said:
F2fs is generally more faster than ext4,
The firstly versions of f2fs(2012-2013) aren't very stable but now f2fs is very stable on the majority of device.
In other words
In general f2fs is a bad idea only if the original kernel isn't shipped with it(not our case)
Click to expand...
Click to collapse
Just wanted to add my 2cents, about f2fs. I generally agree with you and also i read some deep-dive articles in the last few years. To keep it short: To be able to really benefit from f2fs,
you need to have HW (storage (eMMC) chip) which is optimized for it as well as the System/Kernel. f2fs was long in development like you say until it was really better than EXT4. But i think in the case of the Moto X2,
either the HW dont plays well or there is some other problem (i dont know which version of f2fs this phone uses). But what i know, from testing (a lot) and comparing results with an EXT4 ROM, EXT4 was ALLWAYS faster.
In (storage) benchmark apps, especially the random r/w, which is quite important, EXT4 was allways better. When i runned apps like SDmaid, (collecting garbage and doing DB optimizing) it was faster (allmost 2-3 times). Same for games like GTA or others which loaded data. I even mesured it to be sure, took many SS to compare because at that time i wanted to build myself, so i was interested whats better... (than my 2nd X2 broke:crying Anyway try it for yourself & you will see. On my old S3 mini, long ago the dev also updated f2fs version, but it still wasnt better than EXT4, i remember (Lollipop times)
To adress, "that these are hacks": I dont think so because those are doing much good and nothing bad. Maybe its not the most professional way to fix it (commit it properly), but it was the best i could do by then..
- delete power.msm8974.so - really this lib was not used by anything, i spend much time digging the Mokee Sources and doing logs etc... We used the AOSP HAL and the Qualcomm one was just bugging around... It didnt affect anything to delete it by then.. (dont know about now)
- setting "persist.audio.fluence.voicecall=false" its cleaning the sound when you speak to someone in a call using the 2nd mic - but it needs that all plays nicely together. I tested it using 2 phones from friends and off was much better, maybe on stock it works well, but on 8.1 custom that was not the case. Also i found by searching a lot around that many more maintainers disabled it on their ROMs because it wasnt working properly.
- setting "ro.config.vc_call_vol_steps=8" -> its the default value in stock ROM, which i extracted...
- GPS fix was inspired by commit to many devices, which pulled settings via framework - this is the "lazy" version, direct edit. Anyway it was way faster (navigation in maps) no bad stuff in log and secure now.
- about APN file - it was really outdated... & about the wifi file, this is the only one i wasnt sure, but for G3 and S5 (which both are msm8974, custom 8.1) the full file was there?!
ALL the other things are recommendations from me (like IMO), thats why the title of this thread. Last thing, for disabling zRAM (SWAP) it was allready discussed in many tech sites that this is absolutely useless in times of 4+ gb RAM. Also it sucks CPU. In Pie its disabled now. We are on the border with 2gb so its up to personal preferences....
Anyway nice to see you working again on this great device, which i really miss I wanted to better "fix" those, with patches, builds and commits, but my knowledge was to limited to do that so i opted for a diffrent way. Also our source was to messy back then, couldnt really get anything done... and im still learning. Then it broke and that was the end for me on X2.
I wish you all the best, maybe you can do some magic on that device. Peace!
EDIT: Sorry the grammar, its late here and just saw this and had to answer..
bejunk said:
Just wanted to add my 2cents, about f2fs. I generally agree with you and also i read some deep-dive articles in the last few years. To keep it short: To be able to really benefit from f2fs,
you need to have HW (storage (eMMC) chip) which is optimized for it as well as the System/Kernel. f2fs was long in development like you say until it was really better than EXT4. But i think in the case of the Moto X2,
either the HW dont plays well or there is some other problem (i dont know which version of f2fs this phone uses). But what i know, from testing (a lot) and comparing results with an EXT4 ROM, EXT4 was ALLWAYS faster.
In (storage) benchmark apps, especially the random r/w, which is quite important, EXT4 was allways better. When i runned apps like SDmaid, (collecting garbage and doing DB optimizing) it was faster (allmost 2-3 times). Same for games like GTA or others which loaded data. I even mesured it to be sure, took many SS to compare because at that time i wanted to build myself, so i was interested whats better... (than my 2nd X2 broke:crying Anyway try it for yourself & you will see. On my old S3 mini, long ago the dev also updated f2fs version, but it still wasnt better than EXT4, i remember (Lollipop times)
To adress, "that these are hacks": I dont think so because those are doing much good and nothing bad. Maybe its not the most professional way to fix it (commit it properly), but it was the best i could do by then..
- delete power.msm8974.so - really this lib was not used by anything, i spend much time digging the Mokee Sources and doing logs etc... We used the AOSP HAL and the Qualcomm one was just bugging around... It didnt affect anything to delete it by then.. (dont know about now)
- setting "persist.audio.fluence.voicecall=false" its cleaning the sound when you speak to someone in a call using the 2nd mic - but it needs that all plays nicely together. I tested it using 2 phones from friends and off was much better, maybe on stock it works well, but on 8.1 custom that was not the case. Also i found by searching a lot around that many more maintainers disabled it on their ROMs because it wasnt working properly.
- setting "ro.config.vc_call_vol_steps=8" -> its the default value in stock ROM, which i extracted...
- GPS fix was inspired by commit to many devices, which pulled settings via framework - this is the "lazy" version, direct edit. Anyway it was way faster (navigation in maps) no bad stuff in log and secure now.
- about APN file - it was really outdated... & about the wifi file, this is the only one i wasnt sure, but for G3 and S5 (which both are msm8974, custom 8.1) the full file was there?!
ALL the other things are recommendations from me (like IMO), thats why the title of this thread. Last thing, for disabling zRAM (SWAP) it was allready discussed in many tech sites that this is absolutely useless in times of 4+ gb RAM. Also it sucks CPU. In Pie its disabled now. We are on the border with 2gb so its up to personal preferences....
Anyway nice to see you working again on this great device, which i really miss I wanted to better "fix" those, with patches, builds and commits, but my knowledge was to limited to do that so i opted for a diffrent way. Also our source was to messy back then, couldnt really get anything done... and im still learning. Then it broke and that was the end for me on X2.
I wish you all the best, maybe you can do some magic on that device. Peace!
EDIT: Sorry the grammar, its late here and just saw this and had to answer..
Click to expand...
Click to collapse
I agree with you, f2fs in itself is faster than then many applications fail to draw the benefits is another fact (however I'm trying to do a f2fs backport from 3.10y (not very simple because motorola has done many changes departing a lot from the original)),
to talk about the fixes
in PIE I changed the powerHAL to QTI version (which solves the problem)
about wifi config no need to copy it from elsewhere that oreo and pie only see it in / vendor
for the other things i see them as optimization that the user can do only and i have nothing in contrary
Good stuff. Thanks for this. Latest mokee seems to be bug ridden, but I flashed unofficial LOS, and I'm applying these tips. Substratum won't work for me, but otherwise I'm happy so far.
Thanks again.