yashsingh1/xdaforums huggingface dataset:
[Galaxy S I9000 Android Development] z4ziggy:
I reckon better later than never - I just stumbled upon this thread and i think my latest z4mod project might be of interest to some. After receiving much valuable information from supercurio & Unhelpful from the voodoo-project, I've completely remapped the script into updater-script to be applied for complete conversion, which i will post soon after some rough testings.
[Galaxy S I9000 Android Development] corgar:
5$ for full
[Galaxy S I9000 Android Development] Demnogonis:
I have a problem with OCLF, now i explain:

- i done it and work very well, but yesterday i did a Hard Reset and now seems that OCLF isn't working (lag.. lag and very slow phone!!)

now if i open OCLF i can install EXT2 Tool, but the option Repair/Clean is not working.

It's very strange because if i click on the option for install OCLF v1 or v2 it show me "you already appear to have another lag fix installed" but if i click on UNDO it show me "you dont you appear to havea XX lag fix installed"

Someone can help me?

thanks
[Galaxy S I9000 Android Development] creeve4:
Why is the Samsung Vibrant running CM7.1 not supported by Voodoo Control Plus? The Market page says it is, but I can't load the sound driver...
[Galaxy S I9000 Android Development] M4r1k:
Great Idea!

I am willing to pay 15€ for full solution ;)
[Galaxy S I9000 Android Development] dckiwi:
It's basically been done... Just needs to be bundled up but here's the best & quickest fix:

http://xdaforums.com/showpost.php?p=7571976&postcount=161
[Galaxy S I9000 Android Development] g00ndu:
Er, I am kind of having mixed feelings about this, not the fix, and not about the bounty. Whatever fix that we can derive, it is ONLY for Eclair 2.1, I'm not sure if this fix can work for Froyo or not, or that redevelopment is needed, mind you the Froyo update is coming soon.

I just hope this do not get out of hand.
[Galaxy S I9000 Android Development] sunwee:
maybe we should all petition to samsung to fix the filesystem now that we have a good idea this may be the source of the lag.

perhaps fight for them to use the YFFS2 fs that is being used in Nexus One, instead of ext 2/3/4 which aren't exactly designed for flash memory.
[Galaxy S I9000 Android Development] dalingrin:
+1

The bounty should be asking for a developer to make a YFFS2 partition not an EXTx
[Galaxy S I9000 Android Development] Daemos:
They are not using ext2/3/4 for the NAND...they are either using SRFS and some sort of XSR...I do not have a degree in computer science or engineering so I cannot begin to tell you what this means.

Here are the documents from Samsung's website:

http://www.samsung.com/global/busin...cts/flash/downloads/RFS_130_Porting_Guide.pdf

http://www.samsung.com/global/busin...cts/flash/downloads/RFS_130_Porting_Guide.pdf
[Galaxy S I9000 Android Development] fifo_thekid:
Count me in

10$/20$
[Galaxy S I9000 Android Development] sunwee:
yes, we know that. the point of this thread is to get a dev to implement a ext2/3/4 fs which has proven faster than samsung's rfs.

what i am suggesting is maybe we look at YFFS2 which is also being used in N1 becoz ext2/3/4 is not designed for flash memory compared to YFFS2.
[Galaxy S I9000 Android Development] RyanZA:
We probably don't want to mount EXT2 directly to hardware, since it isn't optimized for flash. The current EXT2 inside RFS seems to give good performance already. Obviously a real flash FS mounted natively would be best, but it would need a custom kernel and other stuff (I think). The EXT2 inside RFS seems to work fine though and I'm gonna try put together a one click solution that will put all of the internal data into it and work on reboots. This should be enough to give us more than fast enough I/O speed. :)
[Galaxy S I9000 Android Development] Croak:
Actually, the internal ext2 fix works on JP3 Froyo as well. Froyo didn't change the FS at all, and I doubt the release versions will be any different than the leaked versions in that regard

Always a chance Samsung may implement their own lag fix that obviates the need for our various homebrews with the official Froyo rollout, whenever that is.
[Galaxy S I9000 Android Development] Kanjtozzft:
Sure hope so atleast!
[Galaxy S I9000 Android Development] ikenley:
$15 for Complete Fix. With the update of Froyo looming I'm not going to waste my time hacking at my phone for a partial fix.
[Galaxy S I9000 Android Development] andrewluecke:
I'm concerned about this. People who are contributing to this bounty should consider:

