[HTC One X] hamdir:
THE WAY IT MEANT TO BE PLAYED

if you use the solutions in this guide you will be amazed by your One X Tegra 3 abilities

Seeing is believing! checkout the gameplay videos in here

This guide is split in four parts, GAMING BOOST APP, PERMANENT METHODS, QUICK METHODS - Scripts, MANUAL METHODS and FACTS

GAMING BOOST APP METHOD - This app by wilkyyy, henk2484 and myself, does everything in this guide with a single click, a simple, easy and elegant solution, the best and one solution to rule them all

PERMANENT METHODS - These methods will set everything in this guide, using a single init.d script, the boost will stick on your HOX after reboot

QUICK METHODS - Scripts will help you achieve results with the least amount of effort, this should be enough to achieve this guide's goals, for users who like more control

MANUAL METHODS - Will show you how to do things yourselves and tries to explain it along the way, for more advanced users who like to understand how things work and why the performance is capped by default

FACTS - Tries to reveal everything you need to know about Tegra 3 as well as all the related topics, i strongly recommend to at least to have a look at this part to better understand how your One X functions

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

CHANGING ANDROID RESOLUTION METHOD - last updated 14/10/2013

Change Android's Native Resolution, using Scripts (for both Android 4.2.2 and 4.3)

Change Android's Native Resolution on the fly, using Tasker by [MENTION=4321207]neuTrue[/MENTION]

How To Easily reduce your OS resolution in order to boost GPU / gaming performance (via ADB)

Thanks [MENTION=4321207]neuTrue[/MENTION] for his excellent work, more info about resolution scaling here

Use in combination with Gaming boost below

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

GAMING BOOST APP METHOD - Stock Jelly Bean ROM - last updated 19/2/2013

This is currently the best method of them all, these apps will does everything in the guide for you in one click and unleash you One X to its full gaming potential with one click, you can turn it off once your are done gaming to conserve battery

Interactive Governor Method

Requirements:

- ROOT

and one of the following CPU apps:

- [APP Paid] SetCPU for Root Users

- [APP Free] System Tuner

Recommended Kernels:

- XM-Kernel #106 (GPU520, Quad unlock 1500, UV support, S2W, Interactive quad fix and best "linear" quad usage in all games thanks to the MPDECISION driver, more info here)

For the above custom kernel you can use permanent interactive governor instead of gaming boost, set at boot the governor to interactive and the following governor values in your CPU app (more info here):

Ondemand Governor Method:

Requirements:

- ROOT

and one of the following apps:

