Related
[size=+2]This version is now deprecated in favor of the 2.0 APK version. Please see this link: http://forum.xda-developers.com/showthread.php?t=784691[/size]
This version is not recommended for use any longer.
Details about what this fix does:
Creates a VIRTUAL EXT2 filesystem inside the stock RFS filesystem on the internal SD card, with a 4KB block size. This means that this lag fix creates a buffer between the real filesystem and the android system. This buffer should reduce the amount of disk I/O required for all operations by utilizing EXT2 buffering, as well as not writing file access times to disk, etc.
Folders that are currently supported:
/data/data
/data/system
/data/dalvik-cache
/data/app
/data/app-private as a symlink to /data/app/app-private
/dbdata/databases is not supported. It appears to be ROM backed, and can cause problems if overwritten.
Benefits over version 1
1.5GB of application data available, with no data loss.
e2fsck of the EXT2 partition on each boot.
Correct busybox version included! YES!
/app and /app-private directory included in the fix for faster application installs.
/dbdata/databases included in the fix, expected to give a big performance boost for apps that use it.
Mounts instead of symlinks for extra performance as OS does less work (about 100 or so more quadrant).
Benefits over other lag fixes
Open source, with full comments and ease of editing.
Works on any and all firmware versions, including any yet unreleased froyo versions (that don't change file structure).
Credits
Big thanks to mimocan for putting us all on the right track in how to sort out lag problems!
Big thanks to ykk_five for showing us all how well loopback filesystem mounting works!
Big thanks to cyanogen mod for e2fsck
Requirements for One Click Lag Fix 2.0
Rooted phone - http://www.addictivetips.com/mobile...t-samsung-galaxy-s-i9000-with-a-single-click/
Windows computer with SGS Drivers (Samsung Kies), or the ability to read through the batch file and run it yourself.
(Beta Release) The ability to reflash your device if something goes wrong.
No other lag fix installed. If you installed One Click Lag Fix 1.0, then use the uninstall function which came with that lag fix before running this lag fix. (Untested but assumed to be working, please help out here.)
1.5GB of freespace on Internal SD Card for swap files while the fix is working (/sdcard).
"Internal phone storage" in Settings->SD Card must read greater than 500mb (0.5GB) of free space.
How to run One Click Lag Fix 2.0
Place your phone into USB debugging mode: Settings->Applications->Development
Attach your device to your computer. Do not mount the drives.
Download the attached ZIP file.
Unzip to a folder of your choice.
Double click "lagfixme.bat".
Don't double click "unlagfixme.bat".
Wait for it to complete.
You will need your phone to be unlocked when it runs the script, so that you can accept the permissions request that will appear on your device.
How to remove One Click Lag Fix 2.0
Double click "unlagfixme.bat"
Wait for it to complete.
Known Issues For All Versions
Some custom firmwares use up all available space in /system. This fix requires some libraries to be placed in /system/lib. These libraries are used to create the filesystem properly, and to check it for errors on every boot.
If your firmware does not have the available space (around 1mb) in /system, do not use this fix! Your phone will not boot and will have to be restored from backup / reflashed.
Current known firmwares with this issue: None yet. Please provide the firmware version+mods if you encounter this issue. It will show up as an out of space error in the log, under 'Copying libraries'.
Known Issues 2-1, 2-2
Paid apps from the market have issues.
Google maps and other pre-installed ROM-backed applications have issues.
2-3 Changes from 2-2
/dbdata has been removed. This fixes maps issues.
/app-private is now a symlink to /app/app-private. This fixes paid apps issues.
Alternate installation methods for similar fixes
Tayutama has made an update.zip version that is easy to install - http://forum.xda-developers.com/showpost.php?p=7632258&postcount=208
Chainfire has a .NET version of this fix with some nice features - http://forum.xda-developers.com/showthread.php?t=751513
Frequently Asked Questions
Q: My apps are force closing while this fix is running, and I can't use my phone!
A: By design. The script has backed up/copied your apps over to the internal SD card (remember the requirement about 1.5GB of free space on the SD card?). It is now overwriting them with a 1.5GB file. As the file overwrites an app that is trying to do something, it will probably force close. This is normal.
Closing all running apps, and removing widgets before running this fix can make the process much smoother, though.
Q: The script can't transfer files to my phone / The script can't run / Help help I'm dieing!
A: Read the first post again.
Q: My paid apps from the market don't show up.
A: I will hopefully have a fix for this sooner or later. Hold tight! It's in the known issues. I don't have access to paid apps, so I can't test this.
Q: Does this need busybox?
A: No, busybox is included.
Q: I only have 200mb of free space now! What gives?
A: The lag fix has made a 1.5GB file, and is storing all of the data inside there. The side effect is that the free space meter is now incorrect. Sorry, this can't be helped.
You can check real free space by using ADB like this:
Code:
adb shell
su
busybox df -h
Q: When I use a backup tool, the backup is now 1.5GB big! It's taking forever!
A: The backup tool isn't designed to work with this fix. It will work, it just won't work well. Hopefully this fix will be short lived, and either Samsung will give us a new update, or someone will give us a good custom firmware that can natively mount what we need, where we need it. Or someone might come out with a better backup manager. Until then, we suffer.
Q: Will a reflash wipe this fix?
A: Yes, a reflash will wipe everything this fix did.
Q: Can this brick my phone?
A: If you know how to get to the download mode from power off (hint: volumedown+home+power), then almost nothing short of throwing your phone off a tall building can actually brick it. If you can't do this though, or don't know someone who can, then you're better off waiting for samsung to release a fix. Anything that moves files around on your device has the potential to break things, and this fix has no QA department.
Q: Why is /dbdata not included in your fix, but other people have included it?
A: Other people have included it in the same way my 2-2 fix includes it. However, /dbdata is ROM backed. This means that the real files are on ROM, and only the changes appear in the /dbdata folder. When copying or moving files from this folder, you would need to specify each folder by exact name to ensure that it was copied across, and each firmware can have their own names. (This is because RFS wildcard will not catch an unused ROM backed file.) In some cases, you can get lucky and have this work perfectly because you have already used all the files in /dbdata. There is no fail safe method to do this though, and /dbdata does not make a big difference to performance. (It is already on NAND flash.) If you want to try your luck, v2-2 is still available.
Q: Why does this lag fix work? Is it slowly destroying my phone?
A: Let's say an application counts from 1 to 10, and writes the value each time to disk.
Stock:
1 -> App tells RFS to write 1 to disk -> RFS writes 1 to disk -> RFS writes journal saying to changed the value on the disk.
2 -> App tells RFS to write 2 to disk -> RFS writes 2 to disk -> RFS writes journal saying to changed the value on the disk.
..
9 -> App tells RFS to write 9 to disk -> RFS writes 9 to disk -> RFS writes journal saying to changed the value on the disk.
10 -> App tells RFS to write 10 to disk -> RFS writes 10 to disk -> RFS writes journal saying it changed the value on the disk.
Total physical disk writes: 20. Speed: SLOW! Wear and tear on disk: HIGH!
Lag Fix:
1 -> App tells EXT2 to write 1 to disk -> EXT2 stores 1 in RAM.
2 -> App tells EXT2 to write 2 to disk -> EXT2 stores 2 in RAM.
..
9 -> App tells EXT2 to write 9 to disk -> EXT2 stores 9 in RAM.
10 -> App tells EXT2 to write 10 to disk -> EXT2 stores 10 in RAM.
..
EXT2 tells RFS to write 10 to disk -> RFS writes 10 to disk -> RFS writes journal saying it changed the value on the disk.
Total physical disk writes: 2. Speed: FAST! Wear and tear on disk: LOW!
This isn't exactly what is happening, but it gives you the general idea.
Q: Can this mod work on other Android devices? Would we see a performance boost on them as well? If not why is it limited to the Galaxy S?
A: SGS has very very good hardware, but it has some parts of it's hardware poorly implemented. The filesystem that samsung chose to use is custom-built using FAT32 as a base, RFS. It has a lot of the problems that FAT32 has, and should have been left back in the 90s, or even the 80s.
One of the big issues with it is how it handles multiple requests - it blocks. It blocks everything. When your mail app wants to read the mail you just tried to view, but your twitter app is busy writing a new tweat it just received, your mail app is forced to wait.
This is bad, but it could be worse! And it is... your twitter app didn't just get one tweat, it got 50 tweaks. It is busy writing the tweats one by one to the filesystem. This would be fine, since all modern filesystems will buffer writes, so instead of writing each one at a time, they will batch them together and write it as a big chunk. Uh oh - RFS does no buffering at all! After each write, it will also write an update to the grafted-on journal system. Guess what happened to your mail you were trying to view while all this happened? It 'lagged' and you got a black screen for half a second, before the mail popped into view.
Luckily the hardware on the device is so good that you usually don't even notice the problem until you have a lot of apps running, all writing their updates when you unlock the phone.
This is mostly speculation based on experiments done on RFS -- RFS is closed source, and we have no idea if the problems are just badly set settings (such as a block size that is too small), coding bugs in the implementation, or if RFS is just really that badly designed.
This fix just grafts a buffer on top of the RFS filesystem, using a very very simple and fast filesystem, EXT2. It fixes most of the issues by writing to RFS as seldom as possible.
So no, this fix won't fix other devices, since they're already running quite close to maximum speed. The SGS at stock is running nowhere near maximum speed, and this lag fix takes it a bit closer. You could probably speed up other devices by tweaking the filesystem settings to give them a big buffer or similar, but it isn't really needed. (I haven't actually tried to put an EXT2 onto any other Android phone, as I don't have any other Android phone, so this is just speculation.)
Q: My phone is fast now!
A: Yeah.
Oh, awesome. I managed to post this in the wrong forum. Doh!
Could a moderator please move this to Android Dev sub forum?
haha looks awesome dude but you are correct, wrong section im gonna try it now, will report in 5 mins!
A few people in the other thread said they had the first lag fix working on the captivate. Anything that might change that with this release? I came to download the old one, and here a new one is
abra-cadabra...
*POOF*
Done!
E_man5112 said:
A few people in the other thread said they had the first lag fix working on the captivate. Anything that might change that with this release? I came to download the old one, and here a new one is
Click to expand...
Click to collapse
The old one is still here. Nothing has changed that should stop it working on the captivate though, but it is completely untested. Use the 1.0 (which has had a lot of testing) until this one has been put through the paces.
sirphunkee said:
abra-cadabra...
*POOF*
Done!
Click to expand...
Click to collapse
Thanks.
RyanZA said:
The old one is still here. Nothing has changed that should stop it working on the captivate though, but it is completely untested. Use the 1.0 (which has had a lot of testing) until this one has been put through the paces.
Click to expand...
Click to collapse
E_man5112 said:
A few people in the other thread said they had the first lag fix working on the captivate. Anything that might change that with this release? I came to download the old one, and here a new one is
Click to expand...
Click to collapse
I'm running the manual ext2 fix with Q scores 2000+. I'll try 2.0 Util tonight and post feedback....
Someone got some benchmarks?
Maybe for xxjp3? I only reach 1900 in quadrant.. /:
Sent from my GT-I9000 using Tapatalk
gonna test report in 5minutes
RyanZA said:
The old one is still here. Nothing has changed that should stop it working on the captivate though, but it is completely untested. Use the 1.0 (which has had a lot of testing) until this one has been put through the paces.
Click to expand...
Click to collapse
I'm in the process of flashing back to stock on my Captivate so I can give this a legit test. I'll report back here and let you know how it goes. Assuming my Captivate doesn't melt I'll update my OP from the thread about the original fix in the Captivate section!
About what lag is this?
Sent from my HTC Desire using XDA App
Dominik06 said:
Someone got some benchmarks?
Maybe for xxjp3? I only reach 1900 in quadrant.. /:
Sent from my GT-I9000 using Tapatalk
Click to expand...
Click to collapse
Benchmarks are roughly the same as 1.0. You can expect about 100 points more on average though, at least on my phone.
I just removed the V1 version and finished the V2.
It finally finished and rebooted the phone. now it tells me my internal memory storage is full. None of my Widgets will load.
Looking i see only 14MB free in internal storage.
thoughts?
Zilch25 said:
I'm in the process of flashing back to stock on my Captivate so I can give this a legit test. I'll report back here and let you know how it goes. Assuming my Captivate doesn't melt I'll update my OP from the thread about the original fix in the Captivate section!
Click to expand...
Click to collapse
Just as long as you point out that this fix isn't heavily tested yet!
RyanZA said:
Just as long as you point out that this fix isn't heavily tested yet!
Click to expand...
Click to collapse
Oh I know, I'm going to emphasize that heavily, lord knows I don't want to get stuck on tech support all night
clubtech said:
I just removed the V1 version and finished the V2.
It finally finished and rebooted the phone. now it tells me my internal memory storage is full. None of my Widgets will load.
Looking i see only 14MB free in internal storage.
thoughts?
Click to expand...
Click to collapse
Thoughts? That's bad.
You should be seeing roughly 215mb free. Did you see any errors in the log at all?
Everything is working fine for me. First reboot after lagfix had some problems with downloading apps from market, but after a second reboot it got fixed.
"Biggest" problem now, is just the phone stating that my internal phone storage is too low, with an icon on notification bar that I cannot remove. Already deleted some .bak from /data folder, any more tips what I can delete to get rid from this message?
Regarding the fix. apps are indeed much more snappier, no lag on the system when installing apps from market, and overall if the phone would continue like this for the next 48 hours, lag fix form me is solved. I had some problems after some 24h, with some lag, even with the previous version of the lag fix.
clubtech said:
I just removed the V1 version and finished the V2.
It finally finished and rebooted the phone. now it tells me my internal memory storage is full. None of my Widgets will load.
Looking i see only 14MB free in internal storage.
thoughts?
Click to expand...
Click to collapse
Looking through my old V1 remove script, I believe I was leaving behind the .bak files! Nastyyy... I'll update V2 to remove those if they're there on install. Will hopefully clear up any problems.
This was the kernel thread but it is so full of question that it was renamed to Question and answer!
before ask search in the forum.
Guide to install:
http://sourceforge.net/apps/trac/androidhtc/wiki/HowToInstallWithAtoolsNand (Flash the phone)
http://sourceforge.net/apps/trac/androidhtc/wiki/HowToInstallWithAtoolsHaret (Dual system windows/android)
If you have "install module error" please install the android update on sourceforge. Read more here:
http://forum.xda-developers.com/showthread.php?t=848921
Awesome job on this l1q1d, i finally got around to getting the git set up on my computer yesterday so in can modify and compile so i'll try and get coding when i have some free time Thanks for all your efforts.
I have some memory issues with both 3-10-2010 and 4-10-2010 kernels. The memory usage is really high and my launcher(launcher pro) keeps getting closed/restarted all the time even without opening any other apps.
Here for testing...
Glad to see this thread started!! Thought dev for Kaiser had seen its end. I'm no coder but can help with testing.
Hey L1q1d, this isn't by any means vital but i find it annoying and don't know if any other kaiser users have found this. If i turn the phone on and don't unlock it before pressing the power button again (i.e. just to check the time), there is a relatively long delay before the screen turns off. If i unlock the phone and then press the power button it turns off instantly. I have attached the logcat from when the phone is turned on and then turned off, i have also indicated where it locks before turning off the screen. I'm looking into it but if you have any pointers or don't experience this with your device let me know please
-Arturo- said:
I have some memory issues with both 3-10-2010 and 4-10-2010 kernels. The memory usage is really high and my launcher(launcher pro) keeps getting closed/restarted all the time even without opening any other apps.
Click to expand...
Click to collapse
Ok scratch that looks like the problem has been caused by having data on ext2 partition.
The kernel 2.6.32 runs way better than previous, but i have a persistent fail that knocks out the screen, at start i can see a message saying "msm_i2c.0: Bus still busy, status 2100m intf 100" and another more saying "msm_i2c.0: Error waiting for notbusy". ¿It is a common fail or it's only mine?
Hi
the problem is I do not belong here
I tried several variants android
the Caller ID does not work
basic configuration of network settings, but it is not good
if you want to set up an error message is incorrect sim, and it is no longer a network
something that is not a solution?
L1q1d, good work. Some of the changes you have made, such as nand, affect all of the related phone types. So, you might want to at least mention them on the vogue kernel thread. On the other hand, the keypad and battery code is not used by vogue. As you know, Polaris uses the same battery code as Kaiser.
I'm thinking two changes for battery code:
a) going back to max voltage and current instead of average, to work better with poor batteries. My old battery sometimes has deep dips in its reported voltage, causing a recalibration to 5% capacity when it really has more like 40%.
b) the recommended capacity calculations at high and low calibration points should be "recommended = battery_capacity - (new - old)" instead of "recommended -= (new - old)". As things are, the recommended value is pretty close on the first calibration, but any subsequent calibrations apply the same correction over and over again, making the recommended value go negative or insanely positive. Of course I cannot remember the names of the variables.
@L1q1d
This is a nice idea to make this thread for kaiser users.
Today I tried the latest kernel 4-10-2010 with fresh froyo 2.2.1 (nand installation). First the system works well. But after installing the ADW.Launcher from the market and after a reboot I got always chrashes from this launcher and I never had this before with any other kernel and the launcher version has not been changed. So maybe I have the same issues then Arturo. Then I tried the app task killer but it chrashes after starting it (same problem). I think these problems could be memory issues in the latest kernel version.
Keep going on your nice work for kaiser
l1q1d I have just got a framework exception and as usual 90% of apps don't work anymore. It occured using the latest kernel.
Also I still keep getting those launcher pro redraws It didn't happen while using the 2.6.25 kernel. Has the memory management been changed in the new kernel?
Do you use compcache? Like wlan, compcache uses kernel drivers that have to match the kernel version. I use compcache with backing store on 4th partition of sdcard.
Sent from my Full Android on Vogue using XDA App
n2rjt said:
Do you use compcache? Like wlan, compcache uses kernel drivers that have to match the kernel version. I use compcache with backing store on 4th partition of sdcard.
Sent from my Full Android on Vogue using XDA App
Click to expand...
Click to collapse
Yes I do. I ripped the compcache.sh file from latest dzo's fresh froyo build.(I remember reading Kalt Kaffe's post about getting compcache to work with the newest kernel a while ago so I assumed that it has been sorted out and we can enable compcache with new kernel) I'm on NAND at the moment with both system and data. I've tried system on nand and data on ext2 partition but the launcher redraws were killing me, every time I opened opera mini and then closed it the launcher was closed and I had to wait for it to load into memory again.
I'm back to system and data on nand at the moment with new kernel and it's much much better but still it happens from time to time. I've never experienced launcher redraws with the old kernel so I don't really now what;s wrong.
About the 4th partition....you mean swap, right?
When I was on nand +sd card I had 3 partitions 1) fat 32 then 2) ext2 about 30 mb(I don't know what for is the first ext2 partition but i remember that i couldn't install data to sd card with only one ext2 partition) and finally 3) second ext2 partition for data about 300mb. So by creating the third ext2 partition I would activate swap in compcache? I've never tried as I heard that it might used up the sd card faster. also I only have two sd cards 6gb(class 4) and 12 GB (class 2) so I think i would probably need class 6 for swap file?
The compcache-required modules are included in the 2.6.32 modules attached to my first post of this thread. Those files should work with any recent 2.6.32 kernel. I would suggest that we should be able to get modules the same place we get zImage and NBH files.
I wouldn't recommend backing store for everybody. It works for me, with my 8GB card, but I'm not sure it ever even writes anything to the swap partition. And, yes, my fourth partition is a swap partition. Kallt-kaffe's latest compcache.sh script should work fine.
An easy way to find out of your compcache is working: use the "free" command from the command prompt. If swap is shown as zero, compcache is not working. You can also see failures in the dmesg log.
n2rjt said:
The compcache-required modules are included in the 2.6.32 modules attached to my first post of this thread. Those files should work with any recent 2.6.32 kernel. I would suggest that we should be able to get modules the same place we get zImage and NBH files.
I wouldn't recommend backing store for everybody. It works for me, with my 8GB card, but I'm not sure it ever even writes anything to the swap partition. And, yes, my fourth partition is a swap partition. Kallt-kaffe's latest compcache.sh script should work fine.
An easy way to find out of your compcache is working: use the "free" command from the command prompt. If swap is shown as zero, compcache is not working. You can also see failures in the dmesg log.
Click to expand...
Click to collapse
Excellent N2rjt i think you just found the cause of my issues. I updated my system with the modules you have linked enabled compcache again and then i entered the "FREE" command and swap shows zero. So the compcache is not working this must be the reason for constant launcher redraws. Now what could be the cause of "broken" compcache?
Sent from my Full Android on Vogue using XDA App
lzo modules are now included in the kernel, you need only ramswap. probably compcache script have some problem with it.
Ok, guys I got a compcache.sh file from the latest dzo's froyo and compcache is finally enabled. I will be testing the device to see whether the issues are gone. Thanks for your help.
Bug: white screen, Android still alive
How I got a white screen:
AT&T Tilt-flavored Kaiser, latest kernel and dzo's Fresh Froyo, both built from current git code.
I was typing on the hardware keyboard, actually entering a message for xda-developers. I wanted to say "dmesg | grep ds2746", but couldn't find the "|" symbol. I remembered that the hardware keys for the soft keys (between R-T and between I-O) have some symbols mapped to them, so I was trying different Fn- and Symbol combinations of those keys.
Eventually I hit Fn-(Left soft key), and got a text screen with dmesg logs.
Okay, how to get back to a graphical screen? I tried a few keys that didn't take me back, then had a brilliant idea, hit the red hangup key.
That blanked the screen, but when I hit other keys to wake up, I had a white screen. Yet, adb logcat verifies that the phone is still running Android, and it is even responding to my touches, just I can't see anything except white.
Edit: can recover by using Fn- keypad right soft key.
Battery issues?
If anyone has battery issues, please open a terminal, and type this:
> dmesg | grep ds2746 > /sdcard/dmesg.log
and send the dmesg.log file.
Thanks!
Introducing...
Darktremor Apps2SD 2.7.5.3 Beta 04
Date of Release: January 29, 2011
Download Current Version
Instructions - Change Log - Commands - ROM List - Developer's Guide
Darktremor Apps2SD Fan Page ----
Darktremor Apps2SD Development Group
Are you installing Darktremor Apps2SD on your phone? Here are the instructions to help you: Facebook
Are you a developer wanting to include Darktremor Apps2SD in your latest ROM? Here is the Developer Guide: Facebook
Click to expand...
Click to collapse
Update on Beta 4
It seems I'm getting mixed results with these betas. I'm not sure why this is occurring, some people have been able to get this working right while others have had a hard time with it.
Currently, I'm rebuilding the entire program. This takes a while because I have to figure out how to pack all these options into the program but make it small enough to where it will run correctly.
I will say that some of the beta features are coming back out...one of them is the search for a partition code. I suspect that code may be leading me into issues with certain platforms, so I'm going back to the 2.7.5.2 method of mounting (mmcblk0p2 or mmcblk1p2).
Also, parts of the code will use Busybox Ash (the only code that won't will be starta2sd, which will still use Bash for the time being). The startup code will definitely use Busybox Ash.
Until then, here are the links to the the last two betas and the last official release:
Version 2.7.5.3 Beta 04 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta04-signed.zip
Version 2.7.5.3 Beta 03 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta03-signed.zip
Version 2.7.5.2-1 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.2-1-signed.zip
And, if you want past versions, you can view the repository: ftp://dtuser:[email protected] (ignore the smiley face...that's XDA doing that.)
Click to expand...
Click to collapse
Beta 04 took longer than I expected to release. I have done major changes to the code:
1. New commands: convert-ext4 - This will convert your EXT3 partition into EXT4. Just a friendly reminder on this command: Not every rom supports EXT4, so it is possible to go into a boot loop if you switch roms. Use with caution.
2. Reworked convert-ext3 (convert-ext4 gets similar code)...now a flag file is set before the reboot (no conversion is done before the reboot). At load time, the conversion is performed. This takes longer in the reboot process and you may think your phone has locked up...wait about five minutes before doing anything with the phone.
3. Repair is rebuilt...now it uses existing commands to repair the setup (reinstall, remove, cachesd, cachepart, nocache, datasd, nodata). Definitely shrinks the code.
4. Added fix_permissions program to the package. This may help with Superuser issues when using the datasd feature. It is used in reinstall, remove, datasd and nodata.
5. a2sd install is back!!! Both a2sd install and a2sd reinstall do the exact same thing.
6. Dalvik heap code has been shrunk and now creates a file called dalvikheap. Actually, the code has been doing this all along (since about 2.7.5.2, I think), but I never put the code in to use the file.
7. Low Memory Killer code has also been shrunk and uses a file caled dtset_lowmem to set the low memory killer parameter.
8. Replaced Busybox PS function with Toolbox PS. The issue with Busybox PS is that it gives a false reading when I look for android.process.acore (which is the main program when the GUI starts up). If that is present, the program thinks you are trying to run Darktremor without any command line parameters. This was because Busybox would report the process was there when, in reality, it wasn't (validated this when my phone was boot looping.) Toolbox's PS reports the correct setting. This should fix the bootlooping issues some people are experiencing.
9. New commands: usedtbusybox and usedefaultbusybox - these commands may help in diagnosing issues that is may be related to the native Busybox on your rom. a2sd usedtbusybox will use the Busybox that is packaged with Darktremor. a2sd usedefaultbusybox will turn back on the scan behavior of the program introduced in Beta 03.
10. Support for Darktremor Apps2SD version 2.7 and earlier has been discontinued. To upgrade correctly from one of those versions, use version 2.7.5.3 Beta 03b or earlier.
11. Finally fixed stalled boot issues (or at least my tests with several roms says so.)
See the change log for additional details.
You will notice that if the program runs repair and finds a problem, it will correct the issue and reboot. You will see a second reboot when the dalvik-cache clears (this is to fix timing issues with CyanogenMod...I can't control that startup as well as I can other roms). This only happens if repair is ran or you flash a new rom (as repair will realign all data). If you are upgrading from a previous version of Darktremor, you should not see the reboots.
Click to expand...
Click to collapse
This is Darktremor Apps2SD, a multipurpose program that primarily allows a user to execute applications created for the Android OS on their Secure Digital card (with the proper setup...more on that later). But, Darktremor Apps2SD is all about stability. The goal is to be able for all users of the Android OS to be able to take advantage of a method to run their applications from a secure digital card.
But just because the Darktremor Apps2SD is all about stability, doesn't mean it isn't packed with features:
- Move applications (both free and paid) to the Secure Digital card.
- Move Dalvik Cache to run either from your Secure Digital card or from your cache partition and clears the cache on demand.
- Boot Loop Protection: prevents the phone from boot looping in the event the SD card could not be mounted.
- Dalvik JIT for faster performance on Roms which support it.
- User selectable sizes for the Dalvik heap sizes, allowing a user to freely optimize their system.
- Activate a swap partition on your SD card and sets how often the swap partition is utilized.
- Automatically fixes configuration issues.
- Users can check the free space on their SD card and check the installation to make sure all is setup correctly.
- Runs ZipAlign on demand...this makes your programs load faster.
- Built in help system for easy reference of commands.
- All features can also be reversed without repartitioning your Secure Digital card.
- New logging features assists in troubleshooting issues.
- Commands to set the Low Memory Killer feature at boot time. Great for those people who are the "set it and forget it" type.
- And more...
Darktremor Apps2SD is not the same as Froyo Apps2SD. Froyo Apps2SD creates a secure folder on the FAT32 section of your SD card (this is the section that you see when you mount your phone to your computer) and stores the programs there. This is nice as you don't have to do anything special with the phone, but it isn't backwards compatible with older versions of Android (Cupcake, Donut, Eclair) and, because of the way Froyo works, older programs not designed for Froyo will automatically stay on your internal storage (unless you install a program that forces the move to your SD card).
Darktremor Apps2SD takes a different approach. Based on the original CyanogenMod works, Darktremor Apps2SD uses symbolic linking to force Android into moving your applications to the SD card. Because Android will not allow anything to be ran from the FAT32 partition on your SD card (and, in Froyo, it will only allow you to run programs from a special folder), Darktremor utilizes filesystems called EXT2, EXT3 and EXT4. Each one of these filesystems is native to Linux (the operating system running Android), which allows you to run programs from them (same as, say, a computer running Ubuntu). This method is completely compatible with all versions of Android, including Froyo. In fact, you can run both the Darktremor Apps2SD and Froyo Apps2SD at the same time.
Check out the list of Roms that either have Darktremor Apps2SD installed or are compatible with Darktremor Apps2SD. Click on the link labeled ROM List at the top of this message.
Is there really any need for this if we have froyo? If so please fill me in, I just don't see the point.
Sent from my HTC Glacier
Even if there are some advantages, has anyone actually filled their internal storage on the mt4g already? Hell, to be honest I don't even see the need for froyo's apps2sd. I've installed every app I could possibly find a use for (on internal storage) and still have over 500MB free.
Sent from my HTC Glacier
Actually, there is. The dalvik-cache doesn't move to your FAT32 partition, so you will still eat up storage space with it.
Also, this program offers other features, such as Low Memory Killer tweaking and heap size adjustments.
Some people also reported that the apps run faster when they are placed on an EXT partition rather than using Froyo's FAT32 implemetation. Personally, I haven't really benchmarked it, so I can't tell you from personal experience if it is faster or not.
I guess it's a personal preference.
stoneyjonez said:
Is there really any need for this if we have froyo? If so please fill me in, I just don't see the point.
Sent from my HTC Glacier
Click to expand...
Click to collapse
That may be true right now, but apps are getting bigger in the Android market. I know for other phones, it can be a necessity.
As I said in the previous post...it's more of a preference.
stoneyjonez said:
Even if there are some advantages, has anyone actually filled their internal storage on the mt4g already? Hell, to be honest I don't even see the need for froyo's apps2sd. I've installed every app I could possibly find a use for (on internal storage) and still have over 500MB free.
Sent from my HTC Glacier
Click to expand...
Click to collapse
May I ask if this App2SD working in CM7 nightly ? Thanks to advise .
Depends on who built it.
I have users that say this works perfectly with CM7. During my testing using CM7, I didn't get it to work because the build I had didn't have EXT support (which is needed for Darktremor to work).
So, I would say do a backup of your phone and try it. If you can't get it working, you are more than welcome to send me the logs at [email protected] and I'll see what happened (logs are located on /data directory: files are dta2sd.log, dta2sd.lg1, dta2sd.lg2)
ajaxchen said:
May I ask if this App2SD working in CM7 nightly ? Thanks to advise .
Click to expand...
Click to collapse
Thanks for your promptly reply ; I will give it a try later . But i am wondering if it's a issue that CWM recovery 3.0.0.5 can not find my EXT partition (I had created my 1GB EXT3 with CWM recovery already) ?
That could be an issue. I'm not familiar with that recovery, but if it has a repair function, you should try to run it.
If you don't have that option or the repair was unsuccessful, I would offload the contents of your FAT32 partition on a computer and repartition the card.
ajaxchen said:
Thanks for your promptly reply ; I will give it a try later . But i am wondering if it's a issue that CWM recovery 3.0.0.5 can not find my EXT partition (I had created my 1GB EXT3 with CWM recovery already) ?
Click to expand...
Click to collapse
This would be way easier with amon RA recovery. I remember having it on my g1 and never had problems with it. Clockwork is good but making partitions and ext 3 and 4 is simple from the phone.
Sent from my HTC Glacier using XDA App
I added a new command in Beta 03 that should make it easier to convert EXT2 to EXT3:
a2sd convert-ext3
Killbynature said:
This would be way easier with amon RA recovery. I remember having it on my g1 and never had problems with it. Clockwork is good but making partitions and ext 3 and 4 is simple from the phone.
Sent from my HTC Glacier using XDA App
Click to expand...
Click to collapse
Is it possible to put the commands into an .apk, just to make it less intimidating and easier to use for some of us? I have no developer skills or I'd try.
stoneyjonez said:
Even if there are some advantages, has anyone actually filled their internal storage on the mt4g already? Hell, to be honest I don't even see the need for froyo's apps2sd. I've installed every app I could possibly find a use for (on internal storage) and still have over 500MB free.
Sent from my HTC Glacier
Click to expand...
Click to collapse
Well there are people who like games and seeing that some of the games in marketplace are 80mb each and some even reach over 100. I filled my 500mb internal storage because i like to game on my phone.
It's in the planning stages. The goal is to build an interface so an average user can interact with it. Sadly, I'm not very good at Java yet and I haven't found a programmer to assist me in this quest. But it's still being planned and will happen eventually.
agriff said:
Is it possible to put the commands into an .apk, just to make it less intimidating and easier to use for some of us? I have no developer skills or I'd try.
Click to expand...
Click to collapse
is the performance changed when the cache isn't in the phone? How much is the card speed (class) important?
Card speed is important when writing. For dalvik-cache and apps, not that much. For moving /data/data to the SD card, it may make a difference.
Read speed is dependent on the quality of the card you are using.
As for performance, I only notice the speed difference when things like dalvik-cache is getting rebuilt. Normal operation...I don't notice the difference.
MuF123 said:
is the performance changed when the cache isn't in the phone? How much is the card speed (class) important?
Click to expand...
Click to collapse
What's the use? We've got plenty of internal storage space.
If you have plenty of space for everything, don't use it. It's not a requirement to use.
It's for people who may want to use it just because they can or they may have a need for it.
Part Four said:
What's the use? We've got plenty of internal storage space.
Click to expand...
Click to collapse
tkirton said:
If you have plenty of space for everything, don't use it. It's not a requirement to use.
It's for people who may want to use it just because they can or they may have a need for it.
Click to expand...
Click to collapse
Not really.
tried working on desire hd stock rom but its not working gets installed successfully but a2sd commands dont work!
I'm having an odd and kind of trivial problem, but I thought someone else may have run into this:
I'm about 2 days into having a new/old nexus rather than jump right into JB, where every ROM I read about seems to have quite a few problems, I'm starting with ICS. I've got it rooted, and have cleansed it of the few junkware things I dislike so that the battery lasts all day and am happy with the ICS nexus.
So :: I looked around and found that the 'faux' kernels (for ICS and JB) have CIFS and TUN built in, and installed the ICS version which works nicely. I'm used to using cifsmanager, which doesn't have to load a module since it is built into the kernel, but it basically issues a statement like this:
-- # mount -t cifs //computerName/ShareName /localmnt/mntdir -o user=xxx,domain=yyy
Until that is performed at least once, Titanium backup works great doing all it's neat things. After I either use cifsmanager, or that mount statement, Titanium backup can't seem to find the /sdcard at all. It requires a reboot to get it back working again. Since it is ICS and reboots in 20 seconds or so, I don't mind too much, but it would be cool if someone here had found a workaround. I know cifsmanager is compatible with ICS because I've got a tablet that is ICS and using it all the time. I'm not interested in the built-in SMB modules of filemanagers because this is more for being able to use apps rather than just a file manager. I'm aware it might just be one of those oddball instances where a couple of pieces of software won't play nice together.
Thanks in advance --
hachamacha said:
I'm having an odd and kind of trivial problem, but I thought someone else may have run into this:
I'm about 2 days into having a new/old nexus rather than jump right into JB, where every ROM I read about seems to have quite a few problems, I'm starting with ICS. I've got it rooted, and have cleansed it of the few junkware things I dislike so that the battery lasts all day and am happy with the ICS nexus.
So :: I looked around and found that the 'faux' kernels (for ICS and JB) have CIFS and TUN built in, and installed the ICS version which works nicely. I'm used to using cifsmanager, which doesn't have to load a module since it is built into the kernel, but it basically issues a statement like this:
-- # mount -t cifs //computerName/ShareName /localmnt/mntdir -o user=xxx,domain=yyy
Until that is performed at least once, Titanium backup works great doing all it's neat things. After I either use cifsmanager, or that mount statement, Titanium backup can't seem to find the /sdcard at all. It requires a reboot to get it back working again. Since it is ICS and reboots in 20 seconds or so, I don't mind too much, but it would be cool if someone here had found a workaround. I know cifsmanager is compatible with ICS because I've got a tablet that is ICS and using it all the time. I'm not interested in the built-in SMB modules of filemanagers because this is more for being able to use apps rather than just a file manager. I'm aware it might just be one of those oddball instances where a couple of pieces of software won't play nice together.
Thanks in advance --
Click to expand...
Click to collapse
I knew if I asked this damn question that I'd figure out the answer about 3 minutes later, and I just did. It is cifsmanager, and I don't know what it's doing wrong or why it's having the conflict but that's the problem, so problem is solved or worked around for me.
It turns out I also needed to mount the cifs share out on the /sdcard/xxx because it may also be getting confused with cifsmanager perhaps remounting /mnt/ as something other than what it was originally. I'm not sure but this mount statement works now and I've written scripts to mount and dismount the shares:
(term emulator)
# mount -t cifs -o username=name,domain=domain,password=password //ip addr/sharename /sdcard/mymountdir
Thanks anyway and ignore this.
My needs:
- underclocking cpu (NOT OVERclock)
- gamma correction for videos too dim
- move apps to microsd.
it's possible only rooting?
or i need also a custom kernel?
i don't want custom recovery and recovery.
parsifal968 said:
My needs:
- underclocking cpu (NOT OVERclock)
- gamma correction for videos too dim
- move apps to microsd.
it's possible only rooting?
or i need also a custom kernel?
i don't want custom recovery and recovery.
Click to expand...
Click to collapse
If you search throught the forums you will find this answered many times over.
For the sake of simplicity I will do so again here.
Yes, you will want to root your device in order to use the apps for underclocking.
Custom recovery is recommended. TWRP is your starter flavor.
You may use apps like link2sd and app2sd if you have your micro sdcard formatted to fat32 w/ two separate partitions, at least for link2sd.
Gamma has been corrected using a custom kernel on the Google Play Edition of the tablet. If you didn't buy it through the Google Play store, It's not the Google Play Edition.
There are (hopefully) some people working on a gamma corrected kernel for the 500, but as of now it has not been released. There is a thread in the development section on compiling your own kernel should you wish to give it a go. Regards,
parsifal968 said:
My needs:
- underclocking cpu (NOT OVERclock)
- gamma correction for videos too dim
- move apps to microsd.
it's possible only rooting?
or i need also a custom kernel?
i don't want custom recovery and recovery.
Click to expand...
Click to collapse
- Once rooted, get this app - CPU Tuner
- Like sleekmason mentioned above, no kernel for the v500 version. However you can get this app without root - Screen Adjuster
- Yes you can move apps to microsd. Follow these instructions - Prep SD Card for moving apps
Make sure to only take a maximum of 20% of the SD Card as a partition, e.g. 32GB should have max 6GB for partition.
Once you've done that, follow these steps to Link the apps to sd card - How to use Link2SD
Pman1342 said:
- Once rooted, get this app - CPU Tuner
- Like sleekmason mentioned above, no kernel for the v500 version. However you can get this app without root - Screen Adjuster
- Yes you can move apps to microsd. Follow these instructions - Prep SD Card for moving apps
Make sure to only take a maximum of 20% of the SD Card as a partition, e.g. 32GB should have max 6GB for partition.
Once you've done that, follow these steps to Link the apps to sd card - How to use Link2SD
Click to expand...
Click to collapse
thanks for the usefull reply...
and now:
1) it's better than setcpu? they underclock also the Gpu?
2) i will do a check.
3) why only 20% max? hour gpad support ext4 or i stick with ext2?
parsifal968 said:
thanks for the usefull reply...
and now:
1) it's better than setcpu? they underclock also the Gpu?
2) i will do a check.
3) why only 20% max? hour gpad support ext4 or i stick with ext2?
Click to expand...
Click to collapse
No probs.
1. Not sure about underclocking the GPU, what I do now is that it has profiles similar to setcpu. I would have recommended setcpu, but depends if you want to pay the £1.50 or not. There's plenty more on Playstore, check out the "similar apps" for cputuner/setcpu.
3. I saw it a few times here and there to only use no more than 20%. I think it's the optimal amount for Links2SD to work and with no loss of speed. Also anymore could cause stability issues to the partition and the unallocated space. To be fair, with a 32GB card, 6GB is more than enough space, I have that on my phone and only used 1.5gb with 100+ apps and some system apps on there too. Works great and faster to load apps than on internal.
For the partition, I've used ext4 on my phone, I haven't tried it yet on my g pad (not needed it). Try ext4 first, if the pad doesn't recognise it, then re-partition to ext2.
Pman1342 said:
No probs.
1. Not sure about underclocking the GPU, what I do now is that it has profiles similar to setcpu. I would have recommended setcpu, but depends if you want to pay the £1.50 or not. There's plenty more on Playstore, check out the "similar apps" for cputuner/setcpu.
3. I saw it a few times here and there to only use no more than 20%. I think it's the optimal amount for Links2SD to work and with no loss of speed. Also anymore could cause stability issues to the partition and the unallocated space. To be fair, with a 32GB card, 6GB is more than enough space, I have that on my phone and only used 1.5gb with 100+ apps and some system apps on there too. Works great and faster to load apps than on internal.
For the partition, I've used ext4 on my phone, I haven't tried it yet on my g pad (not needed it). Try ext4 first, if the pad doesn't recognise it, then re-partition to ext2.
Click to expand...
Click to collapse
Neither ext4 or ext2 were allowed for patitions on the sdcard on my device. This is the gpe which may be different in that, LG may allow for those types.
FAT32 works fine though. I am still working on whats required to allow ext2. Wouldn't think it would be so difficult. I know some of the roms allow for it.
sleekmason said:
Neither ext4 or ext2 were allowed for patitions on the sdcard on my device. This is the gpe which may be different in that, LG may allow for those types.
FAT32 works fine though. I am still working on whats required to allow ext2. Wouldn't think it would be so difficult. I know some of the roms allow for it.
Click to expand...
Click to collapse
Hmm that's strange, I haven't tried so can't tell you if it works or not on v500. There maybe a kernel for the GPE which would allow it, I believe there'es a few in the android development area mostly for GPE (v510).
Edit: Just found this thread, supposedly there's a permission issue on GPE versions, there's a fix though through this post:
http://forum.xda-developers.com/showpost.php?p=48635344
Pman1342 said:
Hmm that's strange, I haven't tried so can't tell you if it works or not on v500. There maybe a kernel for the GPE which would allow it, I believe there'es a few in the android development area mostly for GPE (v510).
Edit: Just found this thread, supposedly there's a permission issue on GPE versions, there's a fix though through this post:
http://forum.xda-developers.com/showpost.php?p=48635344
Click to expand...
Click to collapse
Heh, I'm am a kernel developer for the 510. In signature.
No, it's not a kernel issue as such. well, maybe, sorta. It is a permissions/fstab problem as far as I can tell. I haven't really messed with that yet. The kernel itself DOES allow for both ext4 and ext2, and if somebody wants it, I'll enable ntfs for the kernel as well.
I will need to rip apart a rom that allows it and see what is on file. That won't happen anytime soon as I am working on other items at the moment.
The link you posted is just to get rw permissions for the sd card. nothing to do with the format thereof.
sleekmason said:
Heh, I'm am a kernel developer for the 510. In signature.
No, it's not a kernel issue as such. well, maybe, sorta. It is a permissions/fstab problem as far as I can tell. I haven't really messed with that yet. The kernel itself DOES allow for both ext4 and ext2, and if somebody wants it, I'll enable ntfs for the kernel as well.
I will need to rip apart a rom that allows it and see what is on file. That won't happen anytime soon as I am working on other items at the moment.
The link you posted is just to get rw permissions for the sd card. nothing to do with the format thereof.
Click to expand...
Click to collapse
Interesting, didn't know that. I've got the 500 but not tried an sdcard yet (only had tab for couple of weeks). Do you know if the permissions is a problem for the 500 too?
Wasn't sure if it was the tab that wasn't reading the ext2/4 formats.
P.s. I'm new, didn't realise you are the kernel god for the LG v510. Apologies
Pman1342 said:
Interesting, didn't know that. I've got the 500 but not tried an sdcard yet (only had tab for couple of weeks). Do you know if the permissions is a problem for the 500 too?
Wasn't sure if it was the tab that wasn't reading the ext2/4 formats.
P.s. I'm new, didn't realise you are the kernel god for the LG v510. Apologies
Click to expand...
Click to collapse
Lol. It is a google problem as far as the permissions go. They saw a potential for abuse and removed the auto access as such. I don't know if lg left it the same or does what Samsung does and has their own fix.
In the development section under the kernel compile thread, if you read the last page or two you will see where muiriddin is working on a kernel for the 500 that should take care of the gamma issues and such. I believe he has a test kernel compiled and is working on getting it into a useable zip file for your device. There are still a few mysteries to work out
Anyway, there is a thread on these forums (gpad) that discusses the problem and the same fix you found.
sleekmason said:
Lol. It is a google problem as far as the permissions go. They saw a potential for abuse and removed the auto access as such. I don't know if lg left it the same or does what Samsung does and has their own fix.
In the development section under the kernel compile thread, if you read the last page or two you will see where muiriddin is working on a kernel for the 500 that should take care of the gamma issues and such. I believe he has a test kernel compiled and is working on getting it into a useable zip file for your device. There are still a few mysteries to work out
Anyway, there is a thread on these forums (gpad) that discusses the problem and the same fix you found.
Click to expand...
Click to collapse
Naughty Google!
Oh nice, you have many big threads, nice to be speaking to a clever person! Well i'll be happy to test the kernel out for muiriddin when it's up and ready, sound exciting.
Pman1342 said:
Naughty Google!
Oh nice, you have many big threads, nice to be speaking to a clever person! Well i'll be happy to test the kernel out for muiriddin when it's up and ready, sound exciting.
Click to expand...
Click to collapse
Good Day! Thought you, or whoever else has an interest may like to see this article by chainfire (lead developer),
and this one about android device specific configurations. ( I keep looking at this like there might be some magic there
http://www.chainfire.eu/articles/113/Is_Google_blocking_apps_writing_to_SD_cards_/
http://source.android.com/devices/tech/storage/config.html
apparently, the so-so work around for us was initiated by Samsung, and is a dirty hack that they still implement.
I was looking into the init.rc file for the 510 and found:
Code:
mkdir /storage 0751 root sdcard_r
I changed the above to rw thinking I found the golden calf, recompiled the kernel with the adjusted ramdisk and tested it to no avail.
I do however think I'm on the right track.
I dont think the problem is getting the device to user the sdcard(1), as a symlink maybe could do the trick, I think the problem is making it visible to programs like Dolphin when you want to download something, and then getting a request to do so, meaning programs can't arbitrarily write to the sdcard without our explicit permission (root or question).
Update...
Rooted my gpad and tryed almost all setcpu apps for underclock but no lucky.
At start only core0 seem to do the freq i set (1.2 for example) and others 3 core runs at 1.7 but after some seconds all 4 cores return to 1.7
Tested with perfmon app active and running antutu.
Someone help me!
Sent from my LG-V500 using xda app-developers app