1) Who decides if the fix is done? How exactly are you going to test? You can cause lag on every phone if you open enough crap, so how you going to test this? Or will you use a synthetic benchmark such as Quadrant?

2) Who verifies that the fix is safe. It's all good that you might end up with a solution where all lag is gone. But you might end up with a solution with no wear levelling which sucks up battery power because whenever the phone is idle it's performing online defragmentation.

3) Is battery life a consideration?

4) Remember, erasing flash memory also has a cost, which is why early SSD drives without trim slowed down a lot after a while, because they wouldn't erase it when the system was idle. So the fastest solution might be fast initially, but might write a lot of excess crap, which could affect long term results. Hence (1).

Before anyone explores a solution for this bounty, these questions must be answered, because disturbingly, I haven't heard 1 mention of SLC, Movinand or write cycle yet. I've only heard "RFS".

Furthermore, I've only heard "EXT", not "profiling tool" (has anyone actually profiled applications yet to isolate where the slowdown is). So, I think this bounty needs a bit more discussion.

It might also just be something simple, such as implementing something similar to Trim potentially (I myself aren't familiar with the architecture). Yes I want a solution too, but I want to ensure it's done properly.
[Galaxy S I9000 Android Development] MagicOnline:
10$ Final Full Fix :)
[Galaxy S I9000 Android Development] appelflap:
LOL, I was wondering.... would we give Samsung a donation if they fixed it . I vote for yes. I'm gladly to donate $10 to Samsung if they can optimize this great device and make it rocket fast. Well yes I do "expect more" :)
[Galaxy S I9000 Android Development] hacksome:
$15 for a permanent fix + a big thanks!
[Galaxy S I9000 Android Development] sweet_sagar24:
$10 for full fix
[Galaxy S I9000 Android Development] theMaginator:
7 for half.

15 for full.
[Galaxy S I9000 Android Development] j_h3000:
$5 for half

$10 for full
[Galaxy S I9000 Android Development] supercurio:
− Working on a complete, stable and opensource fix. −
[Galaxy S I9000 Android Development] r4ng3r:
i paid 455 Euro = 582,7185 US-Dollar for the galaxy and thats enough money in my eyes to get a fully functional device without lags or gps issues.

But i'm glad for every developer and user here at xda. its a great community but i wouldn't spend extra money to fix a bug. that's samsungs challange :)
[Galaxy S I9000 Android Development] jjwa:
I am willing to donate 10 dollars for a complete and easy-to-use fix. 5 dollars for a partial fix, if it's significant enough and easy to use.
[Galaxy S I9000 Android Development] supercurio:
Native internal SD /data ext4 fix 75% done

I'm pretty confident for the rest, even if each step was much more difficult than I thought (:rolleyes:Samsung...)

After completing the feature itself, the testing part will require some time too.

I think this solution i'm working on is the most clean that can be built.
[Galaxy S I9000 Android Development] bricheun:
US$10 for a full fix
[Galaxy S I9000 Android Development] supercurio:
After progress made today, here is a announcement of the features supported by the lag fix I develop :

- Easy installation procedure :
Your only action is to flash a kernel
No SDK required

- No setup :
Just boot your phone (one time)

- No need for external SD Card

- Easy un-installation
Place a empty file named uninstall_lagfix.txt in your sdcard.
On next boot, stock configuration is restored and lag fix is
disabled until /sdcard/disable-lagfix file is removed

- Future proof :
Clever open source wrapper around Samsung proprietary code
Will be easy to adapt to every next Firmwares.

- Fully open source :
Really complete code and setup will be published in a public repository
You'll be able to compile and install your own kernel easily.

Of course, filesystem is native ext4, without loop usage.

No trace of RFS here :p

Beta testers, drop me a message if you're really motivated. Beta testing will begin next week !

PS : I still don't know about the name ;)
[Galaxy S I9000 Android Development] danamoult:
I very much doubt if $300 would cause Samsung to completely change their mind and focus on creating a fix for Eclair.
[Galaxy S I9000 Android Development] RyanZA:
Sounds awesome! :D

It'll have the wakescreen lag though, like all other custom kernels, right? But I guess people will have that fixed before long.