- [APP Free] RENOVATE Gaming Boost JellyBean v1.0 (Requires Sense Framework and HTC's default CPU governor Settings)

- [APP Paid] GameBooster 2 ★ Root (On stock kernel it requires quad lock, review here)

Recommended Kernels:

- KozmiKKernel 002 or XM-Kernel #41 (GPU520, Quad unlock 1550, UV support, S2W, cooler Nvidia CPU quiet driver and latest Tegra patches, more info here)

- Trip's ENRC2B 3.1.10 Kernel (GPU520, Quad unlock 1500, Interactive quad fix and latest Nvidia drivers, One X+ based, review here)

Simply enable game boost before you start a game and disable it once you finish to preserve battery life.

The following notes are related to HTC's Stock JB 3.18.401.1 kernel (more info here)

Free gaming boost no longer works on this kernel

The kernel now resets governor values few minutes after changing them, it's recommended to either use game booster 2 in ultra mode (performance governor) or switch to a custom gaming kernel

The following notes are related to HTC's Stock JB 3.14.401.24/32 kernel (more info here)

PowerSaver mode

With HTC powersaver's CPU mode turned off, the device will use up to 1500mhz single and 1400mhz quad core, sadly for some rare quad enabled games like shadowgun this might cause random performance drops when the game calls the single core 1500 step

Enabling HTC powersaver's CPU mode will lock the device to 1300mhz quad core, effectively its a quad lock but slightly slower with less heat and battery consumption

Experiment with your game to find which mode works best along with game boost

Locking the quad

Simply set the CPU clock to 1400 on boot and it will stick, the powersaver mode will switch between 1300 and 1400, both quad modes without the buggy single core 1500 step

Place the attached 99CPU1400.txt script in etc/init.d folder, remove .txt extension and set all permissions, reboot

If this doesn't work or you are using a kernel without init.d support, simply use SetCPU, change the clock to 1400 and set on boot

Aggressive Performance tip

You can go further if you want to force max possible performance, unlike ICS, JB kernel allows the performance governor to use full quad, so you can enable boost ON and then switch to performance governor using your favorite SetCPU app, with powersaver off the device will use up to 1400mhz quad cores and idle around two cores 1200mhz, with powersaver on it will use up to 1300mhz quad cores and idle around two cores 1200mhz, naturally this tip will cause extra heat and battery drain, once you are done disable game boost and you will switch back to stock ondemand governor

That's it! it's all you need! but you can learn more about the other methods and the One X/Tegra 3 performance related issues/information in the rest of this guide

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

GAMING BOOST APP METHOD - Stock ICS ROM - last updated 15/10/2012

This is currently the best method of them all, this app will does everything in the guide for you in one click and unleash you One X to its full gaming potential with one click, you can turn it off once your are done gaming to conserve battery

Requirements:

- ROOT

- [APP] RENOVATE Gaming Boost v2.1

Recommendations:

- DieHard or HardToKill patch

- Custom 2.17 Gaming Kernel, Faux 011 or Franco R21 Currently the best kernels for gaming because of the following features: unlock the GPU to its full 520mhz speed, lock the quad at full speed, latest HTC 2.17 drivers and the latest Nvidia drivers from their NV 3.x repo

warning! due to HTC code, on stock ICS kernels, turning off the screen will reset two vital parameters set by the app so you have to make sure not to turn off the screen between boost and playing a game, the issue is not present on stock JB kernel, Faux or Franco

If you are a Gameloft fan check these extra tips: [FIX] Wild Blood Full Effects v1.0.7 Performance + other GameLoft games - Root

That's it! it's all you need! but you can learn more about the other methods and the One X/Tegra 3 performance related issues/information in the rest of this guide

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

PERMANENT METHODS - last updated 15/10/2012

These two methods will do everything for you and unleash you One X to its full gaming potential for good

How to set the gaming boost mode permanently using init.d scripts for custom kernels

Requirements:

- ROOT

- any ROM with init.d support

- Custom gaming kernel, choose one of the recommended above

How to set the gaming boost mode permanently using SetCPU 3.x for any Kernel

Requirements:

- ROOT

- Any Kernel including Stock

That's it! it's all you need! but you can learn more about the other methods and the One X/Tegra 3 performance related issues/information in the rest of this guide

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

QUICK METHODS - Scripts - last updated 15/10/2012

Use the listed kernel of your choice repacked for your current ROM, use supercharger in order to free more RAM/set proper application priorities and apply the recommended scripts to boost your CPU

Current tested kernels for gaming with their recommended methods, custom kernels are faster than stock in games:

Faux kernel version 011 + Supercharger & DieHard Patch + Optimized Ondemand Scripts

Franco kernel version R21 + Supercharger & DieHard Patch + Optimized Ondemand Scripts

Stock kernel for base 2.17.401.2 + Supercharger & DieHard Patch + Optimized Stock Ondemand Scripts (stock kernel from this base has a broken multicore in interactive governor)

Stock kernel for base 1.29.401.11 + Supercharger & DieHard Patch+ Optimized Interactive Scripts

That's it! it's all you need but you can learn more about the methods and the One X/Tegra 3 performance related issues/information in the rest of this guide

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

MANUAL METHODS - Obsolete

Fixing the severe frame rate dips - Optimized CPU governor - The Way it meant to be played

For base 2.17.401.2 stock kernel and Faux kernels :

- You can use these scripts to simplify the entire process

or do it manually with the following steps:

- Download SetCPU 3.x or System Tuner

- Interactive governor have multi-core trouble on these kernels so leave it with the much improved onDemand

- Go to the governor tab and optimize your onDemand values

For base 1.29.401.11 stock kernel or custom kernels based on 1.28 source:

- You can use these scripts to simplify the entire process

or do it manually with the following steps:

- Set your CPU governor to Interactive using SetCPU 3.x or System Tuner

- Optimize your interactive governor behavior by checking the instructions in here, this is the most important step and will give the best results and completely fix scaling issues

- keep the clocks as they are so not to cause needless heat/consumption, this governor is much more suited for gaming as you start gaming it maintains higher clocks, during normal use i advice to return to onDemand for much better battery consumption and wake up speed, do not run in performance governor otherwise you loose 2 cores

- You can automate this process and set game profiles using SetCpu 3.x, read the instructions in the linked post

This tip is enough for the most part but more memory heavy games like Sonic 4 Episode II and NOVA3/Asphalt7 might need so further memory management tips as described below

----------------------------------------------------------------

Reducing stutter and background processes - SuperCharger Method - Best choice

- You can use Supercharger to optimize your memory management and app priorities permanently

- Install DieHard Supercharger's service.jar patch follow the tutorial on how to use the script

- Using the script set the minfrees, use the most agressive minfrees if you want to optimize for gaming like option 9 but go for little less if you are using SetCPU profiles so not to kill SetCPU background process, you can always change minfrees on the fly, they don't require a reboot

- You can add script manager widgets to switch between your multitasking minfrees values on the fly, using supercharger power-shift scripts

- Play for a while to let the game settle in memory, the more you play the better the performance will get

----------------------------------------------------------------

Reducing stutter and background processes - System Tuner Method - Second best

- If you don't want the complex supercharger method

- You can use System Tuner to quickly set your multitasking minfrees, simply go to the Auto-Kill section and load the most aggressive minfrees, when done gaming you can always restore whatever multitasking values you find best, changing these values happens on the fly and do not require reboot

- Play for a while to let the game settle in memory, the more you play the better the performance will get

this method does not attempt to fix the priorities.

----------------------------------------------------------------

Reducing stutter and background processes - Developer Options Method - Most extreme method and least favored

This is my least favored method since its impractical and the constant reloading of everything might actually cause its own set of trouble but its the only method for non rooted users

- Go to Developer options choose don't keep activities and background process limit to 1, don't set the process limit to non or sometimes games won't load

- Wait for Sense launcher to reload (which means its working since it killing Sense launcher)

- Immediately run your Game

- Play for a while to let the game settle in memory, the more you play the better the performance will get

Some games will not work with this method and fail to boot like MC3

The negative aspects of this trick is that your phone functions are limited during gaming and the battery will drain a bit more on every sense reload, this why you should restore your settings to normal when you are done

----------------------------------------------------------------

Always remember the Following

- Always remember to kill heavy tasks before launching your game, leaving system tuner running in the background probing the CPU might cause stutter

- Remember to restore your Developer options to default, if you want a normal working phone

- Remember to restore the governor to onDemand once you are done to save your battery or rely on SetCPU profiles

- Remember to restore your Minfrees if you want more multitasking, you add script manager widgets to switch minfrees on the fly using the supercharger power-shift scripts

- You can also place an auto sync widget and disable accounts sync during gaming, this helps in reducing the chance of interference with games

- Never game while the phone is charging! unless you want to kill your battery and overheat your device, discharge might happen

- Never lock the minimum clock! unless you want to kill your battery and overheat your device

- If it's On, Disable Force GPU Rendering in Developer options, it might cause issues with some games and apps

Read the following facts to better understand how your One X and Tegra 3 works

--------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

The Facts

Using tegrastats you can see games like Glowball immediately requests and enables the full speed quad mode

On the other hand Sonic 4 Episode 2 fails to run beyond 2 cores and 640/1000mhz which means its not actually demanding full power, in part it's the stock governor but also it's the app's fault, another example is temple run brave which runs around 800-1000mhz sadly this means a low clocked GPU too since the GPU is coupled to the CPU speed on Tegra3

Tegra3 is a quad core 1.5ghz 40nm SOC and so learn to accept its operational temperatures i.e: 45c Battery and 75c CPU during heavy use

Tegra3 is a variable SMP design i.e: It's meant to go in and out into it's thermal maximum and so we should not OC this SOC

No chipset is a created equal, so depending on the yields of Tegra3 you might end up with a cooler or hotter running chip

There is a reason why iOS have a very limited multitasking and consoles have barely any, multitasking is always at the cost of optimal performance, lots of apps in the background will increase heat, battery drain and affects gaming performance on the One X

GPU

The Geforce ULP GPU included in the One X's Tegra 3 (AP33) runs up to 416mhz by default but the clock is linked to the CPU speed i.e: when the CPU clock ramps down so does the GPU

however AP33's GPU is rated 520mhz and so it can be unlocked to it's full speed using custom kernels like Faux and Franco R21

CPU clocks work in the following modes on the One X:

Single core = max 1.5ghz

4 cores = max 1.4ghz will scale down to 1.2ghz after a specified CPU temperature limit

the 1500mhz single core step is the main reason for lag in games since sometimes the CPU governor mistakenly locks into this step causing heavy lag, the method in this guide attempts to bypass this issue

The available CPU governors, each using the cores differently:

onDemand governor

The stock CPU governor on the One X tweaked for better battery life and temperature, however it often ramps down the CPU clocks during game-play which is the one of the causes of bad frame rate, interestingly it seems to have a faster wakeup speed than Interactive governor.

This is the most stable for phone operation and can use all the quads but its suffer in keeping the high clocks in games.

You can control the ondemand scaling behavior and use it to insure higher clocks check this explanation in this post

Interactive

Similar to onDemand but responds to your interaction, as long as your using the device it ramps up to full speed.

You can control the interactive scaling behavior and use it to insure higher clocks check this explanation in this post

This governor is supposed to be the best governor for gaming sadly it's bugged on stock kernel, it keeps getting stuck in single core mode, so stick to optimized ondemand or switch to custom gaming kernels

Performance governor

Locks 2 cores to 1400mhz and disable 2 cores for safety, perfect for non mp optimized games like GameLoft's but gives reduced performance in quad optimized apps like Glowball and Shadowgun THD

Starting with JB stock kernel, full quad now works in performance governor

Powersave and Conservative

The best to save battery life and ofcourse they mean compromised performance

They are bugged and sometimes cause reboots in stock kernel

----------------------------------------------------------------

Custom kernels for JB

Finally we have a lot of choices for gaming kernels on JB, check the above recommended kernels in gaming boost app method.

Stock Kernel for JB

HTC's stock 3.14.401.31 kernel fixed quad in the performance and improved GL performance, sadly the interactive governor still can break the quad core and the single core 1500mhz step is still there, however the new powersaver mode locks the phone to 1300mhz quad, check the review here

GameLoft Games

Gameloft games are rarely optimized for Tegra 3 devices, check the following tips

[FIX] Wild Blood Full Effects v1.0.7 Performance + other GameLoft games - Root

Performance governor for non optimized games

You can try the performance governor which locks at 2 cores and 1400mhz for games that don't use the quad core

Locking the clocks

For certain games you might might want to lock the performance you can raise the minimum clock to 1.0ghz for such games but always remember this risks more heat and to always restore the minimum clock if you dont want to fry your One X

Instead of locking the clocks simply use the gaming boost app/scripts or the safer dual core performance governor

Automating this process

SetCpu 3.x has profiles per app where you can choose a governor for you game, check this post

You can also try Tasker to simplify much of this process, thanks to AJerman for this tips and instructions in here

Rom Cleaner

If you are on stock based ROMs like ARHD and don't care much about all the Sense bloat, you can use Rom Cleanerhttp://xdaforums.com/showthread.php?t=1589949 to de-bloat your ROM, this will free more RAM for gaming and reduce background noise, some users reported few extra fps in benchmarks

Cyanogenmod 9/10

Alternatively if you want your One X totally optimized for gaming, try AOSP ROMs, many games might run smooth without any tweaking, this probably due to the dramatically less bloated ROM and better default CPU configuration, but of course it all depends how you bloat it yourself, you can still use the above tips

If anyone can find more tips about Tegra3 gaming please post!