[GUIDE] New Kernel for Samsung Vibrant Improves Performance, Reduces Lag!

34

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.

Downloads

Requirements

  • 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.

Instructions

  1. Flash the Data and Cache Scripts in ClockworkMod Recovery, and reboot.
  2. Extract ODIN and the PIT file to a directory on your PC, put the kernel replacement there but don’t extract that.
  3. 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’).
  4. 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.)
  5. Select the 512 pit file for the PIT field.
  6. Select the Kernel Replacement Tar in the PDA field.
  7. Make sure only Auto Reboot and Reset Time are checked, besides PIT and PDA.
  8. 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)
  9. 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.
  10. 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.
  11. Occasionally check the xda-developers thread for updates to the kernel, the scripts, and if you have any issues.
  12. Enjoy!

ODIN Screenshot

Source: xda-developers

About the Author

Jason Bowdach
Jason is a technology and media enthusiast. He loves the Android OS, although his interests go far beyond the cell phone platform. He enjoys keeping himself up-to-date on the film and cinematography industry, as well as the ever-changing world of personal computers and gaming. He studied Communications - Media Studies and Organizational Psychology at San Diego State University, and is pursuing a career within the broadcast media industry. In his free time, besides playing with the never-ending supply of custom Android builds or theming, he enjoys caring for his 60-gallon aquarium, training his white-golden retriever puppy, catching up on quality films and TV shows, and playing the occasional video game.

  • Casper Bang

    Heh, and the same goes for Nexus One. CyanogenMod 6 with 1.1GHz ondemand mode get’s you going even faster than that: http://twitpic.com/2b6kr8/full

  • Casper Bang

    Heh, and the same goes for Nexus One. CyanogenMod 6 with 1.1GHz ondemand mode get’s you going even faster than that: http://twitpic.com/2b6kr8/full

  • Casper Bang

    Heh, and the same goes for Nexus One. CyanogenMod 6 with 1.1GHz ondemand mode get’s you going even faster than that: http://twitpic.com/2b6kr8/full

  • http://workmanincorporated.yolasite.com Workman Incorporated

    please put a video out i dont quite understand what your trying to get me to do. I have rooted and modded my phone before G1 and mythouch

  • http://workmanincorporated.yolasite.com Workman Incorporated

    please put a video out i dont quite understand what your trying to get me to do. I have rooted and modded my phone before G1 and mythouch

  • http://workmanincorporated.yolasite.com Workman Incorporated

    please put a video out i dont quite understand what your trying to get me to do. I have rooted and modded my phone before G1 and mythouch

  • http://twitter.com/jbowdach Jason Bowdach

    This is an experimental modification, that is still a work in progress (It is getting more and more developed everyday, as different developers add their two-sense to the scripts). If you don’t understand what is being discussed, I HIGHLY recommend you don’t attempt to apply it. Easier “lag fix” mods will become available shortly.

    • http://twitter.com/and0idx Robert

      my vibrants taking forever to boot, it went past the galaxy S logo, Now just the touch sensitive keys are lit up and the screen is blank. Is this normal?

    • http://twitter.com/and0idx Robert

      my vibrants taking forever to boot, it went past the galaxy S logo, Now just the touch sensitive keys are lit up and the screen is blank. Is this normal?

  • http://twitter.com/jbowdach Jason Bowdach

    This is an experimental modification, that is still a work in progress (It is getting more and more developed everyday, as different developers add their two-sense to the scripts). If you don’t understand what is being discussed, I HIGHLY recommend you don’t attempt to apply it. Easier “lag fix” mods will become available shortly.

  • http://twitter.com/jbowdach Jason Bowdach

    This is an experimental modification, that is still a work in progress (It is getting more and more developed everyday, as different developers add their two-sense to the scripts). If you don’t understand what is being discussed, I HIGHLY recommend you don’t attempt to apply it. Easier “lag fix” mods will become available shortly.

    • http://twitter.com/and0idx Robert

      my vibrants taking forever to boot, it went past the galaxy S logo, Now just the touch sensitive keys are lit up and the screen is blank. Is this normal?

  • jo

    that’s nothing … there is a new fix on xda for the galaxy s series which creates a virtual ext2 filesystem inside the crappy samsung rfs filesystem. now i get 2200+ in quadrant. it looks like rfs was the problem all along… completely insane!

  • jo

    that’s nothing … there is a new fix on xda for the galaxy s series which creates a virtual ext2 filesystem inside the crappy samsung rfs filesystem. now i get 2200+ in quadrant. it looks like rfs was the problem all along… completely insane!

  • jo

    that’s nothing … there is a new fix on xda for the galaxy s series which creates a virtual ext2 filesystem inside the crappy samsung rfs filesystem. now i get 2200+ in quadrant. it looks like rfs was the problem all along… completely insane!

  • ludachez

    yeah i did all of this, with OC built in now from JAC. It was very easy using odin once jason taught us how to power into “download mode.” i had tried when i first got my vibrant to use odin but never could and now i know why…Anyways im rocking a steady 10.04 linpack and a 1774 quadrant when i test and do see vast improvements. i feel like its harder to wake up my phone but oh well once i get past that everything else flies. from what i can tell as well, WesGarner is working on a kernel and progressing on CM6. I feel like when the vibrant gets it all done and has 2.2 with JIT that it will be the king of phones for a while.

  • ludachez

    yeah i did all of this, with OC built in now from JAC. It was very easy using odin once jason taught us how to power into “download mode.” i had tried when i first got my vibrant to use odin but never could and now i know why…Anyways im rocking a steady 10.04 linpack and a 1774 quadrant when i test and do see vast improvements. i feel like its harder to wake up my phone but oh well once i get past that everything else flies. from what i can tell as well, WesGarner is working on a kernel and progressing on CM6. I feel like when the vibrant gets it all done and has 2.2 with JIT that it will be the king of phones for a while.

  • ludachez

    yeah i did all of this, with OC built in now from JAC. It was very easy using odin once jason taught us how to power into “download mode.” i had tried when i first got my vibrant to use odin but never could and now i know why…Anyways im rocking a steady 10.04 linpack and a 1774 quadrant when i test and do see vast improvements. i feel like its harder to wake up my phone but oh well once i get past that everything else flies. from what i can tell as well, WesGarner is working on a kernel and progressing on CM6. I feel like when the vibrant gets it all done and has 2.2 with JIT that it will be the king of phones for a while.

  • http://twitter.com/jbowdach Jason Bowdach

    I am aware of the “virtual EXT” loopback hack that significantly helps w/ lag, but that mod is even more experimental and seems to be evolving every hour. I will write another article detailing how to apply that mod when things become stable enough. At the moment, the virtual EXT2 method has a huge potential for data corruption and other random glitches, hence why I don’t want to release an article about it.

    Also, I am testing JAC’s Overclocked kernel as well, and it is performing quite well, although needs some tweaking to prevent freezing. There is a known issue with Wake Lag, and it is being worked on by JAC and a few other very talented developers, so hopefully we should see a fix soon. I, too, notice an increase in wake lag using the virtual EXT2 method, so it seems to be a quirk within the mod.

    Just to get you excited, here are my latest benchmarks: 2600 Quadrant, and 10.214 linpack (In the top 10 for the Vibrant).

    No worries, I am all over it though :-) Look forward to something soon

    • ludachez

      oh cool, i thought i screwed something up with the wake lag…i dont remember it happening when i installed it on my phone in the begining, but much later.

    • ludachez

      oh cool, i thought i screwed something up with the wake lag…i dont remember it happening when i installed it on my phone in the begining, but much later.

  • http://twitter.com/jbowdach Jason Bowdach

    I am aware of the “virtual EXT” loopback hack that significantly helps w/ lag, but that mod is even more experimental and seems to be evolving every hour. I will write another article detailing how to apply that mod when things become stable enough. At the moment, the virtual EXT2 method has a huge potential for data corruption and other random glitches, hence why I don’t want to release an article about it.

    Also, I am testing JAC’s Overclocked kernel as well, and it is performing quite well, although needs some tweaking to prevent freezing. There is a known issue with Wake Lag, and it is being worked on by JAC and a few other very talented developers, so hopefully we should see a fix soon. I, too, notice an increase in wake lag using the virtual EXT2 method, so it seems to be a quirk within the mod.

    Just to get you excited, here are my latest benchmarks: 2600 Quadrant, and 10.214 linpack (In the top 10 for the Vibrant).

    No worries, I am all over it though :-) Look forward to something soon

  • http://twitter.com/jbowdach Jason Bowdach

    I am aware of the “virtual EXT” loopback hack that significantly helps w/ lag, but that mod is even more experimental and seems to be evolving every hour. I will write another article detailing how to apply that mod when things become stable enough. At the moment, the virtual EXT2 method has a huge potential for data corruption and other random glitches, hence why I don’t want to release an article about it.

    Also, I am testing JAC’s Overclocked kernel as well, and it is performing quite well, although needs some tweaking to prevent freezing. There is a known issue with Wake Lag, and it is being worked on by JAC and a few other very talented developers, so hopefully we should see a fix soon. I, too, notice an increase in wake lag using the virtual EXT2 method, so it seems to be a quirk within the mod.

    Just to get you excited, here are my latest benchmarks: 2600 Quadrant, and 10.214 linpack (In the top 10 for the Vibrant).

    No worries, I am all over it though :-) Look forward to something soon

    • ludachez

      oh cool, i thought i screwed something up with the wake lag…i dont remember it happening when i installed it on my phone in the begining, but much later.

  • Mike

    When 2.2 is released officially, will all the kernals, scripts, etc. created to fix the speed problems need to be updated to be used with 2.2? or is it possible that samsung will pack 2.2 with it’s own fix to have fast NAND flash memory like other android phones?

  • Mike

    When 2.2 is released officially, will all the kernals, scripts, etc. created to fix the speed problems need to be updated to be used with 2.2? or is it possible that samsung will pack 2.2 with it’s own fix to have fast NAND flash memory like other android phones?

  • Mike

    When 2.2 is released officially, will all the kernals, scripts, etc. created to fix the speed problems need to be updated to be used with 2.2? or is it possible that samsung will pack 2.2 with it’s own fix to have fast NAND flash memory like other android phones?

  • http://twitter.com/jbowdach Jason Bowdach

    It is very possible that Samsung might include a fix for the I/O lag with 2.2, but it will never “have fast NAND memory like other android phones”. They can only make improvements to the sw and firmware.

    The main issue w/ IO on all Galaxy S phone is Samsung’s proprietary RFS file system that is used on the internal SD. Not only is it pitifully slow, as it is configured to use 512k block size, but the proprietary nature of the file system makes it difficult to work with. The fact the we can get 5x the IO speed using a virtual EXT partition shows the potential of the Internal SD, so we just need to wait until some of the devs can work out a proper fix (either formatting it natively w/ EXT4 or using a better implementation of RFS)

    Hope that helps!

  • http://twitter.com/jbowdach Jason Bowdach

    It is very possible that Samsung might include a fix for the I/O lag with 2.2, but it will never “have fast NAND memory like other android phones”. They can only make improvements to the sw and firmware.

    The main issue w/ IO on all Galaxy S phone is Samsung’s proprietary RFS file system that is used on the internal SD. Not only is it pitifully slow, as it is configured to use 512k block size, but the proprietary nature of the file system makes it difficult to work with. The fact the we can get 5x the IO speed using a virtual EXT partition shows the potential of the Internal SD, so we just need to wait until some of the devs can work out a proper fix (either formatting it natively w/ EXT4 or using a better implementation of RFS)

    Hope that helps!

  • http://twitter.com/jbowdach Jason Bowdach

    It is very possible that Samsung might include a fix for the I/O lag with 2.2, but it will never “have fast NAND memory like other android phones”. They can only make improvements to the sw and firmware.

    The main issue w/ IO on all Galaxy S phone is Samsung’s proprietary RFS file system that is used on the internal SD. Not only is it pitifully slow, as it is configured to use 512k block size, but the proprietary nature of the file system makes it difficult to work with. The fact the we can get 5x the IO speed using a virtual EXT partition shows the potential of the Internal SD, so we just need to wait until some of the devs can work out a proper fix (either formatting it natively w/ EXT4 or using a better implementation of RFS)

    Hope that helps!

  • Mike

    Yes, that helps a lot, thanks Jason

  • Mike

    Yes, that helps a lot, thanks Jason

  • Mike

    Yes, that helps a lot, thanks Jason

  • Anonymous

    Why do Android OS owners feel that a ‘bad laggy phone’ should be fixed by Rooted and replaced Kernels? What ever happened to a company building good software at the start?

© 2010  AndroidSPIN. All rights reserved.
A Subsidiary of MobileTweek Inc.