I'd be happy to beta test! :D
[Galaxy S I9000 Android Development] hassan:
I'll pay $15.00 for full fix. :D
[Galaxy S I9000 Android Development] stranger812:
I'll gonna pay 10$ for a complete fix for eclair, and if froyo version have the same lagging issue then 15$ for a version that worked on both eclair and froyo. :)
[Galaxy S I9000 Android Development] fane1:
10 euros for the complete fix :) Good luck with the program
[Galaxy S I9000 Android Development] EarlZ:
Im not really encountering any lags at all but its nice to hear someone is making a great effort for this, I'd be willing to donate a reasonable amount for a 100% working fix for this.
[Galaxy S I9000 Android Development] chritto:
$5/$20.

Would be happy to support this.
[Galaxy S I9000 Android Development] supercurio:
YEAH !

Hello there !

A big new step was just reached in development !

Like always, this step looked easy but... thanks to the non-standard behavior of Samsung software, it was NOT :eek:

I'm really happy because this is the first time for a week that my phone boot, but this time the whole /data is in native ext4 :)

With just /data as ext4, quadrant score is 1748.

We all know this benchmark's result is not related to real performance nor effect on lag, which is the whole point. This is why there is still much more work needed for testings and optimizations.

And after that, the packaging / automation will need quite a bit a time too.
[Galaxy S I9000 Android Development] supercurio:
Allright, I have now written almost complete scripts.

The trick is to auto-detect current situation and convert to extfs during boot.

It's too fresh to talk more about it right now, but it's cool anyway :)

Only downside if my approach is that I can't provide feedback to the user. The script must be perfect because it can really mess your data.
[Galaxy S I9000 Android Development] RyanZA:
If anybody is interested in donating any of that 'partial fix' donations, I need $25 to put my APK version up on the market for hitting a broader audience. I believe google needs it to come by credit card though, so if anybody has any ideas on how to do it... :)
[Galaxy S I9000 Android Development] supercurio:
Good news folks !

The coding part is now complete, I begin the optimization process.

Like promised, the only operation needed is to install the kernel.

Everything else is automated and transparent :

You boot, magic tricks apply and /data is now in ext4.

You want to do special things about partitions, disable the fix or uninstall it to put another kernel ? No problem : 1 operation. Put a file named /sdcard/rfs_data (may change of name) and reboot.

Custom kernel is still there but customizations are disabled and /data and partitions are back to the Samsung's configuration.

The fix now uses ext4 and is pretty stable from my tests, I made a ton of conversions back and forth to extended fs / rfs for debugging purposes.

I want this fix to be dead easy and production-quality, this is why I won't release a beta today, but I may release it with minimal documentation in 1 week or 2.

Sorry RyanZA, I think this one will be the "complete fix" as asked in the thread start ;)
[Galaxy S I9000 Android Development] DocRambone:
Great news, really looking forward to your kernel :)
[Galaxy S I9000 Android Development] green0153:
Would like to help,great idea!

5$/15$
[Galaxy S I9000 Android Development] RyanZA:
Yeah, it sounds awesome and I'll be using it! :)

But for people who don't want to flash their device, the APK fix is as good as they're going to get for now.
[Galaxy S I9000 Android Development] supercurio:
Sure, install from APK is a very neat feature too ;)

LeshaK produced a tool able to write to NAND flash directly like Odin and the Download Mode would.

If this method work reliably on the Galaxy S, adding a the ability to "flash" the custom kernel directly from an App will be a nice addition !

But it still will require rooting, Odin doesn't.

I guess that for novice users, difficulty of using just Odin or Rooting + using an APK are about the same.

well anyway this is not tested yet.
[Galaxy S I9000 Android Development] davydt:
What about ext2? I think, it will be a bit faster than ext4. Can you make a different version with ext2 partition for courageous men:D ?
[Galaxy S I9000 Android Development] supercurio:
Sorry, the goal is stability : ext2 is not planned and strongly discouraged.

Beside, ext2 allow getting high score in One synthetic benchmark, so basic that it can't represent real usage at all.

