[26.07.2010] Turbo3D v3.0 *FINAL* (also available from Marketplace)

Search This thread

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Turbo3D
(Formerly known as HD2/Leo 3D Driver Patch)

htc-not-delivering.png


PLEASE READ THE ENTIRE POST BEFORE DOWNLOADING ! CHEFS: PLEASE SEE this POST.

About
Many Snapdragon devices (HD2, Expo, S200/F1, TG-01, etc) have an issue with OpenGL that makes 3D games very slow and/or stutter. Turbo3D tries to fix this. The driver works on non-Snapdragon devices as well, but I doubt you'll see a lot of difference.

Usage
The CAB file for Turbo3D is attached and called "Chainfire-Turbo3D-X.X.cab", where X.X is the version number.

The Turbo3D driver is fully automatic - just install and reboot - yet you can override the default configuration. A short help file is also included in the configuration tool ("Turbo3D" in the start menu)

The Turbo3D driver can operate in 3 modes:

(1) "Original" - Don't do any magic, just use the stock 3D drivers, mostly terrible
(2) "Fast" - Improve performance as much as possible, works great for most games and apps
(3) "Smooth" (Anti-Stutter) - Prevent stutter lag, some games and apps need this mode to run smoothly

By default, any application the driver does not "know", runs in "Fast" mode. This default can be changed in the configuration tool. As soon as an app runs that uses GL, the driver registers this, and after running it for the first time, the mode to use for this app can be configured in the configuration tool. For most apps and games you will probably never have to change the default settings.

As stated, some apps and games require "Smooth" mode to run fluently (these are marked with a * in the list in the second post), for these you will have to go into the config tool and change the setting for that specific app.

This leaves only one setting in the configuration tool unexplained: the "frame time" setting. By default this is set to "18 ms" which seems to work well for most users. If you find all your GL apps and games are still stuttering, try setting this value to "20 ms" or "22 ms". It will slow down rendering slightly, but it might improve visuals. On my own device I get the very best performance on the "18 ms" settings, with "17 ms" introducing major stutter again.

Please note that the driver settings are read when an application starts. Changing settings in the configuration will not take effect until you restart the application that is using GL.

Compatibility
Compatible with all OpenGL able devices, but you will probably only see benefits on Snapdragon devices.

Installation
Before installing Turbo3D, first manually uninstall any older versions of Turbo3D or HD2/Leo 3D Driver Patch.

After that, just install the CAB (to device, NOT to storage card !), and reboot your device.

Do NOT install Turbo3D on a ROM that has an older version of the driver cooked in !

Marketplace and donations
Over 65 000 users are using my 3D drivers, only a handful have donated. So I'm going to try a little experiment:

You can now also get Turbo3D from Marketplace as an alternative form of donation (no need for PayPal). This is also so the general non-XDA public can get notice of the driver. The price is $ 3.99 / Euro 3.39 - or equivalent in your countries currency. The link only works if Turbo3D is available in your native market. Currently it is available in all English markets, and soon it will also be available in all German, French, and Dutch markets. If you are not from any of these markets, you can navigate to the United States / English or United Kingdom / English markets through Marketplace settings. Please, if you are from inside the EU, use United Kingdom, and if from outside the EU, use United States market (has to do with taxes, saves me a lot of work).

If you decide to give a little back to me through Marketplace, please also leave a 5 star rating and a comment on how well it works on your device and apps / games. This again helps me get more purchases from the non-XDA public :)

You can still donate directly to me here: http://www.jongma.org/dx.php

I've spent hundreds of hours trying to perfect this - please show your appreciation for my hard work ! Thank you !

Note that there is no functional difference between the version attached to this post and the one on Marketplace, but I would manually uninstall one before installing the other.

Extra
Attached is also a hardware accelerated Direct3D Mobile driver ("Chainfire-TG01-D3DM.cab"). Stock HD2 ROMs do not come with this driver. You could try installing it and seeing if it improves performance for certain apps and games, probably those that use DirectDraw. Some people have for example reported improved performance in CorePlayer using this CAB file. It was originally taken from the TG-01. I've been told by some chefs there is a Microsoft-built D3DM driver floating around that gives even better performance. I would not install this CAB file on anything else but a stock HD2.

Thanks to
lesscro, NuShrike, l3v5y, nrgz28, heliosdev, clubtech, christonabike, aussiebum, kholk, hanskl, GinKage, p50kombi, AstainHellbring and anyone I might have forgotten who helped test or had useful comments, etc.

Download
If you appreciate this patch, please make a donation or purchase it from Marketplace (see above)

NO REDISTRIBUTING THIS DRIVER! FOR COOKING RULES, SEE this POST --- SOFT-RESET AFTER INSTALLATION --- INSTALL ON DEVICE, NOT STORAGE CARD

