Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,740,943 Members 52,647 Now Online
XDA Developers Android and Mobile Development Forum

[MOD][GB] AdrenoBooster v0.7 [2x Graphics Performance!][Updated: 10/06/2013]

Tip us?
 
Spizzy01
Old
(Last edited by Spizzy01; 10th June 2013 at 04:01 PM.)
#1  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Lightbulb [MOD][GB] AdrenoBooster v0.7 [2x Graphics Performance!][Updated: 10/06/2013]



This only works on Gingerbread, not anything else. We are still working on finding alternative tweaks for ICS and JB
This is a MOD to boost the performance of the Adreno 205 GPU in the Xperia Play. (This mod should also work on other Adreno devices (Adreno 205+) and whilst some people have had some success I cannot confirm which devices other than the Play it works with)

This mod is a joint collaboration/venture of me and CosmicDan. However, as of version 0.2 CosmicDan has unfortunately left the Xperia 2011 range for better things. I wish him every success in the future.

CosmicDan was able to find a variant of the 'adreno_config.txt' file that contains settings that should work on our device. Since finding this we have found numerous combinations of settings that increase the performance of our chips. See below.

What does it do?
The configuration file consists of multiple options, each which do their very own unique 'tweaking' to the way the GPU performs. One of the most notable options we are using is 'triJuice', an explanation of which is below:

If our phones were to have their own driver application, what this would be doing is essentially moving the 'Quality/Performance' slider towards 'Performance'. This tells the GPU to concentrate on 'Performance' rather than 'Quality'.

See CosmicDan's explanation here:
Quote:
It's common graphics stuff and the same for PC's, we have told the GPU to put a focus on performance instead of quality. But the quality is not sacrificed much, it's barely noticeable. Maybe some games will look not so well, you'll have to test and see.

It's like we've lowered effect and texture detail on a system-wide level, allowing the CPU and GPU to give more time to work on geometry and frame updates and such. Useful because many games don't have settings for graphics quality.
Another notable option is 'forceAutoTextureCompression'. This saves RAM and makes texture rendering faster, but the actual loading of the game might be a tiny bit slower - however once it's loaded it will have faster rendering.

A list of possible settings for this configuration file are below (For detailed descriptions please see attached)

Post 3 lists which settings tend to increase or reduce performance, I will not give instructions on how to modify this however if you to intend on making your own config file please use Post 3 as a guide.

Code:
Select Code
; Performance Analysis

performance=normal
disableExtraSwapBlit=0
ignoreGLFlush=0

;   Binning

binning=hw
forceGuardband=0
guardbandValue=0
forceGmemSize=0
gmemSize=0
veboSetting=0
veboSetting=0
numBins_weight=80
numGroups_weight=20

;    Logging

log.resolves=0
log.pm4=0
log.pm4mem=0
log.shaders=0
log.sc_dev=0
log.sc_dev_shader_name=sc_dev_dump.txt
log.cffdump=0
log.cffdump_with_ifh=0
log.cffdump_no_memzero=0
log.dumpx=0
log.primitives=0

;    Debugging

waitForIdleAfterDraw=0
waitForIdleOnSubmit=0
disableSwapTsIdle=0
clockGating=off
useSafeMode=0
redirectDebugMessages=0
forceChipId=Default

;    Primitive Conversion.

convertTristrips=default
convertTrifans=default
convertLineloops=default
shader_sub.write=0
shader_sub.read=0
shader_sub.trivialfs=0

;    Features and Performance

facenessCulling=default
vboDataAlignment=natural 
enableOptimizedTextureUpdates=1
enableOptimizedVboUpdates=1
forceAutoTextureCompression=1
triJuice=1
enableInlineConstantUpdates=1
enableMemoryPool=1
enableFastClears=1
ditherSafeFastClears=0
shadowGmemInAppBuffers=1
textureTiling=0
preserveZStencilOnSwap=0
allowDepthExport=0
untileDynamicTextures=1
fullSurfaceDynamicUpdatePath=1
useGpuTilingHints=1

;    MultiSampling Antialiasing (MSAA) 