We've seen many solutions producing high score in Quadrant but not fixing the problem of lag, but that's the goal here :cool:
[Galaxy S I9000 Android Development] kalpik:
Also current fixes are based on EXT2 since the underlying filsystem (RFS) will manage the journoling etc.
[Galaxy S I9000 Android Development] supercurio:
Nope, this is plain wrong :(

Considering underlying filesystem journaling perfect, if you mess your ext2, you can say goodbye to your data or hope for miraculous recovers.

This is exactly the same as if you have an ext2 on a real disk.

I'll add that perfect filesystem journaling are quite rare in reality (even if it may work theoretically)

Conclusion : 2 filesystems + 1 /dev/loop = (2*2)+1 = 5 times the probability of trashing your data !

PS : on this fix, there is no such hack as "file on rfs" ;)
[Galaxy S I9000 Android Development] setenza01:
Have you try with nilfs2 ?
[Galaxy S I9000 Android Development] davydt:
Ok, I understand. Waiting for ext4 fix. Thank you for your work.
[Galaxy S I9000 Android Development] supercurio:
Nope, even if nilfs2 has a clever design, it's still a very young and almost unused filesystem.

Not a good choice for a stable fix !
[Galaxy S I9000 Android Development] demon-knight:
@supercurio

So if im reading this correctly this will work on any firmwares with no distruction?
[Galaxy S I9000 Android Development] supercurio:
Exactly, any Eclair Firmware, Froyo builds will be available as soon as Samsung release their sources (and we figure workaround about how to compile their sources correctly :)).

As the fix is quite clean (for a fix :D) "porting" to other firmwares and products (Galaxy Tab?) will be a no-brainer.

Hopefully the method used will be valid for every future Samsung Android device without using an external SD, if they don't manage to get their RFS filesystem right.

As this solution is build on a custom kernel, we will need working source code for each variation of Galaxy S.

Before release validating each will be quit consuming. After release, the whole thing (and easy path to compile your own kernel) will be available, so anybody will be able to each variant (I9000, I900M, Captivate, Vibrant...)
[Galaxy S I9000 Android Development] demon-knight:
Thanks for the confirmation, just on more question then, I have mimocan's lag fix on, so once your fix is out I just uninstall the mimocan's fix and run your fix and all will be well?
[Galaxy S I9000 Android Development] sunwee:
does ext4 has wear-levelling feature for nand/sd disk since it's has mostly been developed for used on consumer harddisk? i know YAFFS2 has although both you and rasdeep has sort of dismissed it as not supported by kernel. :)
[Galaxy S I9000 Android Development] supercurio:
Yep :)

The good part is that you won't have to re-partition anything.

Performance-wise, this solution is similar to mimocan's with a high speed external SD.

But you don't need any, of course!
[Galaxy S I9000 Android Development] giulio.alfano:
Where I have to donate ;)
[Galaxy S I9000 Android Development] supercurio:
ext4 is used because the "data" partition is on a SD/MMC interface which already provide wear-levelling.

YAFFS needs a linux MTD interface and Samsung NAND does not provide one.

I choose ext4 because it's solid and it doesn't suffer from the terrible rfs lag.
[Galaxy S I9000 Android Development] Zilch25:
If you're planning on porting this to any of the other SGS variants I'll happily be the Captivate guinea pig :)
[Galaxy S I9000 Android Development] supercurio:
Cool, i take note.

Sorry I won't be very chatty in the forum next day. I try to spend full time coding ;)
[Galaxy S I9000 Android Development] demon-knight:
Looking forward to a beta of this fix, its shaping up to be the most complete fix around
[Galaxy S I9000 Android Development] kgk888:
Agreed. The "lolquadrant.jpg" post on Cyanogen with a score of 3500 or something made me laugh though.
[Galaxy S I9000 Android Development] Zilch25:
Awesome, PM me anytime, I'm usually lurking about the boards in some capacity throughout my waking hours!

Keep up the good work :D
[Galaxy S I9000 Android Development] supercurio:
(*almost*) straight forward

Hey hey :)

I added code to respect the Android standard MASTER_CLEAR intent.

This is what's present in every phone to wipe user data. Because /data is in a format and partition that recovery mode don't know, it require a bit of detection and cheating :D

I thought it was necessary quality-wise to support this.

Other than that the kernel build is really stable now. I improved the reliability in of the migration scripts too.

Next step is the capacity detection. Thanks to you I have enough data to support 3 different versions (one 8GB, two 16GB).

After that I'll try to compile kernels for Captivate and Vibrant :)

Beta test phase approach guys !!
[Galaxy S I9000 Android Development] Nesousx:
Hi,

