Itching for an upgrade from my aging G1, I happily picked up the T-Mobile Vibrant (a Samsung Galaxy S variant) within days of its release. After having it for two weeks, I can honestly say that this is one great phone. With its beautiful SuperAMOLED screen , a 1GHZ Hummingbird CPU, and one of the fastest integrated graphics processors available on a mobile device, it certainly is a well rounded high-end device, more than capable of playing console-quality 3D games, watching HD video content, and of course, accessing e-mail, data and voice services.
However, it’s not without a few glaring flaws, one being the lack of a notification LED, and the other being an issue being dubbed ”Samsung Galaxy S lag“, which has been associated with lag or slugishness in the market, menus, or data IO intensive apps. Luckily, there has been some progress in the 3rd-party development world regarding the lag issue. After some research and testing, I learned that this issue was due to the unique dual SD card design of the Vibrant, one internal and one external . While most Android devices store apps, app data, and a frequently accessed system cache known as “Dalvik Cache” on very fast NAND Flash memory, Galaxy S based phones (such as the Vibrant or Captivate) store that data on the internal SD card using a proprietary file system which is significantly slower than NAND flash memory, painfully slower according to benchmarks.
Here’s where Android’s open source nature really shines, as developer JustAnotherCrowd (also known as JAC) was able to modify the source code provided by Samsung to enable EXT4 support within the kernel using a script provided by XDA member ttabbal to move both the app data and the dalvik-cache to an EXT 2/3/4 partition on your EXTERNAL SD card (you must already have your SD card partitioned correctly prior to applying this modification.
The concepts used in this modification are very similar to the “mimocan lag fix” being used on European phones, but it’s not compatible with the US models. Thankfully, we now have a version that works on our US devices.
All credit goes to JustAnotherCrowd for putting this kernel together. Be sure to follow him on twitter for updates, as he plans to add a lot more features.
- ODIN application – Download
- 512 PIT file -Download
- JAC’s Kernel Replacement – Download
- Data and Cache Mount Scripts - Download
- USB Drivers from the Samsung Galaxy S – 32 Bit Windows Download \ 64 Bit Windows Download
- Rooted Samsung Vibrant – T-Mobile variant and you think it lags
- An EXT2/3/4 Partition on your External SD card (I HIGHLY recommend using EXT4 as it seems to be the fastest) – If you don’t have one, see here
- Windows Based PC – Sorry Linux and Mac users, ODIN only runs on Windows at the moment
- BusyBox installed – if not, search BusyBox on the market
WARNING: This modification is still BETA at the moment, and is experimental (although I’ve found it to be stable). You are replacing a core software component on your phone. Do not attempt this modification if you do not understand what is being discussed. It is your decision to try this modification, and we are not liable for any problems it may case.
- Flash the Data and Cache Scripts in ClockworkMod Recovery, and reboot.
- Extract ODIN and the PIT file to a directory on your PC, put the kernel replacement there but don’t extract that.
- Get your phone into DOWNLOAD mode by turning off your phone and plugging it in to USB. Wait for the green charging screen. Hold Volume Up, Volume down, and Power. Let go of power as soon as the screen goes black. A yellow digging Android should be on the screen. This may take a few tries to get it right. (Alternate Method if you have ADB access : use the command ‘adb reboot download’).
- Launch ODIN, then connect your phone via USB. It should then say a COM port right under top-right box. (Issues detecting your device on a COM port? Try connecting your phone before starting ODIN. It’s a finicky application.)
- Select the 512 pit file for the PIT field.
- Select the Kernel Replacement Tar in the PDA field.
- Make sure only Auto Reboot and Reset Time are checked, besides PIT and PDA.
- Click ‘Start’ and be patient. It should happen fairly quickly though. (note: ODIN is finicky sometimes and can freeze right before it flashes, and the process needs to be restarted)
- It will reboot, and may take a while for the 1st boot to occur. The Samsung Vibrant screen might be slightly longer as well, as it checks the EXT partition for errors on each boot.
- To check to see if the EXT mod is in effect, download the app ‘Quadrant Standard‘ and run a full benchmark. A stock phone gets between ~800-900, anything above means it’s working. If it’s still not working, the data and cache scripts probably aren’t working properly, try and flash them again, reflash the kernel, and rerun the benchmark.
- Occasionally check the xda-developers thread for updates to the kernel, the scripts, and if you have any issues.