MSAASmoothing=Normal
MSAABufferAllocation=never
forceMSAAMode=0
MSAAMode=0
VAESEnable=0
VAESGenericError=0
VAESFailNth=0
VAESDoNotFailFirstN=0
VAESRandomSeed=0
VAESFailPercent=0

;    2D Settings

2D.HwBlt=1
2D.eglSwapMode=noidle
2D.forceEglSwapInterval=0
2D.eglSwapInterval=0

;    LEIA Features 

leiaEnableLrzWrites=0
leiaEnableLrzExpansion=0
leiaExportColorForLrzUnresolve=0
leiaEnableFastLrzUnresolves=0

;    Oxili settings.

oxiliDisableLazyUpdates=0
oxiliDisableChunkedUpdates=0
oxiliForceShaderDirectUpdates=0
oxiliForceConstantDirectUpdates=0
oxiliForceIstoreCacheMode=1
oxiliForceCstoreSingleBuffer=0
oxiliForceShaderSingleContext=0
oxiliForceSuperthreadMode=1
oxiliForceVsSingleThread=0
oxiliForceFsSingleThread=0
oxiliForceSingleSp=0
oxiliSkipClears=0
oxiliForceSysmemRender=1

;    Other settings

FPSCap=60
allowFloatFBOs=1
suppressTimestampInterrupts=0
GPUIdleTimeout=off
GPUIdleTimeoutMsec=0
Please ignore the values of the above settings unless otherwise stated. The majority of these are stock/default values for our device.

Downloads - Official repository

AdrenoBooster v0.7

AdrenoBooster v0.6

AdrenoBooster v0.5 - Quality Edition

AdrenoBooster v0.4.1 - Battery Edition

AdrenoBooster v0.3 - Minimal Edition - This version will give you the best performance - stability ratio. Whilst the other versions may give you better performance but in some rare instances lower quality/artifacts, this version should give you the best of both worlds.

AdrenoBooster v0.1

AdrenoBooster v0.2

Instructions

Download and copy the ZIP to SD Card. Then flash using CWM.

NOTE: Please ensure you reboot your device after the first boot post-installation of the mod or it will not be active.


Requirements

Init.d support
Root
Any Gingerbread ROM


Screenshots



IMPORTANT!! - Please ensure you thank 'CosmicDan' as well for this fantastic mod. A huge portion of the work has been done by him!
(See 5th post if you would like to 'Thank' him)
Attached Files
File Type: txt adreno_config.txt - [Click for QR Code] (38.8 KB, 4251 views)

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster

The Following 165 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
 
Spizzy01
Old
(Last edited by Spizzy01; 7th April 2013 at 02:01 AM.)
#2  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Troubleshooting

First, give yourself another reboot - Just in case!

If it still doesn't seem to be working for you, check to see if the files have copied to your device. Check the following locations for the following files with any file manager with Root support.

/system/etc/init.d - Filename: 93adreno
/system/etc - Filename: adreno_config.txt

You should also see adreno_config.txt in the following location if the init.d script is working correctly: /data/local/tmp
If this file is not in this location then chances are you do not have init.d support.

Black screen on boot? See here: http://forum.xda-developers.com/show...&postcount=377

Extras

You can assist with the testing of some of these settings by doing the following:
  • Open a new text file in a standard text editor (Notepad++ or Notepad for Windows)
  • Choose values from the above post to put into your configuration file. (Use the attached adreno_config.txt file as an indication of what setting does what)
  • Save this new file as 'adreno_config.txt'
  • Copy this text file to your phones SD Card.
  • Open your File Manager on your phone (I use ES File Explorer)
  • Prepare adreno_config.txt on your SD Card for copying
  • Navigate to /Data/local/tmp and paste the file there
  • Reboot.

Please be aware that if you have any cleaner init.d scripts this will NOT work, as when you reboot /data/local/tmp will be deleted.


Devs/Chefs/Tinkerers

If you would like to add this to your ROM please simply drop a short request in this thread or PM.

After which, please ensure proper credit is given.


