yashsingh1/xdaforums huggingface dataset:
[Captivate Android Development] div3rg3nt:
Applied the fix to move /data/data to NAND memory + stock I9000 JM2 ROM w/ stock captivate kernel and SamSet 1.6 (which includes MCR scripts to make the aforementioned speed fix), now I am getting ~960 in quadrant with significant improvements in app loading.
[Captivate Android Development] SlimJ87D:
It sounds like we'll have to hack another ROM for this to work am I right?
[Captivate Android Development] phishie:
Can't speak to app load times but I was getting ~930-950 quadrant numbers with out of the box Captivate ROM.
[Captivate Android Development] Baldilocks:
That will be the only time you get it. My scores range from 868-921. I haven't seen ANY Galaxy S variant over 925 out of the box.
[Captivate Android Development] phishie:
The ROM was the same out of the box but I had installed plenty of apps and was running Launcher. I didn't mean to imply that I ran Quadrant literally out of the box.
[Captivate Android Development] div3rg3nt:
On previous runs I was getting in the 850 range. I wonder what accounts for the variance?
[Captivate Android Development] rob989_69:
Yeah, got a replacement, original phone was getting @860ish, new phone getting around 930!!

Still can't wait for this fix to get finalized though.
[Captivate Android Development] phishie:
What did you say to the rep when requesting a replacement?
[Captivate Android Development] rob989_69:
I was replacing it because it was no longer being recognized by any PC. Place I took it to had no clue, I had root explorer right on my home screen and they didn't care.
[Captivate Android Development] darth_vato:
Can you elaborate? I would like to try this out.

Edit: About the NAND memory, that is. Downloading Samset as we speak.

Edit 2: Damn, Samset brought me up to a solid 930 in Quadrant. Not bad.
[Captivate Android Development] SlimJ87D:
Excuse me, what is samset?
[Captivate Android Development] rob989_69:
Any new updates on this? I saw Mimocan was working on it according to his post over in the galaxy s forum. Hopefully this makes it out soon.
[Captivate Android Development] NukaCola:
I haven't had time to get into this any further yet, and I won't have time until next week at the earliest. I'm hoping somebody else will figure it all out before then, the system is really way more responsive when the 'fix' is applied. Basically to make it permanent its all just about extracting the ramdisk, editing 1 line in init.rc and reflashing with new initrd. I haven't had time to figure the extracting and reflashing parts out. If nobody else figures it out I'll get back on it next week.
[Captivate Android Development] kennethpenn:
Thanks NukaCola. As promised... lots of us would be willing to donate $$ for the work!
[Captivate Android Development] div3rg3nt:
This kinda sucks since I can't post links yet, but if you look in the captivate developers thread list, there is a thread called [HOW TO] Fix App Lag. The fix is copying /data/data to /dbdata, then creating a symbolic link to the new location and renaming the old directory. Due to where the NAND lies in the system bus architecture, it is faster than the internal "SD card, so I/O performance is increased.

Regarding SamSet, it is a customized and optimized UI for the galaxy S. You have to flash the I9000 ROM / CPC, followed by the Captivate kernel &512 PIT file. Then you can visit the I9000 dev section and search for "[ROM Eclair Europe] SamSet 1.6 -Fixed- |XWJM2| |THEMED| |FULLY OPTIMIZED| [25/07/10]" . This will give a nice UI customization and includes some other bonuses, including a set of MCR scripts that include a script to implement the aforementioned lag fix.
[Captivate Android Development] autoxer:
If you had read this full thread you'd know we are working on the permanent, non-space limited (and much faster) mimocan version of this fix. The one you're talking about was first done by Paul over at modaco if I recall correctly.
[Captivate Android Development] gtg465x:
Subscribed. Enough of these 900 something quadrant scores though. I might as well stay stock. Call me when we get a proper lag fix and are seeing 1700 something in quadrant.
[Captivate Android Development] tiger4j:
I am having a hard time with odin and the I9000 rom. After I hit start it goes to "factory.rsf" then just sits there. I have tries numerous combinations of things to try to get it to work but it does the same thing. debugging enabled, reads phone as com8 on odin. Ive re-downloaded everything, including odin. I would appreciate any suggestions if anyone can think of anything. I have captivate rooted with stock rom.
[Captivate Android Development] div3rg3nt:
I have been reading the whole thread from the start (including the threads @ MoDaCo), I was actually replying to someone else's question to my previous post, but forgot to quote them. Regardless, thanks for spreading some sunshine. :D
[Captivate Android Development] div3rg3nt:
Are you going into download mode first? Check out the sticky post for installing the I9000 stock ROM for some really detailed steps, including on how to get to download mode. Odin, to my knowledge will not do this by itself.
[Captivate Android Development] madjsp:
Why does everyone always say "call me when we see 1700 in quadrant." Do they not realize it is Froyo doing it and not Eclair? I doubt that it can be done in 2.1, but once 2.2 hits it will be over.
[Captivate Android Development] gtg465x:
No, people over at modaco have scored in the 1700s with the better lag fix on 2.1.
[Captivate Android Development] Unhelpful:
I've been working on this a bit. /dev/block/bml7 contains a zImage kernel. Search for a gzip header in that and you can extract the uncompressed kernel image. Near the end of that is another gzip header, and decompressing that will produce a cpio archive of the initramfs.

