[HTC One X] mike1986.:
​

​

What do you need?

Hex Editor

libhtc-opt2.so from /system/lib

Android SDK (or at least adb shell)

Warning: keep in mind that now 2D rendering will be always checking in your development settings

This is already fixed in new 1.29.401.7 update!

What to do? (method 1 - from PC level)

Download and install any Hex Editor on your PC

Grab libhtc-opt2.so from your device and save on your PC

Open libhtc-opt2.so using Hex Editor

Find line: persist.sys.ui.hw.0.1.

0 should have HEX value 30. Change 0 to 1 (HEX value will change to 31)

Entry should now looks like: persist.sys.ui.hw.1.1.

Save file

use adb push libhtc-opt2.so /system/lib to insert library back to your device

Reboot your device

What to do? (method 2 - from device level)

Download Hex Editor from the Google Play

Open libhtc-opt2.so using Hex Editor

Find line: persist.sys.ui.hw.0.1.

0 should have HEX value 30. Change 0 to 1 (HEX value will change to 31)

Entry should now looks like: persist.sys.ui.hw.1.1.

Save file

Reboot your device

Download modded library (flash in recovery)

Download here

A little bit about libhtc-opt2.so

It's called by build.prop entry: ro.vendor.extension_library=/system/lib/libhtc-opt2.so

It contains a lot of different settings, including governors settings. This is the reason why tweaking governors settings in init.endeavoru.common.rc doesn't work.

It contains many settings HTC did to Tegra 3 configuration.

It's better not to remove that file from the system :)

According to libhtc-opt2.so, GPU 2D rendering is suppose to be enabled in various situations:

com.htc.launcher, com.android.camera, com.htc.android.mail, com.android.browser, com.google.android.apps.maps, com.htc.laputa

com.google.android.videos, com.sdgtl.watch, com.htc.video, com.htc.streamplayer, com.google.android.youtube, com.aurorasoftworks.quadrant

gr.androiddev.BenchmarkPi

,

com.smartbench

, com.quicinc.vellamo, com.android.cm3,

com.glbenchmark., se.nena.nenamark

com.southend.electopi, com.tactel.electopia,

com.antutu

,

com.greenecomputing.linpack

,

eu.chainfire.cfbench

, com.georgie.pi, com.netflix.mediaclient

You can check if it's working by typing:

adb shell

getprop persist.sys.ui.hw

Output should be 1 if it's working. Will be 0, if it's disabled. With my tweak it's always 1. BTW HTC nice trick to rise up benchmarks scores! :D

A little bit about so popular build.prop tweaks

persist.sys.ui.hw=true doesn't work. Don't believe it, don't use it. Adding that to the build.prop means you don't know what you're doing. Seriously, copy-paste tweaks method from other xda threads with so called "findings" is not good. This value is controlled by libhtc-opt2.so.

persist.sys.NV_FPSLIMIT=60 doesn't work either. Why? Because it's 60 by default already! It's down-creased to 30 ONLY when power saving mode is enabled, so when your battery is below some critical level.

persist.sys.NV_STEREOCTRL=0 doesn't work either. Why? Because it's 0 by default already!

ro.HOME_APP_ADJ=1 doesn't work either. And that's the most funny tweak in ICS. Where does it come from? In gingerbread most of the oom_adj values were stored in init.rc inside ramdisk (f.g. setprop ro.HOME_APP_ADJ). They were used in ActivityManagerService. But since Ice Cream Sandwich, those settings were moved to services.jar inside /system/framework. They are no longer in ramdisk! So typing ro.HOME_APP_ADJ=1 in build.prop gives nothing but one extra false changelog line. It's bull****. Some people also call it "gimmicks"... and use it ;)

I will post more once I find them :)

Yeah I know, I'm a "noob", "zip-modder", "dev with no skills" etc. and all this info were kanged from other "real devs" brains. I just used special machine to suck their knowledge :D

​