Current Antutu Highscore
(With the benefits of this mod) - By CrypticRook




Manually Uninstalling the Mod


Navigate to the following locations and remove the files.

/system/etc/init.d - Filename: 93adreno
/system/etc - Filename: adreno_config.txt
/data/local/tmp - Filename: adreno_config.txt

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster

The Following 34 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
 
Spizzy01
Old
(Last edited by Spizzy01; 1st March 2013 at 12:28 AM.)
#3  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Tested Settings

Untested:
preserveZStencilOnSwap - enabling might improve performance at the increased risk of visual artifacts

Dangerous:
facenessCulling - Turning on causes crash on boot
FPSCap - setting to anything other than 0 (even to 60 or 100) causes unstable 2D rendering
2D.eglSwapMode=interrupt - Causes unstable/looping 2D rendering. Applications fail to initialize.
fullSurfaceDynamicUpdatePath - reduces 3D performance by around 10%.

Performance Boosts:
forceAutoTextureCompression - Turning this on seems to help a LOT with 3D performance. Might increase load times by a a tiny amount.
triJuice - setting it to the max value of 3 increases particle/shader/lighting performance a LOT with a minor loss in quality
forceMSAAMode - enabling this will force no anti-aliasing as long as MSAAMode is left at 0. Could increase performance on some things but make them look very chunky
2D.HwBlt - Enabling this should enhance GPU hardware acceleration in gingerbread. It says default is enabled but I've set it to 1 anyway.
oxiliForceVsSingleThread=1 - Must be enabled with oxiliForceFsSingleThread=1 for performance increase. Prolonged usage has negative impact (Needs more testing).
oxiliForceFsSingleThread=1 - Must be enabled with oxiliForceSingleSp=1 for performance increase. Prolonged usage has negative impact (Needs more testing).
oxiliForceSingleSp=1 - Must be enabled with oxiliForceVsSingleThread=1 for performance increase. Prolonged usage has negative impact (Needs more testing).
clockGating - Turning this on might save power consumption (Currently being tested more to confirm). However there is no performance drop by having this enabled

Seemed to hurt performance: (I did not test these much, could do with more tests one-by-one)
leiaEnableLrzExpansion - enabling might.... do something.
leiaEnableFastLrzUnresolves - enabling might improve performance
oxiliDisableChunkedUpdates - enabling might improve performance
oxiliForceShaderDirectUpdates - enabling might improve performance
oxiliForceConstantDirectUpdates - enabling might improve or reduce performance
oxiliForceShaderSingleContext - enabling might improve performance at cost of quality
oxiliForceSuperthreadMode - enabling might improve performance or reduce it. Probably conflicts with above one.
suppressTimestampInterrupts - enabling might improve or reduce performance

Null/No Difference - These options made no effect on performance from their default settings
shadowGmemInAppBuffers - no effect on performance or quality

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster

The Following 28 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
 
johnnzey
Old
#4  
johnnzey's Avatar
Senior Member
Thanks Meter 309
Posts: 525
Join Date: Sep 2012
Location: South Wales
Great! Really looking forward to seeing what you can do
My work at XDA: AtoMic GB 7.0 for PLAY | 4.1.H.0.4 - FIXED | StoXperia GB
Current Phone setup: Moto G 16GB | Official CyanogenMod by dhacker29 | Pink Kernel
______________________________________
Click the 'Thanks' button if I helped you!
Follow me on Twitter: @juhnlel
 
CosmicDan
Old
(Last edited by CosmicDan; 27th February 2013 at 01:51 AM.)
#5  
CosmicDan's Avatar
Senior Member
Thanks Meter 3802
Posts: 3,970
Join Date: Jun 2009
Location: Central Coast

 
DONATE TO ME
Thanks for letting me know you opened a topic :P

I've been doing some research and here's what ideas I've found so far:


clockGating - Turning this on might save power consumption. Will need to test if it has a performance hit.

facenessCulling - Turning on causes crash on boot

forceAutoTextureCompression - Turning this on MIGHT save RAM and/or MIGHT increase load times/CPU usage.