It should be safe to replace the compressed kernel image - the link script for zImage places this last. I an less certain about the compressed initramfs - the kernel image link script places one thing after this, a macro PERCPU. It is probably safe if the new initramfs is shorter than the original, I am not sure what will happen if it is longer.

I've used this method to produce three tests kernels. One creates a /test directory and mounts /dev/block/mmcblk1p2 there, one mounts that partition as /data, and a third mounts /dev/block/mmcblk0p2 on /data as ext3. I tried writing one of these images directly to bml7, and also to tfsr7, which appears to contain the same zImage kernel, but while dd reports success, the contents remain unchanged. Perhaps I can flash only the kernel with Odin? I will attempt that once I have all the needed drivers installed in Windows.

Sent from my Samsung Captivate
[Captivate Android Development] div3rg3nt:
You can just flash a kernel - we have been doing that with the I9000 roms: select the tar file with the kernel in it as the PDA file and then select the PIT file. I'm not sure if odin just "knows" what to do with the file or if the tar has the proper path in it, or possibly the PIT file gives those instructions. Should be some documentation on that somewhere.
[Captivate Android Development] Unhelpful:
I've opened Odin and not seen any UI for selecting the ROM to flash at all - is this something that will only appear once I have my phone connected in download mode?

Sent from my Samsung Captivate
[Captivate Android Development] sl8125:
@unhelpful,

Your right. Mimocan's kernel is a zImage file. Can't tell you what and how is built but your doing great. Just wanted to give a little motivation to the work you doing.
[Captivate Android Development] autoxer:
This is great stuff. I've been poking around the same areas with dd and even extracted an image from bml7, but couldn't manage to unpack the image into its component pieces. Mind telling me what tools you're using? I'm still very new to the Android game, so I'm not even sure where to go to find the right resources.
[Captivate Android Development] NukaCola:
Very Nice!

I got the zImage out as well, I thought the kernel was the content up to the 1st gzip header, with the ramdisk following. When i tried to gunzip/cpio that all I got was garbage however.

Anywho, seems you are making headway, great news & carry on ;)
[Captivate Android Development] AJerman:
Looking forward to more on this. I may try to get involved a little more, but I'm sure there are people out there that know this stuff better than me. I just have a little experience compiling the android kernels for the Android on iPhone stuff. I'm no expert on what's in the kernels though.

In case anyone is interested, I was looking for a microSD for my phone today, and basically no where locally said they sold anything other than a class 2 card. Now, I think class 2 is cutting it close because 720p video recording was pushing somewhere like 1.5 MBps to the card, so that .5 MBps buffer wasn't a whole lot in my opinion. Plus, I want a faster card simply to transfer files from my computer to my phone. I couldn't find a 16 GB anywhere local, but Target had 8 GB class 6 cards by Lexar for like $35 I think it was, and they benchmark at 11 MBps write and 17 MBps read. Not too bad of a card. I figure I'm used to an 8 GB iPhone 3G, so now I have 24 GB total, that's probably enough for now.
[Captivate Android Development] ice3186:
Okay so Just my 2 cents

Alright to start off with. When i run Qudrant on my Captivate(rooted with Captivate ROM, nothing else crazy) i was getting scores of about 860 pretty consistently. But i just pulled a solid 930 after doing two things.

1.) I know you think i am nuts before i even say this but delete your task manager(i know all hell will break loose) and then install MINFREEMANAGER. It is free on the market.

