[DISCONTINUED][ROM+KERNEL+TWRP][5.1.1] Unofficial CyanogenMod 12.1 [May 15, 2015]

Status
Not open for further replies.
Search This thread

Sultanxda

Recognized Developer
Code:
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 *
 */

This is an unofficial CyanogenMod 12.1 Lollipop ROM. This is currently a work-in-progress, so you can expect to run into problems while using it.

You must perform a full wipe (wipe /data) before installing this ROM for the first time. New updates can be flashed on top without wiping anything.

The first boot may take up to 10 minutes.

Working:
  • WiFi
  • GPS
  • SD card
  • Modem
  • Mobile data
  • SMS
  • Phone calls
  • Audio
  • Camera
  • Camcorder
  • NFC
  • Bluetooth
  • Sensors
  • Video playback
  • Flashlight
  • USB
  • MTP
  • VoIP
  • Anything else that isn't listed as broken

Issues:
  • SELinux is currently set to permissive
  • Device sometimes (very rarely) locks up at the boot animation

Kernel source code:
(cm-12.1 branch): https://github.com/sultanxda/sultan-kernel-celox

Credits (in no particular order):
  • The CyanogenMod team
  • CyanogenMod contributors
  • CAF
  • dhacker for the gapps
  • ivanich
  • bryan2894
  • If I forgot you, slap me and force me to use an iPhone 4 running iOS 8

Social networking:
Google+ community

Downloads:
NOTE: You must virtually repartition your device, otherwise you cannot install this ROM! See the 3rd post for details.
ROM: https://www.androidfilehost.com/?w=files&flid=29849&sort_by=date&sort_dir=DESC
Google apps by dhacker (click on 'Download Now'): http://d-h.st/BX7Q
Kernel-only updates/kernel Aroma installer*: https://www.androidfilehost.com/?w=files&flid=22694&sort_by=date&sort_dir=DESC
TWRP recovery updates**: https://www.androidfilehost.com/?w=files&flid=26969&sort_by=date&sort_dir=DESC

*The ROM comes with my kernel built into it; however, sometimes I may release an update for only the kernel and not the entire ROM, so the newest ROM update might not come with the newest kernel. The kernel-only update package also comes with an Aroma installer that can be used to configure some kernel options (such as display undervolt).

**You must have completed the repartitioning process in order to install the TWRP recovery updates.

XDA:DevDB Information
CyanogenMod 12, ROM for the SGH-T989

Contributors
Sultanxda
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.0.x
Based On: CyanogenMod

Version Information
Status: Beta

Created 2014-11-07
Last Updated 2015-07-06
 
Last edited:

Sultanxda

Recognized Developer
Changelog:

May 15, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Android 5.1.1
*Fixed audio issues (credit: bryan2894)
*Fixed mobile network issues (credit: bryan2894, noobnl, arco, toastcfh, EnderBlue, nardholio, stargo)
*Fixed Google Play Services wakelocks (credit: Calkulin)
*Synced display HAL with CAF LA.AF.1.1_rb1.17
*Synced media HAL with CAF LA.AF.1.1_rb1.17

Kernel:
Sultan kernel v1.8.5:
*Added option to always enable low-power flash
*Updated core logic of the CPU input boost driver

April 18, 2015:
ROM:
*CyanogenMod 12.1
*Android 5.1

Kernel:
Sultan kernel v1.8.4:
*Reverted to CAF jb_2.5 GPU drivers
*Small improvements to CPU input boost
*Fixed a small bug in EBLN

March 18, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Attempted to fix audio issues

Kernel:
Sultan kernel v1.8.3:
*Fixed 2D GPUs (fixes reboots in Gallery and other random apps)
*CPU input boost is now intelligent:
-CPU input boost automagically decides which CPU cores to boost
-Decides which frequency to boost to
-Decides how long to boost the CPU

March 4, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Fixed black screen when using secure apps (such as banking apps)

Kernel:
Sultan kernel v1.8.2:
*Upgraded GPU (KGSL) drivers to CAF LA.AF.1.1_rb1.12
*Increased GPU memory by 4x (fixes black screen and subsequent force close when trying to play some games)

March 1, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Fixed broken microphone after using Snapchat or Hangouts Dialer
*Fixed VoIP
*Fixed USB charge-only mode

Kernel:
Sultan kernel v1.8.1B:
*Synced with ROM changes (the kernel itself is still exactly the same as v1.8.1)

February 28, 2015:
TWRP:
*Added back USB mass storage mode (for the external SD card)
*Fixed MTP

February 26, 2015:
ROM:
*Latest upstream CyanogenMod changes
*ROM has been virtually repartitioned for more storage space:
-You will now have 11GB of internal storage for apps
-You will now have 2GB of system space to install any Google Apps package you want
*You must "virtually" repartition your device to install this update. See the third post for instructions: http://xdaforums.com/showpost.php?p=56564718&postcount=3

Kernel:
Sultan kernel v1.8.1:
*Enabled MMC deferred resume feature (saves power)

February 13, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Potentially fixed freezing issue

Kernel:
Sultan kernel v1.8.0:
*Merged entire kernel with CAF jb_1.9.6
*Removed some garbage
*Added NTFS support

Old changelogs:

February 4, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Added SystemUI force-close fix
*Added workaround for Bluetooth issues and audio going to max when receiving a notification (thanks to myfluxi)

Kernel:
Sultan kernel v1.7.0:
*Enhanced BLN now switches to the low-power always-on mode after the blink timeout expires (it stops blinking and keeps the backlights on, while removing the BLN wakelock to save power)