triJuice - raising this value might increase performance but decrease quality of mipmapping.

shadowGmemInAppBuffers - disabling might improve performance but break some things

preserveZStencilOnSwap - enabling might improve performance at the increased risk of visual artifacts

fullSurfaceDynamicUpdatePath - enabling might improve performance at the increased risk of visual artifacts

forceMSAAMode - enabling this will force no anti-aliasing as long as MSAAMode is left at 0. Could increase performance on some things but make them look very chunky

2D.HwBlt - Enabling this might enhance GPU hardware acceleration in gingerbread. It says default is enabled but I've set it to 1 anyway.

2D.eglSwapMode - changing to interrupt mode might.... do something. LETS TRY IT!

leiaEnableLrzExpansion - enabling might.... do something.

leiaEnableFastLrzUnresolves - enabling might improve performance

oxiliDisableChunkedUpdates - enabling might improve performance

oxiliForceShaderDirectUpdates - enabling might improve performance

oxiliForceConstantDirectUpdates - enabling might improve or reduce performance

oxiliForceShaderSingleContext - enabling might improve performance at cost of quality

oxiliForceSuperthreadMode - enabling might improve performance or reduce it. Probably conflicts with above one.

oxiliForceVsSingleThread - enabling might improve or reduce performance

oxiliForceFsSingleThread - enabling might improve or reduce performance

oxiliForceSingleSp - enabling might improve or reduce performance

FPSCap - setting to 30 or 60 might help with all-round performance and reduce lag spikes. Maybe.

suppressTimestampInterrupts - enabling might improve or reduce performance



Right, that's a lot of things for me to try one by one. If anyone else wants to, go for it. Just remember it could completely break your boot :P

XtreamerMobile Developer


My GitHub | My Apps on AppBrain


Goodbye Xperia 2011 scene - on to greater things

Current Community Projects:
Turbo Tools - Suspended
TBA...

The Following 53 Users Say Thank You to CosmicDan For This Useful Post: [ Click to Expand ]
 
Spizzy01
Old
(Last edited by Spizzy01; 27th February 2013 at 01:41 AM.)
#6  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Default Re: [WIP] Adreno Configuration Settings [Improved Performance?]

I did lol.. In the adreno thread xD

Ill make it more clear next time.

I've just tried a few things... Managed to make Antutu crash lot. Just finally completed a full benchmark but then the OS died. Going well so far. Cya in about 7 hours!

Edit: it looks like you can copy it to data/local/temp and the settings will apply for next boot. After which it is then removed from the directory. Which for me makes things a bit easier!

Sent from my R800i using xda app-developers app

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster

The Following 7 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
 
CosmicDan
Old
#7  
CosmicDan's Avatar
Senior Member
Thanks Meter 3802
Posts: 3,970
Join Date: Jun 2009
Location: Central Coast

 
DONATE TO ME
Oh by the way, copying the config file to /system/lib/egl/ definitely does nothing. I tested by setting FPS cap to 5, no effect. File needs to be at /data/local/tmp/ - it does *not* get wiped on reboot so its OK.

EDIT: THe file isn't removed from /data/local/tmp/ for me =\ maybe you have an init.d script that erases it or something.

XtreamerMobile Developer


My GitHub | My Apps on AppBrain


Goodbye Xperia 2011 scene - on to greater things

Current Community Projects:
Turbo Tools - Suspended
TBA...

The Following 6 Users Say Thank You to CosmicDan For This Useful Post: [ Click to Expand ]
 
Spizzy01
Old
(Last edited by Spizzy01; 27th February 2013 at 02:00 AM.)
#8  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Default Re: [WIP] Adreno Configuration Settings [Improved Performance?]

Possibly. Ill check.

Btw, I just managed 13fps on the OpenGL ES2.0 test on Antutu. It was hilarious, so many artifacts... But it passed it!

...Until it died on the SD card test. If you use Antutu I suggest doing custom tests and taking SD out. Or reducing OCs. I think my 1.6ghz may be the problem.