all downloads << 3.0: 67091
 

Attachments

  • Chainfire-TG01-D3DM.cab
    1 MB · Views: 50,065
  • Chainfire-Turb3D-3.0.cab
    419.9 KB · Views: 46,802
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Apps, games, benchmarks

Apps and games
This patch has been tested (at least somewhat) with the following apps and games:

- glBenchmark
- helios.dev "Test OpenGL"
- helios.dev "Test OpenGL 2"
- A few of my own OpenGL test tools
- Sense
- SPB Mobile Shell 3.5 (HW accel)
- Opera Mobile (GL mode, see this post by Tung_meister)
- Cubespace
- NFS Undercover [v0.1.5 doesn't seem to work nice, but v17 does?]
- Electopia Demo
- Boom Blox *
- Tower Defense **
- Flight Commander *
- Monopoly World *
- Xtrakt
- Experiment 13
- PowerVR demos *

* Reported to work best in "slow / anti-stutter" mode
** Reports differ on whether to use "slow / anti-stutter" mode or not

Note that if your phone is busy doing other things it will still make your phone slow! This patch only tries to fix driver-related stutter.

Please report your games/apps, whether they work better or not and in which mode they work right!

glBenchmark
Attached are some glBenchmark results of the various patch revisions. Some awesome improvements in the HD and Pro tests, as well as kTriangles/s. Though glBenchmark is nice, these figures do need to be taken with a grain of salt - it's not all that is important, smoothness and compatibility are also important.

Here's a grab out of the results.

Stock HD2 vs Patch 1.1

GLBenchmark HD ES 1.1: 487% ~ 1598 Frames up from 328
GLBenchmark HD ES 1.1 no GPU Skinning: 502% ~ 1647 Frames up from 328
GLBenchmark PRO ES 1.1: 107% ~ 229 Frames up from 215
GLBenchmark Pro ES 1.1 no GPU Skinning: 157% ~ 625 Frames up from 397
Swapbuffer speed: 496% ~ 556 up from 112

Averages: Lights: 116% ~ 1550 kTriangles/s up from 1350
Averages: Texture Filter: 159% ~ 2150 kTriangles/s up from 1350
Averages: Texture Size: 158% ~ 2150 kTriangles/s up from 1350
Averages: Triangles: 161% ~ 2150 kTriangles/s up from 1350

Test Suite
Well, it's not really a test suite, but here's 35mb of OpenGL ES v1 and v2 apps, games and demos I use for testing: http://rapidshare.com/files/408102039/Turbo3D-TestSuite.rar.html

Note that all of the included files are freely available from XDA, the authors' site, or a freeware app site.
 

Attachments

  • glBenchmark-Results-1.1.zip
    11.7 KB · Views: 2,190
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Chefs and Developers

For Chefs

I am putting down some ground rules for using my driver in your ROMs:

The rules apply only to the Chainfire-Turbo3D-X.X package (you can do whatever you want with the TG01-D3DM package).

Cooking the driver patch is allowed if-and-only-if all of these conditions are met:

- The main release and support thread of your ROM is located on XDA-Developers.com
- The download of the ROM is "free for all" (with an exception for closed beta ROMs)
- The release and support threads note that this driver is used, "Chainfire" is credited for it, and includes a link to this thread ( http://xdaforums.com/showthread.php?t=592663 )
- Turbo3D configuration tool must be included, working, and be available through the start menu (or a subfolder thereof)
- All files must end up in \Windows
- You must test it before releasing (NOTE: Turbo3D uses a service! Make sure it is working!)

If you do cook it into your ROM, I request you let me know either by sending me a PM or posting in this thread (thank you). I feel these conditions are fair. If you can't meet all of them, feel free to PM me.

All DLL and EXE files in my CAB are signed with a dummy certificate, you might want to remove those signatures before cooking in.

For developers

This patch blocks 4 bits-per-subpixel modes, but these can still be used by setting EGL_CONFIG_ID in your GL configuration attributes. Attached is a CSV with a listing of all (original) configurations, including their various attributes (including EGL_CONFIG_ID).
 

Attachments

  • HD2-eglConfigs.zip
    757 bytes · Views: 4,933
Last edited:
  • Like
Reactions: dabateau

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Changelogs

v3.0 *FINAL*, 26.07.2010
- Final tweaks
- Marketplace release (EN-US)
- Ready for cooking
- Works on all GL-capable devices, though aside from Snapdragon I doubt you'll see any difference.

v2.60 BETA, 21.07.2010
- Complete rebranding to "Turbo3D"
- CL libraries have been removed, as they don't work and nobody uses them anyways
- Added "help" tab
- Fixed an issue that caused "unknown" apps always to run in "fast" mode, instead of the configured default GL mode
- Fixed an issue related to .NET based OpenGL ES v2 apps
- Frametime is back to 18 ms
- Added "Test Suite" link to first post

v2.50 BETA, 08.07.2010
- Added ordinals to proxied functions, improves compatibility for some OEM-built apps (for example on LG Expo)
- Completely reworked the loading and initialization of the driver, so no ROM files have to be overwritten anymore. This negates the need for a seperate patch for each different device model, and improves compatibility with custom ROMs and newer stock ROMs.

v2.0, 20.04.2010
- Adapted the driver to decide performance factors based on registry instead of hard-coded
- Added CF3DConf, the configuration UI for the driver

v1.1, 01.12.2009
- Added glModeSwitch app to switch between normal (fast) and anti-stutter (slow) modes
- Fixed nasty timing error
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Hi Chainfire!
Thanks for the effort. I've just installed your patch. Sadly it doesn't change anything :(

- Did you soft-reset your device after installation?
- Which exact program/game are you having a problem with and what exactly is that problem.

Again, please note that if your device is busy with other things it will still slow down your game/app. Giving the phone a few minutes after boot-up of 'alone time' usually helps if that is the problem.
 

rovex

Senior Member
Nov 13, 2008
1,129
217
Experiment 13 seems to work ok for me, perhaps a little smoother if anything.
 

naTpuoTXDA

Senior Member
May 26, 2009
76
2
Vladivostok
Chainfire Hi! First of all thank You for Your work both Leo and O2! Install your patch and electopia running much better than it was before. No lags! testing...
 

VanKurt

Senior Member
Jun 5, 2009
130
0
Duisburg / Aachen / Böblingen
- Did you soft-reset your device after installation?
- Which exact program/game are you having a problem with and what exactly is that problem.

Again, please note that if your device is busy with other things it will still slow down your game/app. Giving the phone a few minutes after boot-up of 'alone time' usually helps if that is the problem.

Yes, I resetted the device and closed every running app.
For testing I used a little test-app I just wrote. It displays 16 textured quads and runs only at 5/6 FPS (with or without patch).

(Screenshot and binaries attached)
 

Attachments

  • ScreenShot1.jpg
    ScreenShot1.jpg
    20.4 KB · Views: 4,916
  • Test.zip
    332.9 KB · Views: 1,944

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Yes, I resetted the device and closed every running app.
For testing I used a little test-app I just wrote. It displays 16 textured quads and runs only at 5/6 FPS (with or without patch).

(Screenshot and binaries attached)

How sure are you that that is a driver issue and not a code issue? It didn't even run on any of my other phones I tried it on.
 

RacerII

Senior Member
Jun 2, 2007
236
0
Bloomblox is allot better after the patch!
I tried running test opengl , it scores allot lower after the patch however it runs pretty smooth.

So it looks very promising :)
 

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,452
87,856
www.chainfire.eu
Which Test OpenGL? helios.dev?

Numbers aren't everything. I've had it score in the 200k range but it didn't look very nice :p
 

fards

Inactive Recognized Developer
so far everything seems good to me..
never really had lagging, but all the things ive tested appear smoother.
sense is working fine (on the 148 rom)

thrown you 10 euro mate, at least you can buy a pint or two.
the shepherd neame christmas ale is highly recommended.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Turbo3D
    (Formerly known as HD2/Leo 3D Driver Patch)

    htc-not-delivering.png


    PLEASE READ THE ENTIRE POST BEFORE DOWNLOADING ! CHEFS: PLEASE SEE this POST.

    About
    Many Snapdragon devices (HD2, Expo, S200/F1, TG-01, etc) have an issue with OpenGL that makes 3D games very slow and/or stutter. Turbo3D tries to fix this. The driver works on non-Snapdragon devices as well, but I doubt you'll see a lot of difference.

    Usage
    The CAB file for Turbo3D is attached and called "Chainfire-Turbo3D-X.X.cab", where X.X is the version number.

    The Turbo3D driver is fully automatic - just install and reboot - yet you can override the default configuration. A short help file is also included in the configuration tool ("Turbo3D" in the start menu)

    The Turbo3D driver can operate in 3 modes:

    (1) "Original" - Don't do any magic, just use the stock 3D drivers, mostly terrible
    (2) "Fast" - Improve performance as much as possible, works great for most games and apps
    (3) "Smooth" (Anti-Stutter) - Prevent stutter lag, some games and apps need this mode to run smoothly

    By default, any application the driver does not "know", runs in "Fast" mode. This default can be changed in the configuration tool. As soon as an app runs that uses GL, the driver registers this, and after running it for the first time, the mode to use for this app can be configured in the configuration tool. For most apps and games you will probably never have to change the default settings.

    As stated, some apps and games require "Smooth" mode to run fluently (these are marked with a * in the list in the second post), for these you will have to go into the config tool and change the setting for that specific app.

    This leaves only one setting in the configuration tool unexplained: the "frame time" setting. By default this is set to "18 ms" which seems to work well for most users. If you find all your GL apps and games are still stuttering, try setting this value to "20 ms" or "22 ms". It will slow down rendering slightly, but it might improve visuals. On my own device I get the very best performance on the "18 ms" settings, with "17 ms" introducing major stutter again.

    Please note that the driver settings are read when an application starts. Changing settings in the configuration will not take effect until you restart the application that is using GL.

    Compatibility
    Compatible with all OpenGL able devices, but you will probably only see benefits on Snapdragon devices.

    Installation
    Before installing Turbo3D, first manually uninstall any older versions of Turbo3D or HD2/Leo 3D Driver Patch.

    After that, just install the CAB (to device, NOT to storage card !), and reboot your device.

    Do NOT install Turbo3D on a ROM that has an older version of the driver cooked in !

    Marketplace and donations
    Over 65 000 users are using my 3D drivers, only a handful have donated. So I'm going to try a little experiment:

    You can now also get Turbo3D from Marketplace as an alternative form of donation (no need for PayPal). This is also so the general non-XDA public can get notice of the driver. The price is $ 3.99 / Euro 3.39 - or equivalent in your countries currency. The link only works if Turbo3D is available in your native market. Currently it is available in all English markets, and soon it will also be available in all German, French, and Dutch markets. If you are not from any of these markets, you can navigate to the United States / English or United Kingdom / English markets through Marketplace settings. Please, if you are from inside the EU, use United Kingdom, and if from outside the EU, use United States market (has to do with taxes, saves me a lot of work).

    If you decide to give a little back to me through Marketplace, please also leave a 5 star rating and a comment on how well it works on your device and apps / games. This again helps me get more purchases from the non-XDA public :)

    You can still donate directly to me here: http://www.jongma.org/dx.php

    I've spent hundreds of hours trying to perfect this - please show your appreciation for my hard work ! Thank you !

    Note that there is no functional difference between the version attached to this post and the one on Marketplace, but I would manually uninstall one before installing the other.

    Extra
    Attached is also a hardware accelerated Direct3D Mobile driver ("Chainfire-TG01-D3DM.cab"). Stock HD2 ROMs do not come with this driver. You could try installing it and seeing if it improves performance for certain apps and games, probably those that use DirectDraw. Some people have for example reported improved performance in CorePlayer using this CAB file. It was originally taken from the TG-01. I've been told by some chefs there is a Microsoft-built D3DM driver floating around that gives even better performance. I would not install this CAB file on anything else but a stock HD2.

    Thanks to
    lesscro, NuShrike, l3v5y, nrgz28, heliosdev, clubtech, christonabike, aussiebum, kholk, hanskl, GinKage, p50kombi, AstainHellbring and anyone I might have forgotten who helped test or had useful comments, etc.

    Download
    If you appreciate this patch, please make a donation or purchase it from Marketplace (see above)

    NO REDISTRIBUTING THIS DRIVER! FOR COOKING RULES, SEE this POST --- SOFT-RESET AFTER INSTALLATION --- INSTALL ON DEVICE, NOT STORAGE CARD

    all downloads << 3.0: 67091
    1
    Chefs and Developers

    For Chefs

    I am putting down some ground rules for using my driver in your ROMs:

    The rules apply only to the Chainfire-Turbo3D-X.X package (you can do whatever you want with the TG01-D3DM package).

    Cooking the driver patch is allowed if-and-only-if all of these conditions are met:

    - The main release and support thread of your ROM is located on XDA-Developers.com
    - The download of the ROM is "free for all" (with an exception for closed beta ROMs)
    - The release and support threads note that this driver is used, "Chainfire" is credited for it, and includes a link to this thread ( http://xdaforums.com/showthread.php?t=592663 )
    - Turbo3D configuration tool must be included, working, and be available through the start menu (or a subfolder thereof)
    - All files must end up in \Windows
    - You must test it before releasing (NOTE: Turbo3D uses a service! Make sure it is working!)

    If you do cook it into your ROM, I request you let me know either by sending me a PM or posting in this thread (thank you). I feel these conditions are fair. If you can't meet all of them, feel free to PM me.

    All DLL and EXE files in my CAB are signed with a dummy certificate, you might want to remove those signatures before cooking in.

    For developers

    This patch blocks 4 bits-per-subpixel modes, but these can still be used by setting EGL_CONFIG_ID in your GL configuration attributes. Attached is a CSV with a listing of all (original) configurations, including their various attributes (including EGL_CONFIG_ID).