Open it up and plug in some custom numbers: feel free to play with them but read up and be careful because this will mess your S*%t up if you put in too low a number or too high depending on the field(i learn the hard way :D)

14

16

24

150

152

190

Then tap your menu button and select presets. and then make current settings "custom"

--then go back into menu and click load at boot.

Now you wont have to worry about your memory at all. I have been using it and i have never been kicked out of a program that I needed.

2.) Go to the thread under captivate development named "[How to] FIX APP LAG.

----use method 1

---its super easy and kind of a half A** of mimocans from what i can tell but made a significant difference on my phone.

SIT BACK AND ENJOY A SNAPPIER PHONE!

P.S. i dont have the money (or the balls) to get into odin and start frankinROMing my phone to hell and back. So you guys that do, try it out and see if it helps and get back to me.

So i am not an ass stealing ideas. I got the 1st idea out of an androidforums thread. couldent find it again so if you are reading this you awesome man thank you. and Also props to the guys in the APP LAG FIX thread!
[Captivate Android Development] Unhelpful:
I used xxd and less to search hex dumps of bml7 for the gzip header, which consists of the magic values 0x1F 0x8B, and are followed by the compression type which should always be 0x08. once i found these I used the offset given by xxd to extract the gzip portion with dd. After decompressing the kernel, I did the same thing to it to find and extract the cpio image. After that the rootfs is modified, it can be packed up and inserted into a copy of the kernel with dd, and then the kernel recompressed and inserted into the zImage in the same way. I'd like to throw together a python script to automate some of this, and also because gzip doesn't report the length of the data it decompressed, and it would be nice to be able to verify that nothing that followed the gzip data was overwritten.
[Captivate Android Development] Unhelpful:
Ugh

So according to mimocan's post on modaco Odin3 should finish flashing the kernel in <5sec. This is not happening for me, I've now waiting several time as long as it took to flash the full stock firmware and it is still stuck on displaying "KERNEL" above the device at the top and "<ID:0/011> zImage" in the message log. Does anybody with more experience with Odin3 have any ideas about what to do here? I've tried one time before and interrupted the download, and then had to flash stock with the one-click downloader because the phone came up with the [phone]-!-[computer] screen. The kernel partition of the flash is only about 8MB, I doubt it can be taking this long unless something is wrong. It work be nice if there were some way we could just unlock the device while the phone is booted into the normal firmware, and use dd to modify it. :(
[Captivate Android Development] Unhelpful:
some success

I successfully flashed a kernel that was just a repack of the one dumped from bml7, but the system would not boot. I've not found Odin3 to be very reliable in general, I'm not sure if it requires something more special than "just" a regular tar file, but that is the only time I have successfully flashed one of my own tar files. most of the time with tar files I've packed it hangs until I give up, and then displays "KERNEL" when I unplug the phone. Even the stock firmware from samsung-firmwares.com has flashed successfully once and hung on a second attempt. Do I need to look for a newer Odin, or is there something I'm doing wrong that causes most attempts to flash to hang, even though the phone is detected?
[Captivate Android Development] rob989_69:
I think you need the pit file when you flash a kernal. Basically following instructions to load the euro rom anyway that's what's needed.
[Captivate Android Development] Unhelpful:
I tried flashing my test kernel and the repacked stock kernel with the 512 pit file. It didn't work, but I'll try it again tonight. It would be much easier if we knew how to flash the kernel from within android. /;

Sent from my Samsung Captivate
[Captivate Android Development] NukaCola:
I haven't gotten into Odin (windows only) so I know even less than you there, it would be nice to figure out how to make an update.zip for this.
[Captivate Android Development] for_ap1:
Did you notice how much logs Captivate generates (both from kernel and framework). It just could be that log level is too high and this slows everything down.
[Captivate Android Development] mkoby:
To those that are hacking the ROM/Kernel, I would like to say, thanks for the work so far.

I'm anxiously awaiting this fix because I'm totally willing to give up a gig or 2 of space on my SD card to get the performance increase this is on record as giving the phone.