Interested in a complete / easy fix: like a.bat (or the equivalent for Linux / macOs) you run from your desktop computer, or an APK / Market app, or an update.zip file.

Will donate 50$.
[Galaxy S I9000 Android Development] Zilch25:
Great to hear! When you get to the Captivate side of things, if you need any Captivate specific kernel help (Our source is kind of screwed up, you have to cross pollinate some stuff from the vibrant to make calls work right) you can probably send a PM to Unhelpful, he's the guy who's pumping out our current (very stable) OC kernels and should have some helpful info if you need it!
[Galaxy S I9000 Android Development] supercurio:
If it's feasible without a Windows computer and Odin, this will be supported from the beginning thanks to your bounty !

update.zip method is the most cross-platform solution :)

Cool !

I had the chance to read some of his posts, and it seems that's he is a really good guy and a very open person. Thanks for the info Zilch25.

By the way i'll try to federate as much as possible Galaxy S developers around a comprehensive project after this release. Solutions are quite fragmented right now.

As ego and personal thanks is often a motivation for publishing in the forums, I really don't know if a project can succeed. I'll try :)
[Galaxy S I9000 Android Development] xan:
Two hands up for alpha testing :)
[Galaxy S I9000 Android Development] supercurio:
Sorry, at least 3 hands are required.

Too bad :D

I added you to the beta test list ;)
[Galaxy S I9000 Android Development] hbvarun:
Supercurio, am in for testing too. Count me in
[Galaxy S I9000 Android Development] supercurio:
Does somebody succeed to contact ClockworkMod Recovery author ?

I send him a mail through his website more than a week ago but did not get any response.

The goal is to get nandroid backup + ClockworkMod operation working seamlessly with the fix !
[Galaxy S I9000 Android Development] OrionTC:
you could try twitter. twitter.com/koush

usually a good way to get a response

ps. really nice work, ill donate $10 for a full fix.
[Galaxy S I9000 Android Development] magote:
supercurio, I can be one of your guimea pigs too, if you still need more of them :)
[Galaxy S I9000 Android Development] jjwa:
Your posts sound very good supercurio :). Especially your dedication to quality and stability.

Also, nice idea with the .txt disable tricks.

The largest downside I have read about so far, is the way to apply/install it. It won't be a problem for me, but ideally it should be so easy every single SGS user can install it without geeky tricks :).

I am looking forward to a (beta) release.

BTW:

It's not fully clear to me: can I apply this to any firmware release or custom ROM I want? Or because it flashes a kernel, does that need to be based on the specific firmware I want to use it on?
[Galaxy S I9000 Android Development] RyanZA:
Not sure about this.

Right now, there is mimocan's EXT4 fix which has been around for ages unchanged.

My OCLF fixes.

Tayutama's update.zip script versions (based off mine, but with cool EXT4 stuff!).

Chainfire's closed source method.

And now your (seemingly) closed source version. I don't really get where you're coming from about people not working together, since you are working on your own new version without even contacting anybody else. I, personally, would be happy to help you work on anything you are doing with this, but I guess you are more interested in the ego and personal thanks you were talking about? ;)

Anyway, I don't see anything wrong with that - the work you are doing is awesome - keep it up! :D

EDIT: Just a question regarding the 'what if' - if something goes wrong and you are left with a device that can't boot and still has /data formatted as EXT4 - would flashing a stock firmware allow the device to boot again?
[Galaxy S I9000 Android Development] dirk1978:
I'm a little confused. The IO on the SGS was very slow and was affecting general use of the device. The lag-fixes from Mimocan and then the multitude of image file in RFS fixes didn't really improve the usability very much but put Quadrant scores through the roof by fooling the benchmark.

Now the new JM1 official firmware fixes the lag completely from a usability point of view but Quadrant scores are as before, why is everyone still looking for a fix? Is everyone just concerned with Quadrant scores or how the device actually performs in your hand?
[Galaxy S I9000 Android Development] RyanZA:
How the device performs in your hand. JM1 is a very nice improvement over the JFx series (so is JG9), but the EXT2/4 lag fixes, still make the phone even better. (In my opinion anyway, you are of course free to your own!) :)
[Galaxy S I9000 Android Development] adnan.makarevic:
i will donate 10$ for a complete fix.