Or perhaps we should use stock clock a to base our tests on?

Edit: seems like almost every setting you try also kills the bootanimation lol

Sent from my R800i using xda app-developers app

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster

The Following 2 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
 
CosmicDan
Old
(Last edited by CosmicDan; 27th February 2013 at 02:28 AM.)
#9  
CosmicDan's Avatar
Senior Member
Thanks Meter 3802
Posts: 3,970
Join Date: Jun 2009
Location: Central Coast

 
DONATE TO ME
Quote:
Originally Posted by Spizzy01 View Post
Possibly. Ill check.

Btw, I just managed 13fps on the OpenGL ES2.0 test on Antutu. It was hilarious, so many artifacts... But it passed it!

...Until it died on the SD card test. If you use Antutu I suggest doing custom tests and taking SD out. Or reducing OCs. I think my 1.6ghz may be the problem.

Or perhaps we should use stock clock a to base our tests on?

Edit: seems like almost every setting you try also kills the bootanimation lol

Sent from my R800i using xda app-developers app
I can't get past the 2D/sprite test in Antutu (the little Androids) it freezes at the end lol. Boot animation was always OK for me....

Yeah, using a stock clock would be a good idea. But I'm on 1.4 ghz anyway because that's what I've always used and always been stable on.

EDIT: I think setting FPSCap to 60 was the reason for Antutu freezing on 2d test.

EDIT2: You are using LuPuS GB kernel right? Because Turbo Kernel has backported KGSL drivers, so that's probably why we not only have different performance scores but may have different results with these configs.

---------- Post added at 01:24 PM ---------- Previous post was at 01:13 PM ----------

DUDE! New Gingerbread record!



/data/local/tmp/adreno_config.txt:
Code:
Select Code
facenessCulling=off
forceAutoTextureCompression=1
triJuice=3
2D.HwBlt=1

XtreamerMobile Developer


My GitHub | My Apps on AppBrain


Goodbye Xperia 2011 scene - on to greater things

Current Community Projects:
Turbo Tools - Suspended
TBA...

The Following 4 Users Say Thank You to CosmicDan For This Useful Post: [ Click to Expand ]
 
Spizzy01
Old
(Last edited by Spizzy01; 27th February 2013 at 09:02 AM.)
#10  
Spizzy01's Avatar
Senior Member - OP
Thanks Meter 1394
Posts: 1,070
Join Date: Nov 2011

 
DONATE TO ME
Quote:
Originally Posted by CosmicDan View Post
I can't get past the 2D/sprite test in Antutu (the little Androids) it freezes at the end lol. Boot animation was always OK for me....

Yeah, using a stock clock would be a good idea. But I'm on 1.4 ghz anyway because that's what I've always used and always been stable on.

EDIT: I think setting FPSCap to 60 was the reason for Antutu freezing on 2d test.

EDIT2: You are using LuPuS GB kernel right? Because Turbo Kernel has backported KGSL drivers, so that's probably why we not only have different performance scores but may have different results with these configs.

---------- Post added at 01:24 PM ---------- Previous post was at 01:13 PM ----------

DUDE! New Gingerbread record!



/data/local/tmp/adreno_config.txt:
Code:
Select Code
facenessCulling=off
forceAutoTextureCompression=1
triJuice=3
2D.HwBlt=1
OMFG! LEGEND!

Gonna test on mine and report back ASAP. Gimme 10 - 20 mins, depending on when I can get a free sec @ work. Lol. xD

Edit: Unable to replicate your score at the moment. Getting stock scores, most likely something to do with those pesky init.d scripts. Deleting now and will report back shortly

Current devices: C6903 | R800i | Nexus 7 | MS Surface RT
OC Settings: 2.2Ghz (1.0Ghz UC) | 1.2Ghz (1.9Ghz Max) | 1.4Ghz (1.5Ghz Max) | No OC (1.6Ghz)
Creator of AuroraPlay for Xperia Play (All Bootloaders) & Joint-Creator (with CosmicDan) of AdrenoBooster


The Following 3 Users Say Thank You to Spizzy01 For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes