[Galaxy Tab 10.1 Android Development] decatf:
Build 20150208

p4wifi-lollipop-20150208.zip

p4-lollipop-20150208.zip

twrp2830-20150206-p4wifi_experimental.zip

twrp2830-20150206-p4_experimental.zip

Changes:

fstab: Add F2FS data and cache partition

Build Launcher3

bluetooth: Allow larger a2dp bursts per tick

Update cm-12.0 parts

- android_external_bluetooth_bluedroid

- android_frameworks_av

- CMFileManager

hwrotation for Galaxy Tab 8.9

kernel:

F2FS backports from grouper kernel

recovery:

Build on android 5.0 sources

Allow mkfs to be run

Additional Notes

Recovery updates:

Recovery was previously being built on Android 4.4 sources. It is now built on Android 5.0 sources which allows F2FS. You must use the 20150206 build of TWRP for F2FS support. Previous builds do not have F2FS.

In this build of TWRP when wiping a partition it will be formatted instead of just deleting all the files. In other words recovery will run make_ext4fs or mkfs.f2fs instead of doing rm -rf *. This is required because it allows us to format the filesystem as EXT4 or F2FS. It is safe to do this because the EMMC brickbug command was removed from the kernel a long time ago. On top of that the command is also disabled when running make_ext4fs. It is not even used in mkfs.f2fs.

If you are still paranoid about the brickbug then just stick with the old TWRP releases and don't bother with F2FS. There is no improvement in Androbench with F2FS anyways. F2FS actually turns out to be slightly slower than EXT4 for this device.

Note that you must back up all your data off the tablet when formatting the data partition. It will be completely wiped.

SELinux:

Recovery is built with SELinux enabled but the ROM is not. I will be posting a ROM with full SELinux support later this week. You must do a clean install when going to SELinux. A dirty flash usually does not work right so it's easier to be doing a clean install. It will not be a stable build because SELinux can be problematic for some. So keep that in mind in case you're backing up all your data to try F2FS because you'll probably need to do a clean install again if you want to try SELinux.

For those who use encryption:

Encryption will not work with F2FS at the moment. This is because it is required that the data partition has 16kB of reserved space. The mkfs.f2fs command segfaults when trying to reserve the 16kB of space. So that change is not included in this build.

For some reason TWRP isn't automatically reserving this space when formatting the partition. So you must run it manually with the length argument in order to configure it properly for encryption. To make an EXT4 partition with the 16kB of reserved space run:

make_ext4fs /dev/block/mmcblk0p8 -l -16384

This is only necessary if you want to format the data partition and you want to use encryption. Doing a normal wipe of the data partition in TWRP will still just delete files instead of formatting.

Other things:

I tweaked a value in bluetooth audio that might help reduce stuttering. It's not clear how to fix it. In AOSP and CM-12.0 they are doing this because apparently some bluetooth devices don't like receiving too much data at once or something.

I added Launcher3 to the ROM. It is the newer AOSP launcher (introduced in Kitkat). By default it builds the old one so all I did was add Launcher3 to the build.