I would like to request that if you do figure out how to do this that you post the info about what you had to do to get the fix to work on the captivate somewhere. Eventually I'll want to dig into the phone's kernel and various other internals and knowing how something like this was accomplished would make for a very educational read.
[Captivate Android Development] rob989_69:
I think using ROM Manager you can flash a ROM from SD. Not sure how the process would work with a Kernal though..
[Captivate Android Development] Unhelpful:
I'm pretty sure ROM manager doesn't support flashing the kernel.the kernel is accessible as block device but writes to it fail silently.

I'm also not really sure the pit file is the problem. I don't think I used it with the successful flashes of the repacked kernel or the stock firmware.

Sent from my Samsung Captivate
[Captivate Android Development] SlimJ87D:
Hey guys, there is a topic about all our phones source code being released. They have released our Kernel and everything else.

If someone can mess with it then it would be great. I think we are very close to making our phones fly out of our hands now. I think we should find something by this weekend!
[Captivate Android Development] rob989_69:
Pretty sure you're right. Just a thought because otherwise I doubt you could flash a kernal via the phone, which was the question.
[Captivate Android Development] _Opiate_:
The source code being available should help a lot.
[Captivate Android Development] rob989_69:
Yeah, I'm really hoping this can be figured out by the end of the weekend. Sure to wish I paid more attention to Linux all those years ago. If anyone can recommend a good tutorial, general, or android specific, I'd appreciate it.
[Captivate Android Development] autoxer:
I'm going to spend some time to see if I can build a kernel image up with the necessary edits this weekend. I'm sure NukaKola and mimocan himself will be working on it too. Our at least I hope so. I'm not really a dev, just a geek.
[Captivate Android Development] rob989_69:
I still hold, whoever figures it out will get $10 from me.
[Captivate Android Development] Sharkonwheels:
+1 $20 from me as well.

T
[Captivate Android Development] AJerman:
Source is out now, so this should be easy to do. Someone can probably do it a lot faster than me since I'm working on the HSUPA stuff now, but if no one does, I'll look at it later.
[Captivate Android Development] _Opiate_:
I've been toying with the Aria lately but ill look into this tonight.
[Captivate Android Development] \/icious:
This is really awsome. This is my first phone that I have a chance to mod. Im really excited with every post i read. Thanks to everyone who is working on this speed fix. I still have not seen a definitive answer on whether or not sd card speed/class makes a huge impact.
[Captivate Android Development] _Opiate_:
From what i've seen and read it doesn't make much of a difference as far as the fix goes.
[Captivate Android Development] Anthonok:
Just picked up a sandisk 4gb microsdhc just for this.
[Captivate Android Development] _Opiate_:
Lol I've got a brand new (blank) Class 6, 8 gig card that I just put the correct partitions on so im ready to roll as soon as something comes to light.
[Captivate Android Development] NukaCola:
I've got kernels (built from src). Booting into windows to figure out odin and flash.
[Captivate Android Development] Anthonok:
Im new to all this stuff so uhhhh how exactly do you partition the sd card?
[Captivate Android Development] aloant:
Anyone tried this yet on a Captivate?

xdaforums.com/showthread.php?p=7420619#post7420619

Sounds like it could be an easier way of doing the same thing if it works for us also...
[Captivate Android Development] _Opiate_:
Looks like it could work.
[Captivate Android Development] AJerman:
Yeah, I got 1368 on Quadrant with it, and it's DEFINITELY much more snappy. It's a start, but I think the bigger thing is that I'd like to be using ext4 which needs a custom kernel to be enabled. But at least now all I have to do is compile a kernel with ext4 support and do a very slight mod to the sh file and I'm ready to go.

I'll keep you guys updated.
[Captivate Android Development] sl8125:
Dude this pretty crazy. They are posting up quadron speed of 2000 with this fix. Serious is this for real? Someone got to check if this works on the captivate. Nice find and give the guys props. They know what they are doing.
[Captivate Android Development] _Opiate_:
How about a guide for doing it?
[Captivate Android Development] sl8125:
Give it couple hours. Someone will post it. Somehow we got to revert the modaco fix and drop file and update.zip. they prob need little more time to perfected.
[Captivate Android Development] SlimJ87D:
Motivational image, this was done on the Vibrant!

OMG, screw FROYO FOR NOW!
[Captivate Android Development] NukaCola:
This is the Ext3 Kernel

This is the Ext4 Kernel

This is the Ext4 Only Kernel

NB! if you use hte ext4 kernel, change all instances of ext3 to ext4 below! (duh).

