One of the greatness of Android is open source standard but it is also a curse ~ fragmentation. This fragmentation is not only happened in software but in hardware too. Android phone manufacturers can create own hardware and software standard. There are currently 3 popular gaming platforms used by Android phones ~ Tegra, Snapdragon and PowerVR. PowerVR is being used by phone like Samsung Galaxy S and Motorola Droid. Snapdragon is a platform from Qualcomm and it is used by HTC Sensation and Sony Ericsson Xperia Play. And finally Tegra from NVIDIA is used by LG Optimus 2X and Samsung Galaxy Z. The powerful Samsung Galaxy S II is using another GPU from ARM ~ Mali-400 MP. However, it cannot run games that designed for Tegra, Snapdragon and PowerVR. Luckily, there is a hack to enable Samsung Galaxy S2 to play Tegra, Snapdragon and PowerVR games. And great to play with gamepad like GameSir G4s (do read GameSir G4s Review).
Normally, this is what you will get when you try to run games that designed for Tegra on non-Tegra powered Android phone. But thanks to Chainfire3D. You can now play Tegra, Snapdragon and PowerVR games non-Tegra powered Android phone like Samsung Galaxy S2. Chainfire3D is an intermediary OpenGL driver. It is like a middle man that sits between Tegra, Snapdragon & PowerVR games and SGS2 ARM Mali-400 MP GPU. Therefore, you can play almost all the games on Samsung Galaxy S2.
How to play Tegra, Snapdragon & PowerVR games on Samsung Galaxy S2?
Basically, you need Chainfire3D and libGLEMU_NVIDIA, libGLEMU_QUALCOMM & libGLEMU_POWERVR plugins. The good news, all of them are free. But root access is required to use Chainfire3D.
Follow this guide to install and use Chainfire3D – How to install and use Chainfire3D on Samsung Galaxy S2?