February 2, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Potentially fixed broken mobile data for some unlucky users (take #6)(my money's on this one)
*Increased input boost duration to 1200ms
*Attempted to fix bluetooth streaming issues

Kernel:
Sultan kernel v1.6.9:
*Actually un-broke BLN (mega-derp)
*Updated some net drivers from Grouper's Lollipop kernel

January 31, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Potentially fixed broken mobile data for some unlucky users (take #5)

Kernel:
Sultan kernel v1.6.8:
*Un-broke BLN (derp)

January 30, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Fixed mobile data
*Potentially fixed bluetooth issues

Kernel:
Sultan kernel v1.6.7:
*Fixed potential disruptions in enhanced BLN (the LEDs will always blink at a constant rate now)

January 25, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Potentially fixed broken mobile data for some unlucky users (take #3)
*Potentially fixed random audio issues

Kernel:
Sultan kernel v1.6.6:
*Made BLN blink timeout configurable
*Fixed null pointer dereference in keypad driver

January 23, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Potentially fixed broken mobile data for some unlucky users (take #2)
*Added back 2MP front-facing camera quality
*Fixed camera crash when taking pictures with 2MP front-facing camera quality
*Added USB mass storage mode
*Fixed USB OTG support
*Fixed contacts to SIM
*Reduced input boost duration to 900ms
*Fixed video recordings randomly not saving
*1080P and 720P videos you record are much smaller now (file sizes are smaller)
*Added support for Enhanced BLN
*Added Notification LED options to settings for Enhanced BLN (go to Settings->Display & lights->Notification light to configure Enhanced BLN)

Kernel:
Sultan kernel v1.6.5:
*Reverted CAF LA.AF.1.1_rb1.7 audio backport
*Increased vmalloc reserve from 432MB to 512MB
*Added some upstream Linux network patches
*Removed lots of garbage
*841MB of RAM
*Wrote new BLN driver from scratch named Enhanced BLN
*Added always-on mode to BLN (this keeps the backlights on forever with no timeout, and it does not make them blink; when always-on mode is enabled from Settings, BLN does not use a wakelock and the main BLN work function is suspended)
*Other Enhanced BLN features:
-Configurable on/off blink speed (go to Settings->Display & lights->Notification light to configure it)
-Supports different speeds for the LEDs to turn on and off (ex: you can have the lights turn on for 2 sec and then off for 1 sec)
-Properly stops blinking when it is supposed to

January 9, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Bluetooth audio issues should be fixed
*Potentially fixed broken mobile data for some unlucky users
*Disabled 2MP front-facing camera resolution for now (this was crashing the camera; no more HD duckface selfies :p)
*Fixed off-mode charging
*Fixed soft reboot when turning WiFi off and on
*Other fixes/improvements that I can't remember

Kernel:
Sultan kernel v1.6.2B:
*Synced with Jan. 9th ROM changes (the kernel itself is still v1.6.2)

January 7, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Fixed phone calls (thanks to bryan2894)
*Fixed 1080P video recording

Kernel:
Sultan kernel v1.6.2:
*WiFi is a module again
*Added back support for loadable modules
*Reverted wireless stack backport from the Galaxy S5 (didn't do anything useful)

January 3, 2015:
ROM:
*Latest upstream CyanogenMod changes
*Android 5.0.2
*Fixed moving apps to SD card (credit: ivanich)
*Fixed crashes when putting the device to sleep
*ROM is now flashed using block-based flashing (more secure and the ROM flashes faster now)
*Fixed battery stats
*Fixed missing fonts
*Added multi-user support
*Fixed a bunch of other things that I can't remember

Kernel:
Sultan kernel v1.6.1 (included version):
*Removed KSM (our CPU literally don't got time fo dis)
*Added kernel-based thermal mitigation driver
*Fixed minfreq getting stuck to the input boost frequency (1134MHz) when the user tried to modify the minfreq during a boost

Sultan kernel v1.6.0:
*Updated Ion memory drivers from CAF LA.AF.1.1_rb1.7
*Updated audio drivers from CAF LA.AF.1.1_rb1.7
*Added KSM support
*Increased Ondemand 2-phase frequency to 1134MHz
*Disabled kernel virtual terminal (tty0 device)
*Fixed camcorder bus overflow (this fixes the weird glitches that appeared in recorded videos)
*Updated xt_qtaguid from CAF LA.AF.1.1_rb1.7
*Fixed potential bugs in the CPU Input Boost driver
*Disabled early-suspend crap in the MDP driver (screen turns on faster now)
*WiFi is no longer built as a module (it's built directly into the kernel image)
*Disabled loadable module support (improves security)
*Backported wireless stack from Galaxy S5 kernel
*Updated WiFi drivers for compatibility with new wireless stack

December 17, 2014:
Kernel-only:
Sultan kernel v1.5.1:
*Fixed screen not turning on
*Fixed mobile data

December 14, 2014:
ROM:
*Initial CyanogenMod 12 release

Kernel:
Sultan kernel v1.5.0:
*Added support for Lollipop
 
Last edited:

Sultanxda

Recognized Developer
Repartitioning Instructions

As of the February 26th update, I have virtually repartitioned the ROM. This means that you will now have 11GB of internal storage to install applications, and 2GB of system space to install any size Google Apps package that you want. Finally, no more storage space issues!

In order to install the February 26th update and newer updates, you must follow these instructions to virtually repartition your device. Note that this means your phone will not be actually repartitioned, so there is almost no chance that this process could brick or damage your device. After you have virtually repartitioned your phone, you will not be able to flash any other ROMs at all except for the February 26th update and newer versions of my ROM. The reason for this is that the special TWRP recovery I made for the new partition layout only allows you to flash ROMs that use the new partition layout. If you want to use a ROM that uses the original Samsung partition layout then you will need to flash a different recovery, and you must back up (nandroid) and restore your data manually.

If this is your very first time ever installing this ROM then skip step 6. After you have completed repartitioning once, you will not have to do it again unless you switch back to a ROM that doesn't use my partition layout (in other words, a ROM that does not have 11GB of internal app storage space).

Repartitioning instructions:
Materials:
Latest official TWRP recovery: http://xdaforums.com/showpost.php?p=58814838&postcount=1271
Data-transfer package: https://www.androidfilehost.com/?fid=95916177934535406
Newest version of my TWRP recovery: https://www.androidfilehost.com/?w=files&flid=26969&sort_by=date&sort_dir=DESC

If anything goes wrong for you at any time then you can simply reboot your phone normally to get back into CyanogenMod.

  1. Install the latest OFFICIAL TWRP recovery for your device (it is very important that you install the official version, NOT my version).
  2. Reboot into TWRP recovery.
  3. Go to Backup and make sure only Data is checked, then make a back up (this backup will ONLY be needed if something goes wrong later on; it's important, so don't delete it!).
  4. Back up EVERYTHING on your internal SD card to your computer (the internal SD card WILL BE ERASED in the next step).
  5. In TWRP, go to Wipe -> Advanced Wipe -> check Internal Storage -> press on "Repair or Change File System" -> press on "Change File System" -> press on "EXT4", and then swipe to start formatting the internal SD card. This can take up to a minute.
  6. (SKIP THIS STEP IF THIS IS YOUR FIRST TIME EVER INSTALLING CYANOGENMOD 12) Copy the data-transfer package to your device and then flash it. This will copy everything from /data to /sdcard (since /sdcard will become /data).
  7. Copy the newest version of my TWRP recovery to your device and flash it.
  8. After that is finished, go back to the main menu, then go to Reboot and press on Recovery.
  9. Once the device has rebooted back into TWRP recovery, flash the new ROM and then flash your Google Apps package.
  10. Reboot normally (back into CM12).
  11. Connect your phone to your computer and copy back your backed-up internal SD card data to the internal SD card.
  12. Repartitioning is completed. Enjoy your 8GB of additional app storage space.

Undoing the virtual repartitioning:
If you would like to undo this process (so you can flash a different ROM), see this post: http://xdaforums.com/showpost.php?p=59093149&postcount=611
 
Last edited:

MacerHD

Member
Dec 18, 2012
31
5
OnePlus 7 Pro
Booted fine on T989D I did flash a compatible radio, still no cell network. Wifi does seem to be working fine for me. No cell network is a deal breaker for me. Hopefully you can continue development.
 

developer209

Senior Member
Nov 16, 2013
147
27
Ballico
Omfg u did not ������

If you could get network to work I'd very much appreciate it. Thats a bug that I can't simply deal with lol
 
Last edited:

Sajito

Senior Member
Sep 1, 2013
1,119
834
Hi @Sultanxda
I'm trying to build lollipop for htc sensation but no matter what I do I can't get past the following error

Code:
hardware/libhardware/include/hardware/camera_common.h:27:32: fatal error: system/vendor_tags.h: No such file or directory
 #include <system/vendor_tags.h>

Did you get that error too? If yes, how do I solve it? Thank you
 

Sultanxda

Recognized Developer
Hi @Sultanxda
I'm trying to build lollipop for htc sensation but no matter what I do I can't get past the following error

Code:
hardware/libhardware/include/hardware/camera_common.h:27:32: fatal error: system/vendor_tags.h: No such file or directory
 #include <system/vendor_tags.h>

Did you get that error too? If yes, how do I solve it? Thank you

Never saw that error. I didn't get any errors from generic ROM parts, only from device-specific stuff.
 

JesusWazBlack

Senior Member
Apr 29, 2013
819
345
im running this right now.... idk if its just me but i like app drawr better now

i managed to connect to wifi just fine
Dialer works
Wifi works
Cell signal + data doesnt work
Browser crashes
Camera doesnt work
messaging app works
nothing fces randomly (a plus)

i like it
 
Last edited:

jnmiah

Senior Member
Jul 3, 2014
67
12
T-mobile galaxy s2 is still good!?

I am deeply glad my T-mobile galaxy s2 is still supported. Thank you so much for your hard work on this rom. I appreaciate it! :D :good: :good:
 
  • Like
Reactions: bacsidien94

jnmiah

Senior Member
Jul 3, 2014
67
12
im running this right now.... idk if its just me but i like app drawr better now

i managed to connect to wifi just fine
Dialer works
Wifi works
Cell signal + data doesnt work
Browser crashes
Camera doesnt work
messaging app works
nothing fces randomly (a plus)

i like it
Should I try to install a new radio on recovery mode or just wait like a normal person?
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 88
    Code:
    /*
     * Your warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this ROM
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.
     *
     */

    This is an unofficial CyanogenMod 12.1 Lollipop ROM. This is currently a work-in-progress, so you can expect to run into problems while using it.

    You must perform a full wipe (wipe /data) before installing this ROM for the first time. New updates can be flashed on top without wiping anything.

    The first boot may take up to 10 minutes.

    Working:
    • WiFi
    • GPS
    • SD card
    • Modem
    • Mobile data
    • SMS
    • Phone calls
    • Audio
    • Camera
    • Camcorder
    • NFC
    • Bluetooth
    • Sensors
    • Video playback
    • Flashlight
    • USB
    • MTP
    • VoIP
    • Anything else that isn't listed as broken

    Issues:
    • SELinux is currently set to permissive
    • Device sometimes (very rarely) locks up at the boot animation

    Kernel source code:
    (cm-12.1 branch): https://github.com/sultanxda/sultan-kernel-celox

    Credits (in no particular order):
    • The CyanogenMod team
    • CyanogenMod contributors
    • CAF
    • dhacker for the gapps
    • ivanich
    • bryan2894
    • If I forgot you, slap me and force me to use an iPhone 4 running iOS 8

    Social networking:
    Google+ community

    Downloads:
    NOTE: You must virtually repartition your device, otherwise you cannot install this ROM! See the 3rd post for details.
    ROM: https://www.androidfilehost.com/?w=files&flid=29849&sort_by=date&sort_dir=DESC
    Google apps by dhacker (click on 'Download Now'): http://d-h.st/BX7Q
    Kernel-only updates/kernel Aroma installer*: https://www.androidfilehost.com/?w=files&flid=22694&sort_by=date&sort_dir=DESC
    TWRP recovery updates**: https://www.androidfilehost.com/?w=files&flid=26969&sort_by=date&sort_dir=DESC

    *The ROM comes with my kernel built into it; however, sometimes I may release an update for only the kernel and not the entire ROM, so the newest ROM update might not come with the newest kernel. The kernel-only update package also comes with an Aroma installer that can be used to configure some kernel options (such as display undervolt).

    **You must have completed the repartitioning process in order to install the TWRP recovery updates.

    XDA:DevDB Information
    CyanogenMod 12, ROM for the SGH-T989

    Contributors
    Sultanxda
    ROM OS Version: 5.1.x Lollipop
    ROM Kernel: Linux 3.0.x
    Based On: CyanogenMod

    Version Information
    Status: Beta

    Created 2014-11-07
    Last Updated 2015-07-06
    33
    Changelog:

    May 15, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Android 5.1.1
    *Fixed audio issues (credit: bryan2894)
    *Fixed mobile network issues (credit: bryan2894, noobnl, arco, toastcfh, EnderBlue, nardholio, stargo)
    *Fixed Google Play Services wakelocks (credit: Calkulin)
    *Synced display HAL with CAF LA.AF.1.1_rb1.17
    *Synced media HAL with CAF LA.AF.1.1_rb1.17

    Kernel:
    Sultan kernel v1.8.5:
    *Added option to always enable low-power flash
    *Updated core logic of the CPU input boost driver

    April 18, 2015:
    ROM:
    *CyanogenMod 12.1
    *Android 5.1

    Kernel:
    Sultan kernel v1.8.4:
    *Reverted to CAF jb_2.5 GPU drivers
    *Small improvements to CPU input boost
    *Fixed a small bug in EBLN

    March 18, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Attempted to fix audio issues

    Kernel:
    Sultan kernel v1.8.3:
    *Fixed 2D GPUs (fixes reboots in Gallery and other random apps)
    *CPU input boost is now intelligent:
    -CPU input boost automagically decides which CPU cores to boost
    -Decides which frequency to boost to
    -Decides how long to boost the CPU

    March 4, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed black screen when using secure apps (such as banking apps)

    Kernel:
    Sultan kernel v1.8.2:
    *Upgraded GPU (KGSL) drivers to CAF LA.AF.1.1_rb1.12
    *Increased GPU memory by 4x (fixes black screen and subsequent force close when trying to play some games)

    March 1, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed broken microphone after using Snapchat or Hangouts Dialer
    *Fixed VoIP
    *Fixed USB charge-only mode

    Kernel:
    Sultan kernel v1.8.1B:
    *Synced with ROM changes (the kernel itself is still exactly the same as v1.8.1)

    February 28, 2015:
    TWRP:
    *Added back USB mass storage mode (for the external SD card)
    *Fixed MTP

    February 26, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *ROM has been virtually repartitioned for more storage space:
    -You will now have 11GB of internal storage for apps
    -You will now have 2GB of system space to install any Google Apps package you want
    *You must "virtually" repartition your device to install this update. See the third post for instructions: http://xdaforums.com/showpost.php?p=56564718&postcount=3

    Kernel:
    Sultan kernel v1.8.1:
    *Enabled MMC deferred resume feature (saves power)

    February 13, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Potentially fixed freezing issue

    Kernel:
    Sultan kernel v1.8.0:
    *Merged entire kernel with CAF jb_1.9.6
    *Removed some garbage
    *Added NTFS support

    Old changelogs:

    February 4, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added SystemUI force-close fix
    *Added workaround for Bluetooth issues and audio going to max when receiving a notification (thanks to myfluxi)

    Kernel:
    Sultan kernel v1.7.0:
    *Enhanced BLN now switches to the low-power always-on mode after the blink timeout expires (it stops blinking and keeps the backlights on, while removing the BLN wakelock to save power)

    February 2, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Potentially fixed broken mobile data for some unlucky users (take #6)(my money's on this one)
    *Increased input boost duration to 1200ms
    *Attempted to fix bluetooth streaming issues

    Kernel:
    Sultan kernel v1.6.9:
    *Actually un-broke BLN (mega-derp)
    *Updated some net drivers from Grouper's Lollipop kernel

    January 31, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Potentially fixed broken mobile data for some unlucky users (take #5)

    Kernel:
    Sultan kernel v1.6.8:
    *Un-broke BLN (derp)

    January 30, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed mobile data
    *Potentially fixed bluetooth issues

    Kernel:
    Sultan kernel v1.6.7:
    *Fixed potential disruptions in enhanced BLN (the LEDs will always blink at a constant rate now)

    January 25, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Potentially fixed broken mobile data for some unlucky users (take #3)
    *Potentially fixed random audio issues

    Kernel:
    Sultan kernel v1.6.6:
    *Made BLN blink timeout configurable
    *Fixed null pointer dereference in keypad driver

    January 23, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Potentially fixed broken mobile data for some unlucky users (take #2)
    *Added back 2MP front-facing camera quality
    *Fixed camera crash when taking pictures with 2MP front-facing camera quality
    *Added USB mass storage mode
    *Fixed USB OTG support
    *Fixed contacts to SIM
    *Reduced input boost duration to 900ms
    *Fixed video recordings randomly not saving
    *1080P and 720P videos you record are much smaller now (file sizes are smaller)
    *Added support for Enhanced BLN
    *Added Notification LED options to settings for Enhanced BLN (go to Settings->Display & lights->Notification light to configure Enhanced BLN)

    Kernel:
    Sultan kernel v1.6.5:
    *Reverted CAF LA.AF.1.1_rb1.7 audio backport
    *Increased vmalloc reserve from 432MB to 512MB
    *Added some upstream Linux network patches
    *Removed lots of garbage
    *841MB of RAM
    *Wrote new BLN driver from scratch named Enhanced BLN
    *Added always-on mode to BLN (this keeps the backlights on forever with no timeout, and it does not make them blink; when always-on mode is enabled from Settings, BLN does not use a wakelock and the main BLN work function is suspended)
    *Other Enhanced BLN features:
    -Configurable on/off blink speed (go to Settings->Display & lights->Notification light to configure it)
    -Supports different speeds for the LEDs to turn on and off (ex: you can have the lights turn on for 2 sec and then off for 1 sec)
    -Properly stops blinking when it is supposed to

    January 9, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Bluetooth audio issues should be fixed
    *Potentially fixed broken mobile data for some unlucky users
    *Disabled 2MP front-facing camera resolution for now (this was crashing the camera; no more HD duckface selfies :p)
    *Fixed off-mode charging
    *Fixed soft reboot when turning WiFi off and on
    *Other fixes/improvements that I can't remember

    Kernel:
    Sultan kernel v1.6.2B:
    *Synced with Jan. 9th ROM changes (the kernel itself is still v1.6.2)

    January 7, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed phone calls (thanks to bryan2894)
    *Fixed 1080P video recording

    Kernel:
    Sultan kernel v1.6.2:
    *WiFi is a module again
    *Added back support for loadable modules
    *Reverted wireless stack backport from the Galaxy S5 (didn't do anything useful)

    January 3, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Android 5.0.2
    *Fixed moving apps to SD card (credit: ivanich)
    *Fixed crashes when putting the device to sleep
    *ROM is now flashed using block-based flashing (more secure and the ROM flashes faster now)
    *Fixed battery stats
    *Fixed missing fonts
    *Added multi-user support
    *Fixed a bunch of other things that I can't remember

    Kernel:
    Sultan kernel v1.6.1 (included version):
    *Removed KSM (our CPU literally don't got time fo dis)
    *Added kernel-based thermal mitigation driver
    *Fixed minfreq getting stuck to the input boost frequency (1134MHz) when the user tried to modify the minfreq during a boost

    Sultan kernel v1.6.0:
    *Updated Ion memory drivers from CAF LA.AF.1.1_rb1.7
    *Updated audio drivers from CAF LA.AF.1.1_rb1.7
    *Added KSM support
    *Increased Ondemand 2-phase frequency to 1134MHz
    *Disabled kernel virtual terminal (tty0 device)
    *Fixed camcorder bus overflow (this fixes the weird glitches that appeared in recorded videos)
    *Updated xt_qtaguid from CAF LA.AF.1.1_rb1.7
    *Fixed potential bugs in the CPU Input Boost driver
    *Disabled early-suspend crap in the MDP driver (screen turns on faster now)
    *WiFi is no longer built as a module (it's built directly into the kernel image)
    *Disabled loadable module support (improves security)
    *Backported wireless stack from Galaxy S5 kernel
    *Updated WiFi drivers for compatibility with new wireless stack

    December 17, 2014:
    Kernel-only:
    Sultan kernel v1.5.1:
    *Fixed screen not turning on
    *Fixed mobile data

    December 14, 2014:
    ROM:
    *Initial CyanogenMod 12 release

    Kernel:
    Sultan kernel v1.5.0:
    *Added support for Lollipop
    22
    Repartitioning Instructions

    As of the February 26th update, I have virtually repartitioned the ROM. This means that you will now have 11GB of internal storage to install applications, and 2GB of system space to install any size Google Apps package that you want. Finally, no more storage space issues!

    In order to install the February 26th update and newer updates, you must follow these instructions to virtually repartition your device. Note that this means your phone will not be actually repartitioned, so there is almost no chance that this process could brick or damage your device. After you have virtually repartitioned your phone, you will not be able to flash any other ROMs at all except for the February 26th update and newer versions of my ROM. The reason for this is that the special TWRP recovery I made for the new partition layout only allows you to flash ROMs that use the new partition layout. If you want to use a ROM that uses the original Samsung partition layout then you will need to flash a different recovery, and you must back up (nandroid) and restore your data manually.

    If this is your very first time ever installing this ROM then skip step 6. After you have completed repartitioning once, you will not have to do it again unless you switch back to a ROM that doesn't use my partition layout (in other words, a ROM that does not have 11GB of internal app storage space).

    Repartitioning instructions:
    Materials:
    Latest official TWRP recovery: http://xdaforums.com/showpost.php?p=58814838&postcount=1271
    Data-transfer package: https://www.androidfilehost.com/?fid=95916177934535406
    Newest version of my TWRP recovery: https://www.androidfilehost.com/?w=files&flid=26969&sort_by=date&sort_dir=DESC

    If anything goes wrong for you at any time then you can simply reboot your phone normally to get back into CyanogenMod.

    1. Install the latest OFFICIAL TWRP recovery for your device (it is very important that you install the official version, NOT my version).
    2. Reboot into TWRP recovery.
    3. Go to Backup and make sure only Data is checked, then make a back up (this backup will ONLY be needed if something goes wrong later on; it's important, so don't delete it!).
    4. Back up EVERYTHING on your internal SD card to your computer (the internal SD card WILL BE ERASED in the next step).
    5. In TWRP, go to Wipe -> Advanced Wipe -> check Internal Storage -> press on "Repair or Change File System" -> press on "Change File System" -> press on "EXT4", and then swipe to start formatting the internal SD card. This can take up to a minute.
    6. (SKIP THIS STEP IF THIS IS YOUR FIRST TIME EVER INSTALLING CYANOGENMOD 12) Copy the data-transfer package to your device and then flash it. This will copy everything from /data to /sdcard (since /sdcard will become /data).
    7. Copy the newest version of my TWRP recovery to your device and flash it.
    8. After that is finished, go back to the main menu, then go to Reboot and press on Recovery.
    9. Once the device has rebooted back into TWRP recovery, flash the new ROM and then flash your Google Apps package.
    10. Reboot normally (back into CM12).
    11. Connect your phone to your computer and copy back your backed-up internal SD card data to the internal SD card.
    12. Repartitioning is completed. Enjoy your 8GB of additional app storage space.

    Undoing the virtual repartitioning:
    If you would like to undo this process (so you can flash a different ROM), see this post: http://xdaforums.com/showpost.php?p=59093149&postcount=611
    15
    Regarding the limited internal storage,

    Screenshot:
    screenie.png


    I have thought about what to do for quite a bit of time, and I couldn't think of a solution that doesn't require you to completely wipe the internal sdcard. The screenshot I posted above is not the result of any dangerous repartitioning with Odin; instead, I've modified the way that the ROM interprets the internal partition layout, transforming the internal sdcard into the /data partition (so it is very safe, as long as you back up your data prior to the "repartitioning"). This change would require a new recovery and for you to back up and migrate your internal sdcard's data, almost exactly the same as the process required when switching from EXT4 to F2FS.

    Also, the 2GB internal /data partition would be transformed into the /system partition, giving you 1.5GB of more /system space to flash any size gapps package.

    Thoughts on this? If the vast majority of you are opposed to this then I will not make any other attempts to increase internal storage space, as this is the best and most viable solution I could come up with (using the external SD card as a /data partition is out of the question as it is much slower than internal storage and because it is possible to remove it while the phone is turned on).
    11
    New build uploaded.