NB2, if you are doing ext4 should flash to the ext4_only kernel first so you can mount the ext4 partition and copy your files (this kernel will not mount the sdcard partition during boot)..

Instructions:

1) download the kernel file.

2) make sure you have this version of Odin

3) Get the samsung drivers installed

4) partition your sdcard, 2 partitions. both primary partitions, i set the type to 'linux (83) not sure if that is necessary.

5) format the 2nd partition ext3

6) boot phone, kill off as many processes as you can and (using adb shell): mkdir /sdcard/mnt

6.1 mount -t ext3 /dev/block/mmcblk1p2 /sdcard/mnt

6.2) cd /sdcard/mnt

6.2) busybox cp -a /data/* .

6.3) cd /

6.4) umount /sdcard/mnt

7) reboot phone into download mode (shovel pic)

8) In odin3 load this file as "CSC", then select 'start'. It should flash in a few seconds and reboot your phone.

You should now score 1400ish in quadrant.

If you have lots of widgets/apps and things that get their state screwed up you may have to fiddle with reinstalling them. The less things you have going on the easier time you will have. You shouldnt have many issues at all though as your state will be very close to the same if you do this in order without installing/fiddling with phone after step 6.2

This method should be pretty safe. As you notice we dont copy around stuff and create a symlink mess. We just mount a partition over the current one. Yes over we still mount the old one as well, even though it wont be used unless you take your card out. If that happens the phone will mount your old /data (that will probably be very out of date at the time) but itll get you up and running right away.
[Captivate Android Development] Fortune090:
I can only imagine both ext fixes plus Froyo... Would we see potential 3000s?? :eek:
[Captivate Android Development] ranova:
awesome! did you create this?

What do you think the ETA on the ext4 is, I think I'll just wait for that :)
[Captivate Android Development] SlimJ87D:
No.... 4000s....
[Captivate Android Development] Fortune090:
Dear God........ Now to wait for that....

I'm attempting this fix for now though. Thanks for the guide!
[Captivate Android Development] sl8125:
Wow i can't take this. Too many fix. Vibrant has one and captivate has one too. GOD does love me.

NUKA your the shiznit. Can't wait til ext4. My sd card us ready for ext4 fix.

SO EXCITED. MY PHONE IS GONNA GET FRIED THIS WEEKEND. SO MANY FIXES.
[Captivate Android Development] NukaCola:
Yes. i compiled that kernel. However, credit for the fix should go to mimocan who figured out what was slowing these phones down.

ETA of ext4 is a little slower than expected, I made it difficult for myself forgetting to grab a quick backup of my ext3 data ... (the kernel is done, just not tested).
[Captivate Android Development] TimF:
is this the Captivate Kernel or the vibrant kernel?
[Captivate Android Development] SlimJ87D:
Thanks Nuke, I hope this works out well so I can donate to you or who ever to give the most credit to. I'll even half and half it if needed.

But one question, this guide is kind of hard for me to follow. I'm new to android and i'm new to linux. I'm very noobish about these things and i have windows 7.

Is there any where I can read a simpler guide?
[Captivate Android Development] NukaCola:
Captivate kernel.
[Captivate Android Development] AJerman:
NukaCola, perhaps to be easier on you, is there any chance you could compile a kernel that's ONLY ext4 enabled, and nothing more? And we can use the userinit.sh for mounting? I kind of like the userinit.sh way of doing the mounting, and that would mean we just need ext4 enabled in the kernel and that can handle the rest.
[Captivate Android Development] NukaCola:
I'l see about getting a simpler guide together later, may have to wait until tomorrow. Right now I'm freaking out about having to reboot windows constantly to try to get the crappy samsung drivers to recognize the phone.
[Captivate Android Development] NukaCola:
Yeah I'll put one of those together. I hadn't even seen anything about that until I saw it mentioned in this thread. It won't happen tonight, perhaps tomorrow.
[Captivate Android Development] AJerman:
Okay, I may look into it myself, but I don't know what needs to be done to enable ext4 support. Thanks for your contributions so far!

On a side note, the best I've gotten so far is 1441 with ext3. Can't wait for ext4!
[Captivate Android Development] Fortune090:
What have you all been using to partition the SD card? I can't find anything that supports it...
[Captivate Android Development] MSigler:
Getting an Operation Not Permitted when I attempt to mount the ext partition, I can create the partition though.

Edit - Duh, forgot to SU.