[EOL][ROM+KERNEL] Unofficial CyanogenMod 12.1 with CAF 3.4.0 kernel [Apr. 10, 2016]

Search This thread

lammpat

Senior Member
Apr 9, 2013
562
266
My unofficial build while I try to keep up with sultanxda improvements from CM13
It's a user build just as sultanxda's so no built-in root.
It's build with latest code from

Thank you for your work, may I request you to please cherry pick "prevent accidental wakeup" from Cm13?

its very annoying, screen is waking up and doing random things when in pocket. :(
 

zBear

Senior Member
Oct 1, 2008
316
159
Chisinau
@takkischitt
I am talking about my experience
stable enough version appears somewere in a year after first night build
before that it's all about minor/major bugs and fixes
android itself also is not a bugfree system right after release
 
  • Like
Reactions: takkischitt

Kunthu

Member
Aug 23, 2014
33
1
Mumbai
@Sultanxda Your cm 12.1 roms are amazing!!! After flashing this rom i have never shifted to any other rom (even if i did i come back).
There is a problem that I am facing. It is not cancelling the background noise when I talk to other people i.e. there is too much distortion and the other person cant hear my voice and can here the distortion very loudly. The noise cancelling is not working (The microphone seems to be the problem). I also tried re-formatting it several times. Please help me with the solution as I cant stand any other rom! Thank you.
 
Last edited:

TekRantGaming

Senior Member
Nov 8, 2015
169
51
OnePlus 8 Pro
@Sultanxda Your cm 12.1 roms are amazing!!! After flashing this rom i have never shifted to any other rom (even if i did i come back).
There is a problem that I am facing. It is not cancelling the background noise when I talk to other people i.e. there is too much distortion and the other person cant hear my voice and can here the distortion very loudly. The noise cancelling is not working (The microphone seems to be the problem). I also tried re-formatting it several times. Please help me with the solution as I cant stand any other rom! Thank you.
Move to his cm13 ROM this cm12.1 was my daily driver for under a year but his cm13 is extremely stable I get better battery life on his cm13 I usually get about 4hours sot at 35%.....considering I get 4hours sot max on any ROM I try his cm13 ROM gets me past 4hours sot

Sent from my OnePlus One using XDA Labs
 
  • Like
Reactions: donk165

sagarkulkx

Member
Jan 16, 2016
7
0
DownloAD FAILED almost 10 times

Dear Sultan,

I tried downloading the latest Sultan ROM for oneplus one from the given link and t keeps failing even tried with different laptop even 4G on my cell but after about 150 MB its fails download rest.

Please check.

Regards,
 

wonderkid802

Senior Member
Feb 7, 2013
136
7
On the build before the latest and this is the best battery life I've ever had with any device I've used. Thanks sultan for a great rom, just look at that SOT
Ignore this message, wrong thread lol
 

Attachments

  • Screenshot_20160812-021058.png
    Screenshot_20160812-021058.png
    233.9 KB · Views: 853
Last edited:

hammer-is

Senior Member
Aug 22, 2005
131
254
Copenhagen
Useless build...

This build probably does not make sense to be honest as Sultans CM13.0 builds is perfect in my opinion.
But as I was bored I spent a few hours to see if it was possible to cherry-pick + adapt his kernel and device changes from CM13.0 to CM12.1 so here is a "stable/cm-12.1-YOG7D" build with "September 1, 2016" Android security patch level.
It's a "userdebug" build so it has built-in root (which is different from the official Sultan builds). Upgrading from Sultans latest build should be possible but I did not test it.
The official Sultan patches https://github.com/CyanogenMod/andr...mmit/e75f59e7fd349dd1fa5d452086c795f693776d89 and https://github.com/sultanxda/android_frameworks_base/commit/0cbd4a88767d78640b7dd391674575f7d5e517e6 are not applied (as I personally don't see any advantages for applying them) therefore the "Lite" in the name.
I've flashed the 20160918 build and used it for a day without any issues but have returned to Sultan CM13.0 as I really see no reason to stay on CM12.1 :)
cm-12.1-20160918-SNAPSHOT-YOG7D+SultanLite-bacon.zip

New build (This is untested so please take a backup before flashing and report back if it works or not).
This contains Sultans latest 35 kernel commits so it should be as very similar to "cm-13.0-ZNH2K-20160921-STABLE-Sultan-bacon.zip" with regards to kernel and device tree.
cm-12.1-20160921-SNAPSHOT-YOG7D+SultanLite-bacon.zip

In the attached files cm12sultan.txt is the build script that I used on Ubuntu 16.04 while the 2 x .patch files (used by the build script) are the commits that I had to adapt from CM13.0 to CM12.1 as they could not be applied directly.
 

Attachments

  • cm12sultan.txt
    18.3 KB · Views: 35
  • edd68bee16a515c67394abef40c7221f4b6df160_modified.patch
    37.2 KB · Views: 7
  • ce3efcea95b963bf8cfd575e2b1b962b7adad6e0+097b09ac1cd1638f762bc6a2ab6b1804a862806c+eb92d5526351.patch
    2.8 KB · Views: 7
  • cm12sultan_20160921.txt
    22.3 KB · Views: 21
Last edited:

aurocha

Senior Member
May 24, 2013
296
66
Oporto
Xiaomi Poco X3 Pro
This build probably does not make sense to be honest as Sultans CM13.0 builds is perfect in my opinion.
But as I was bored I spent a few hours to see if it was possible to cherry-pick + adapt his kernel and device changes from CM13.0 to CM12.1 so here is a "stable/cm-12.1-YOG7D" build with "September 1, 2016" Android security patch level.
It's a "userdebug" build so it has built-in root (which is different from the official Sultan builds). Upgrading from Sultans latest build should be possible but I did not test it.
The official Sultan patches https://github.com/CyanogenMod/andr...mmit/e75f59e7fd349dd1fa5d452086c795f693776d89 and https://github.com/sultanxda/android_frameworks_base/commit/0cbd4a88767d78640b7dd391674575f7d5e517e6 are not applied (as I personally don't see any advantages for applying them) therefore the "Lite" in the name.
I've flashed the 20160918 build and used it for a day without any issues but have returned to Sultan CM13.0 as I really see no reason to stay on CM12.1 :)
cm-12.1-20160918-SNAPSHOT-YOG7D+SultanLite-bacon.zip

New build (This is untested so please take a backup before flashing and report back if it works or not).
This contains Sultans latest 35 kernel commits so it should be as very similar to "cm-13.0-ZNH2K-20160921-STABLE-Sultan-bacon.zip" with regards to kernel and device tree.
cm-12.1-20160921-SNAPSHOT-YOG7D+SultanLite-bacon.zip

In the attached files cm12sultan.txt is the build script that I used on Ubuntu 16.04 while the 2 x .patch files (used by the build script) are the commits that I had to adapt from CM13.0 to CM12.1 as they could not be applied directly.

Ah... If I'd only could build it for kenzo+radon kernel....
Great idea! I still have my OPO but my daily driver is a Xiaomi Redmi Note 3 Pro (SD650).
There's a a feature missing in cm13 code, which is the ability to toggle a SIM card off.
CM12.1 has such feature, which I miss a lot. So, I'll consider making a test build using your instructions but for kenzo for private use.

Thank you for your effort. And no, a updated cm12.1 build with latest security updates would be great.

Regards,
-aurocha
 

Top Liked Posts

  • There are no posts matching your filters.
  • 631
    Code:
    /*
     * Your warranty is... still valid?
     *
     * 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 build I developed after seeing some of the craziness in the official CyanogenMod kernel (such as massive merges from different sources and untested cherry-picks that introduce random reboots), as well as craziness with CyanogenMod's camera libraries. If you just want your phone to work without any fancy frills then you might be interested in using this. The ROM is the same as official CM12.1 on the outside, but there have been many optimizations under the hood. It comes with a fancy unique kernel I worked on that is cleanly based off of the latest CAF sources from Qualcomm.

    Custom kernels are not compatible with this ROM unless otherwise noted. I will not provide support if you install a custom kernel.

    ROM features:
    • Based off latest generic CyanogenMod 12.1 stable sources (root access is not included)
    • OTA updates via built-in CMUpdater
    • OxygenOS camera libraries (no camera bugs and improved camera performance)
    • Snapdragon Camera app by Qualcomm (comes with many unique features, such as high-speed recording with audio)
    • Custom camera HAL featuring:
      -Intelligent anti-shake algorithm (significantly reduces motion blur when capturing photos)
      -Faster autofocus in low lighting conditions
      -No stuttering/frame drops in camera viewfinder (viewfinder frame rate won't go below 30 FPS)
      -Slow-motion video recording at 60 FPS, 90 FPS, and 120 FPS for 720p, and 60 FPS for 1080p
      -High-speed video recording with audio at 60 FPS, 90 FPS, and 120 FPS for 720p, and 60 FPS for 1080p (you need to use the Snapdragon Camera app in order to use high-speed recording)
      -1080p video recording with the front-facing camera
      -2.5k 1440p video recording with the front-facing camera and back camera (only with the Snapdragon Camera app that comes with the ROM)
      -4k video recording at UHD and DCI resolutions
      -Manual focus
      -Manual ISO control
      -Slow shutter (ranging from 1/5000th of a second to 2 seconds)
      -More picture sizes than plain OxygenOS, such as 9.7MP 16:9
    • Many other misc. improvements under the hood

    Kernel features:
    • Based off latest CAF Lollipop kernel source from Qualcomm (LA.BF.1.1.1_rb1.26)
    • Removed lots of excessive bloat
    • Rewrote battery driver (for the BQ27541 fuel-gauge chip; battery % readings are more accurate, there are various
      safety mechanisms now, and you may get better battery life)
    • Rewrote half of the Synaptics touchscreen driver (over 2500 lines of code modified; your touchscreen might work better)
    • Newest available Synaptics touchscreen firmware (no battery drain)
    • Dynamic CPU input boost driver I wrote myself (makes the phone feel smooth)
    • CPU underclocked to 1958MHz by default (you can disable this; see why I did this in the FAQ in the 3rd post)
    • Vibrator is automatically disabled when recording videos (so the buzzing noise doesn't get in the videos)
    • Custom thermal driver I wrote myself (keeps the phone cool)
    • LCD KCAL by Savoca
    • Westwood TCP congestion algorithm (enabled by default)
    • F2FS support
    • NTFS support
    • No placebo patches, features, or compiler "optimizations"
    • Many other misc. improvements not listed here

    Source code:
    Kernel (cm-12.1-caf branch): https://github.com/sultanxda/android_kernel_oneplus_msm8974
    Local manifest (contains the rest of the sources): https://github.com/sultanxda/android/blob/master/bacon/cm-12.1-stable/local_manifest.xml

    Credits:
    • CyanogenMod and its contributors
    • CAF (aka Qualcomm)
    • myfluxi (awesome friend with lots of amazing contributions)
    • 69gm (loyal guinea pig)
    • PA for the Google Apps
    • If your name should be here and it isn't, then make me use an iPhone 4 running iOS 8

    Installation instructions (for first-time installation):
    First, perform a backup of your existing setup, and then perform a clean install (wipe /data and /system; TWRP is recommended). Next, try flashing the ROM and see if it installs; if it installs without any issues then congratulations! Now just flash a Google Apps package, and then reboot.

    If you get an error when trying to install ("oppo.verify_trustzone" error), then first you must install/use TWRP recovery 2.8.6.0 (TWRP 2.8.7.0 cannot properly update the modem). Next, download and flash the latest official CM12.1 snapshot. Then, without rebooting from recovery, wipe /system and flash my ROM. This process is necessary to update various firmwares (including TrustZone), as the updated firmware is needed by my ROM. After flashing my ROM, flash a Google apps package, and then reboot.


    Installation instructions (for updating to a newer release):
    If you are already running my CM12.1 ROM, then you can update to a newer version of the ROM via the built-in OTA updater or by simply dirty-flashing the new ROM build without wiping anything.

    Downloads:
    ROM:

    Please read through the installation instructions before installing this for the first time.

    Mirror 1: http://forum.xda-developers.com/devdb/project/dl/?id=17892

    Mirror 2: https://www.androidfilehost.com/?w=files&flid=33713&sort_by=date&sort_dir=DESC

    Google Apps: http://forum.xda-developers.com/android/software/tk-gapps-t3116347
    SuperSU (if you want root access): http://forum.xda-developers.com/showthread.php?t=1538053
    Disable CPU underclock: http://forum.xda-developers.com/devdb/project/dl/?id=12808

    XDA:DevDB Information
    CM12.1 with clean CAF 3.4.0 kernel, ROM for the OnePlus One

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

    Version Information
    Status: No Longer Updated

    Created 2015-05-28
    Last Updated 2018-01-20
    293
    Changelog:

    April 10, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Android Security Patch Level: April 1, 2016
    *Camera: Reduced default JPEG quality to 95% (image files are smaller with no visible impact to quality)
    *Camera: Made anti-shake algorithm less aggressive (images are better quality now)
    *Camera: Improved image clarity
    *Camera: Added ability to control JPEG quality in camera apps
    *Snapdragon Camera: Added JPEG quality setting
    *Fixed weather not displaying in cLock widget

    Kernel:
    *Android Security Patch Level: April 1, 2016
    *Added F2FS support
    *Camera: Fixed severe overexposure when using flash
    *Flashlight is 2.5x brighter
    *Fixed msm_cci_wakelock never disappearing in rare cases
    *Updated display backlight driver from upstream cm-13.0

    March 12, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Android Security Patch Level: March 1, 2016
    *Camera: Implemented intelligent anti-shake algorithm (significantly reduces motion blur when capturing photos)
    *Camera: Faster autofocus in low lighting conditions
    *Camera: No stuttering/frame drops in camera viewfinder (viewfinder frame rate won't go below 30 FPS)
    *Removed LockClock weather hack (Yahoo! weather provider is back)
    *Reverted WiFi configuration update from OxygenOS 2.1.4 (caused issues with 5 GHz networks for some users)
    *Added upstream fix for Contacts force close
    *Reduced earphone speaker volume

    Kernel:
    *Android Security Patch Level: March 1, 2016 (CVE-2016-0821)

    February 7, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Android Security Patch Level: February 1, 2016
    *Fixed weather not displaying in cLock widget

    January 31, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Updated WiFi configuration from OxygenOS 2.1.4

    Kernel:
    *Rewrote battery driver (for the BQ27541 fuel gauge chip):
    -Battery % readings are more accurate
    -Added various safety mechanisms
    -You may get slightly better battery life

    January 7, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Added upstream fix for black screen bug when using system profiles (NIGHTLIES-1721)
    *Snapdragon Camera: Fixed user-set preferences getting reset when changing scene mode

    Kernel:
    *Added NFS support

    January 5, 2016:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Android Security Patch Level: January 1, 2016
    *Updated WiFi firmware (WCNSS version: CNSS-PR-1-4-1-c5-00086)

    Kernel:
    *Actually fixed double-tap-to-wake/gestures not working sometimes
    *Fixed USB OTG not working when plugging the OTG cable in while the device is asleep
    *Android Security Patch Level: January 1, 2016 (CVE-2015-6640)

    December 20, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Snapdragon Camera: Fixed UI glitches when on-screen nav bar is enabled
    *Fixed video calling in Skype and Viber
    *Fixed poor video quality in WeChat

    Kernel:
    *Fixed double-tap-to-wake/gestures not working sometimes
    *Added support for various human-interface devices (such as PlayStation and Wii controllers)
    *Added support for CIFS

    December 13, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Fixed force close when switching to camcorder mode in Snapdragon Camera
    *Added updated proprietary libraries from CM's stable/cm-12.1-YOG7D branch

    Kernel:
    *Fixed slow charging

    December 12, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Camera: Fixed rare split-exposure bug
    *Camera: Fixed poor video quality during video calls (e.g. wrong aspect ratio in Hangouts)
    *Added camera sensor calibration from CM (picture quality may be slightly better)
    *Snapdragon Camera: Added option for zero-second tap-to-focus duration (especially useful while recording videos)

    Kernel:
    *Fixed screen backlight never turning off when ambient display is enabled (credit: myfluxi)
    *Disabled MMC deferred resume (might've been causing rare reboots)

    December 1, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Reverted GPS changes from previous build
    *Added OxygenOS WiFi configuration
    *Added HydrogenOS WiFi firmware
    *Snapdragon Camera: Removed panorama mode

    Kernel:
    *Disabled CPU boosting on thread migration (fixes occasional high battery drain and overheating, especially when streaming videos)
    *Rewrote core logic of CPU boost driver (better efficiency, better battery life, and phone heats less now)

    November 16, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Renamed "Snapdragon Camera" to "Camera"
    *Snapdragon Camera: Fixed exposure and white balance not changing after taking a picture
    *Snapdragon Camera: Fixed some minor annoyances
    *Camera: Antibanding is always enabled
    *Updated WiFi configuration
    *Updated GPS configuration

    Kernel:
    *Screen turns on faster

    Old changelogs:

    November 1, 2015:
    Kernel:
    *Reverted battery driver change (to fix random reboots... again)

    October 31, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Updated WiFi configuration yet again
    *Fixed WiFi hotspot getting disabled when mobile signal is lost
    *Removed 'Prevent accidental wake-up' feature (it is very broken)

    Kernel:
    *Added battery driver from official CM12.1 kernel (should fix shut down at 20% battery for some users)

    October 27, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Reverted back to original WiFi firmware images
    *Tweaked WiFi configuration slightly
    *Camera: Potentially fixed split-exposure bug when taking photos with flash in sunny conditions
    *Snapdragon Camera: Added option to control anti-banding in camcorder mode

    Kernel:
    *Fixed headset buttons
    *Fixed volume going up to the maximum or minimum when plugging in a headset
    *Removed pink tint from notification LED
    *Added support for JDI video-mode display (this could be the reason why some people couldn't boot CAF ROMs)

    October 25, 2015:
    Kernel:
    *Reverted battery driver change (to fix random reboots)

    October 24, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Fixed T-Mobile Visual Voicemail
    *Added back WiFi firmware from the LG G3
    *Snapdragon Camera: Enabled antibanding (auto antibanding mode) for camcorder

    Kernel:
    *Fixed very loud static noise when using headset microphones
    *Fixed graphical artifacts when waking device from sleep for some users (it should definitely be fixed this time)
    *Fixed device requiring multiple power-button presses to wake from sleep for some users
    *Added battery driver from official CM12.1 kernel

    October 17, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Reduced CPU boost frequencies (better battery and less heating)
    *Increased earpiece speaker volume
    *Permitted installation with HydrogenOS firmware
    *Fixed WiFi-related random reboots affecting a small group of users
    *Potentially fixed mobile network not reconnecting after signal is lost for a long period of time
    *Camera: Removed ISO HJR option (it wasn't working)
    *Fixed GSM signal strength hack (you will no longer see 103% signal strength)

    Kernel:
    *Fixed static background noise heard when using a headset
    *Re-enabled ULPS for users with a Sharp panel
    *Added fix for graphical artifacts when waking device from sleep for some users
    *Fixed slow charging speed with some cables (charging speed should be the same as the CM kernel now)

    October 11, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Increased mobile signal strength
    *Fixed camera crashing in Bank of America app
    *Fixed manual ISO control for camera
    *Snapdragon Camera: Added option to control ISO
    *Snapdragon Camera: Added option to control shutter speed
    *Snapdragon Camera: Fixed aggressive auto rotation
    *Disabled Fluence (dual-microphone mode; this should fix the distortion insanity)

    Kernel:
    *Fixed graphical glitches for users with a Sharp panel
    *Fixed battery not charging with car chargers

    October 4, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes
    *Fixed call recording
    *Added upstream camcorder audio distortion fix (http://review.cyanogenmod.org/#/c/110690/)
    *Fixed inverted audio channels in camcorder
    *Fixed microphone distortion in phone calls from previous build
    *Snapdragon Camera: Exposure and white balance are now locked when using tap-to-focus
    *Snapdragon Camera: Added option to change the tap-to-focus duration
    *Switched back to CM's WiFi firmware and configuration

    Kernel:
    *Fixed headset buttons
    *Fixed Google Now getting automatically triggered when plugging in some headsets very quickly
    *Relaxed thermal thresholds for the battery (again)

    September 27, 2015:
    ROM:
    *Switched to new stable branch (YOG7D; this is equivalent to the nightlies as of September 22nd)
    *Latest upstream (stable/cm-12.1-YOG7D) CyanogenMod changes

    Kernel:
    *Relaxed thermal thresholds for the battery
    *Fixed slow-charge issue
    *Fixed long delay for audio to transfer when plugging in certain headphones (such as Apple EarPods)
    *Fixed music getting automatically paused when plugging in certain headphones (such as Apple EarPods)

    September 25, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Switched back to original microphone configuration for phone calls (it's the same as it was with the Sep. 14th build, but now the microphone is slightly louder to fix the low-volume issues)
    *Fixed broken volume control during phone calls

    September 23, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Reduced microphone sensitivity
    *Reduced earphone speaker volume
    *Reduced audible background noise when using microphone

    September 22, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Changed build keys to "release-keys" (maybe Android Pay will work?)
    *Reduced earpiece-speaker volume
    *Fixed low-volume microphone issues and distortion while Fluence is enabled (a.k.a. dual-microphone mode)
    *Increased microphone volume
    *Enabled Fluence for regular audio recordings
    *Reverted camcorder microphone changes from CM in July
    *Camera: Fixed incorrect exposure time reported in image details when slow-shutter is used
    *Snapdragon Camera: Fixed Zero Shutter Lag option randomly getting enabled
    *Reduced input-boost frequencies

    Kernel:
    *Reduced input-boost durations

    September 14, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Re-enabled fluence (dual-mic)

    Kernel:
    *Fixed device not entering deep sleep after unplugging from charger (this fixes the high Android OS battery drain from the previous build)
    *Added some fixes to the Interactive governor from the Nexus 5 CAF kernel

    September 13, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Removed built-in root (use SuperSU instead)
    *Changed build type from userdebug to user
    *Fixed flashlight not turning off and camera completely breaking when using the flashlight while Trusted Face is enabled
    *Removed modem "protection" (you can flash any modem you want now)
    *Fixed @dcoulombe's major crash
    *Updated part of the WiFi configuration from official CM12.1
    *Increased input-boost frequency for primary CPU core (improves performance)
    *Made Interactive governor scale up more aggressively (improves performance)
    *Snapdragon Camera: Fixed reversed flash icons for camcorder flash option

    Kernel:
    *Fixed slow charging speed
    *Removed ROW I/O scheduler
    *Reduced long delay for a headset to start working after plugging it in (headsets are detected 2x faster now)

    September 11, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Switched back to Lollipop modem (DI.3.0.c6-00241-M8974AAAAANAZM-1)
    *Reduced input boost frequencies slightly

    Kernel:
    *Fixed long delay in audio transfer when plugging in a regular pair of headphones (this only applies to regular headphones, not headsets)

    September 10, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Fixed flashing red borders
    *Completely disabled strict mode (this is what fixed the flashing red borders)
    *Switched to KitKat 44S modem (MPSS.DI.2.0.1.c7-00020-M8974AAAAANPZM-1)
    *Increased input boost frequencies
    *Updated GPS configuration from CM
    *Video HDR is always disabled for 4k DCI (our ISP can't handle this)
    *Switched back to WiFi (WCNSS) firmware from the LG G3
    *Switched back to full WiFi configuration from the LG G3
    *Snapdragon Camera: Added touch-to-focus for camcorder
    *Snapdragon Camera: Added option to change focus mode for camcorder
    *Snapdragon Camera: Disabled video HDR for 4k DCI (as stated above, our ISP can't handle this)

    Kernel:
    *Increased eMMC performance (via scheduling the MMC queue thread on idle CPUs)
    *Increased bus bandwidth for the ISP (image signal processor)
    *Increased clock rate of the ISP from 267MHz to 465MHz
    *Fixed camera crashes while using video HDR with 4k UHD

    September 6, 2015:
    ROM:
    *Latest upstream (stable/cm-12.1-YOG4P) CyanogenMod changes
    *Enabled low-latency audio output
    *Fixed camera crash while using video HDR
    *Tweaked CPU governor for better battery life and lower heat output
    *Snapdragon Camera: added updates from mikeNG (and a new icon from jrizzoli)
    *Snapdragon Camera: fixed high-speed recording with 480p
    *Snapdragon Camera: renamed many options for clarity
    *Fixed poor quality with front-facing camera

    Kernel:
    *Added many updates to the audio subsystem from he official CM12.1 kernel and Nexus 5 CAF
    *Added speaker and headphone configuration from official CM12.1 kernel (low speaker volume is fixed)
    *Fixed most audio jack detection issues (aka fixed volume going down to zero or going up to max when plugging in headphones)

    August 28, 2015:
    ROM:
    *Stable build based off of cm-12.1-YOG4P (you must perform a clean install to switch to stable builds; see the updated FAQ in the 3rd post and updated installation instructions in the OP for more details)

    August 24, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed exposure time getting set to 1/5000th of a second when trying to disable slow-shutter
    *Cleared ccache before building the ROM (maybe this will fix soft reboots?)

    August 23, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added support for slow shutter (ranging from 1/5000th of a second up to 2 seconds)
    *Removed encoder options from Snapdragon Camera

    Kernel:
    *Fixed CPU getting stuck at 1958MHz while device is asleep

    August 22, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Changed CPU governor to Interactive
    *Tweaked Interactive for better efficiency

    Kernel:
    *Removed Smartmax governor

    August 21, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed WiFi not automatically reconnecting for some users
    *Fixed camera stability issues caused by undefined behavior (this should fix the flashlight reboots)
    *Snapdragon Camera: fixed timelapse recording in 2.5k 1440p
    *Snapdragon Camera: fixed incorrect viewfinder size for 13.1MP resolution
    *Snapdragon Camera: fixed UI disappearing when trying to record video with invalid options (ex. trying to record HFR 120 video at 4k UHD resolution)

    August 17, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added back recent GPS change
    *Fixed overheating (thermal settings are more aggressive now)

    Kernel:
    *Fixed glitches when the display turns on

    August 16, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added 2.5k 1440p video recording for the front-facing camera (you must use Snapdragon Camera)
    *Added 2.5k 1440p video recording for the back camera (you must use Snapdragon Camera)
    *Added flashlight fixes from CAF
    *Updated part of the WiFi configuration from official CM12.1
    *Reverted recent GPS change

    Kernel:
    *Possibly fixed glitches when the display turns on

    August 14, 2015:
    ROM:
    *Latest upstream CyanogenMod changes

    Kernel:
    *Fixed overly-excessive and inconsistent thermal throttling
    *Thermal driver now polls temperature sensor located on the PMIC instead of from TSENS
    (thermal throttling is very accurate now, and it will throttle when the device actually feels hot)
    *Fixed display backlight staying on (credit: myfluxi)
    *Fixed unbalanced SPS IRQ enable (credit: myfluxi)

    August 12, 2015:
    ROM:
    *Latest upstream CyanogenMod changes

    Kernel:
    *Fixed random reboots caused by Smartmax

    August 11, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Disabled a/v streaming offload again (it was still breaking videos in browser)
    *Switched back to old WCNSS (WiFi) firmware images
    *Synced Snapdragon Camera with CAF
    *Fixed incorrect video duration for HFR (slow-motion) videos
    *Fixed touch-to-focus in HDR mode
    *Fixed low framerate when recording 720p video with the front-facing camera
    *Fixed manual focus
    *Removed power HAL (it wasn't really doing anything)
    *Fixed CPU max freq not sticking to 729MHz in low-power mode

    Kernel:
    *Reverted vidc drivers to CAF LA.BF.1.1.1.c3 (fixes random reboots)
    *Display turns on faster now
    *Fixed bugs in CPU input boost driver (CPU was not being boosted enough)
    *CPU is boosted on thread migration
    *CPU is boosted when waking the display and putting it to sleep
    *Fixed touchscreen not working in doze (and hopefully fixed gestures/DT2W not working sometimes)

    August 6, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed sensor calibration being reset on each boot
    *Forced triple framebuffering (UI feels smoother)

    August 5, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed compass (for real this time)
    *Fixed some bugs in Snapdragon Camera

    Kernel:
    *Updated WiFi drivers back to CAF LA.BF.1.1.1_rb1.26
    *Enabled regulatory feature for WiFi

    August 4, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed 720p HFR (slow-motion) and HSR (high-speed) video recording at 90FPS and 120FPS with all camera apps

    Kernel:
    *Updated WiFi drivers to CAF LA.BF.1.1.1.c3-04100-8x74.0

    August 3, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed 720p HFR (slow-motion) recording at 90FPS and 120FPS
    *Added support for HSR (high-speed with audio) recording up to 120FPS for 720p and 60FPS for 1080p
    *Added Snapdragon Camera app (only app that lets you record HSR videos)
    *Removed option to record 1080p at 90/120FPS (making this work would require modification of the proprietary camera libraries)
    *Fixed focus not working in HDR mode
    *Reverted WiFi config changes from previous build
    *Increased earpiece speaker volume
    *Removed FWVGA camcorder resolution
    *Re-enabled audio offload for a/v streaming
    *Relaxed thermal thresholds

    Kernel:
    *Fixed display not turning on for users with a Truly panel
    *Downgraded WiFi drivers to v3.8.20.5 (as these are what's used for the LG G3)

    July 28, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added 1080p video recording at 120 FPS
    *Added ability to record video at 90 FPS (for both 720p and 1080p as well)
    *Fixed broken video streaming in browsers (credit: myfluxi)
    *Updated WiFi configuration (attempting to fix low WiFi speeds)
    *Enabled audio offload for 12k and 24k sampling rates (credit: myfluxi)
    *Disabled thermal-engine (we will use my kernel-based thermal solution instead)
    *Enabled new kernel-based thermal mitigation

    Kernel:
    *Added homemade thermal driver (uses 3 throttling steps)
    *Added various I/O scheduler tweaks for CFQ and Deadline (thanks to myfluxi)
    *Fixed display not coming on for some users
    *Fixed DT2W not working sometimes

    July 25, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added support for 1080P video recording with the front-facing camera
    *Fixed framerate drop when taking picture while recording 4K video
    *Updated complete WiFi configuration from LG G3 (better WiFi performance and stability)
    *Updated WCNSS WiFi firmware from LG G3
    *Fixed 30-degree error in compass (derp)

    Kernel:
    *Added and changed default TCP congestion algorithm to Westwood
    *Added CD-ROM emulation support (FrozenCow)
    *Added NTFS support

    July 23, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed 4K video recording in all camera apps (such as Google Camera)
    *Fixed several bugs with Google Camera (such as broken photosphere and panorama functionality)
    *All firmware on the modem partition is now shipped with the ROM (so everyone will have the correct firmware and baseband no matter what)
    *Disabled fluence in phone calls (may have caused reduced mic volume during calls)
    *Synced GPS HAL with CAF LA.BF.1.1.1_rb1.26
    *Reverted WiFi config update from CM that broke all the things

    Kernel:
    *Added a bunch of sched patches (thanks to myfluxi for finding and testing these)

    July 19, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Added support for 4K video recording at UHD and DCI resolutions (only works with CameraNext and ColorOS camera)

    July 17, 2015:
    ROM:
    *Latest upstream CyanogenMod changes

    Kernel:
    *Fixed encryption (TWRP can now mount encrypted /data partitions)

    July 15, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Changed default I/O scheduler to Deadline

    Kernel:
    *Added upstream Linux patch to reduce Deadline's latency
    *Updated touchscreen suspend/resume routines to fix SoDs (again...)

    July 14, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed camcorder in some camera apps (e.g. CameraNext)

    July 13, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed WiFi hotspot (derp)
    *Added custom camera HAL made from CAF LA.BF.1.1.1.c3 with the following features:
    -More picture sizes (such as 9.7MP 16:9)
    -JPEG quality is always set to 100% (so pictures are not super compressed, and they are clear)

    Kernel:
    *Removed kexec hardboot support (breaks encryption)

    July 12, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Significant upstream change: compass is fixed
    *Reduced input boost frequencies
    *ROM is now compressed with LZMA (ROM zip is 50MB smaller as a result, and takes much less time to upload/download)
    *Updated Adreno graphics libraries from LG V400 (Adreno version tag: LA.BF.1.1.2_RB1-AU017-20150203)

    Kernel:
    *Synced with CAF LA.BF.1.1.1_rb1.26
    *Added kexec hardboot support
    *Added LCD KCAL by Savoca

    July 9, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Updated sensor configuration from OxygenOS
    *Added face unlock drawable fix (http://review.cyanogenmod.org/#/c/102703/)

    Kernel:
    *Fixed touchscreen not working sometimes when waking device from sleep (again)

    July 7, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Updated WPA supplicant overlay for Lollipop from Nexus 5
    *Added "Enable AIG and MBDRC for stereo recording path"
    *Fixed governor resetting to Interactive when changing perf mode back to balanced
    *Changed default devfreq governor from cpubw_hwmon to msm_cpufreq (fixes random reboots)

    Kernel:
    *Increased audit rate limit and backlog limit (fixes random reboots)

    July 4, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Synced audio HAL with CAF LA.BF.1.1.1_rb1.25
    *Synced display HAL with CAF LA.BF.1.1.1_rb1.25
    *Reduced time needed to optimize apps at boot
    *Enabled WiFi host NS offload
    *Added back vsync phase offsets
    *Changed default CPU governor to Smartmax

    Kernel:
    *Synced with CAF LA.BF.1.1.1_rb1.25
    *Synced prima (WiFi) drivers with CAF LA.BF.1.1.1_rb1.25
    *Added Smartmax governor by maxwen
    *Added LCD notify driver from LGE
    *Updated touchscreen power routines to be more stable and use LCD notifier
    *Fixed touchscreen not working sometimes when waking device from sleep
    *Fixed occasional SoD caused by derpy touchscreen resume/suspend routines (happened most often when on low-power mode)
    *Vibrator is automatically disabled when recording videos (so sound from the vibrator doesn't get into the videos)
    *Reconfigured JDI cmd-mode panel settings for 62Hz (as this is the true refresh rate of the panel)

    June 13, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Updated WiFi NVRAM config from LG G3
    *Fixed low speeds when connected to 5GHz WiFi networks

    Kernel:
    *Synced with CAF LA.BF.1.1.1_rb1.24

    June 9, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Battery percentage is shown during off-mode charging
    *Removed vsync phase offsets
    *Added back a RIL patch from CM

    Kernel:
    *Fixed front-facing camera (derp)
    *Fixed support for Sharp panels
    *Added CFQ I/O scheduler

    June 6, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed audio not playing out of speaker in some cases

    Kernel:
    *Added Qualcomm H/W crypto support (thanks to myfluxi for researching this and fixing issues with it)
    *Fixed touchscreen not working when waking device from sleep
    *Added back support for various different displays
    *Added Motorola memory-routine optimizations

    June 4, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Significant upstream change: DHCP WiFi issue has been fixed

    Kernel:
    *Fixed occasional long delay of the screen turning on when waking the device from sleep
    *Moved touchscreen suspend/resume functions into high-priority workqueue

    June 3, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Enabled OTA updates via built-in CMUpdater
    *You can update to this build from June 2 via OTA

    June 2, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Fixed force close when sending MMS

    Kernel:
    *Added back underclock down to 1958MHz by default (you can disable the underclock by flashing a zip available in the OP)
    *Added more protection to CPU input boost driver
    *Tweaked notification LED color a bit more

    May 30, 2015:
    ROM:
    *Latest upstream CyanogenMod changes

    Kernel:
    *Fixed pink tint in notification LED
    *Updated Synaptics touchscreen firmware from CM gerrit (new per-panel firmware, doesn't have battery drain)

    May 29, 2015:
    ROM:
    *Latest upstream CyanogenMod changes
    *Synced media HAL with CAF LA.BF.1.1.1_rb1.23
    *Synced display HAL with CAF LA.BF.1.1.1_rb1.23
    *Updated WCNSS (WiFi) configuration from CM
    *Removed Qualcomm power HAL (does nothing without the performance daemon)
    *Added custom power HAL to handle low-power mode (CPU max frequency is lowered to 729MHz for low-power mode)
    *Fixed performance profiles

    Kernel:
    *Synced with CAF LA.BF.1.1.1_rb1.23
    *Added back CPU frequencies up to 2457MHz
    *Removed CPU underclock (CPU maxfreq is left at the default 2457MHz)
    *Synced prima (WiFi) drivers with CAF LA.BF.1.1.1_rb1.23

    May 28, 2015:
    ROM:
    *Initial release

    Kernel:
    *Initial release
    183
    FAQ:

    1. What is the difference between the stable and nightly builds?
    Answer: My ROM builds are based off of the stable CM12.1 code branches, whereas the official CM12.1 nightly builds are based off of the nightly CM12.1 code branch. Stable builds provide much better stability than nightly builds, but they don't receive updates as often as the nightly builds. Stable builds are separate from the nightly builds; you cannot install a stable build on top of a nightly build. The stable builds are the same as the SNAPSHOT builds on CM's website.

    2. Could you add camera slow-shutter times greater than 2 seconds?
    Answer: No, I cannot. The reason why exposure times are capped at 2 seconds is due to the proprietary camera libraries from OxygenOS. Only OnePlus and Cyanogen Inc. can modify the proprietary camera libraries, so there is no way for me, a regular consumer, to implement exposure times greater than 2 seconds.

    3. Why did you use OxygenOS camera libraries? They don't have 4K camcorder support!
    Answer: My custom camera HAL enables 4K camcorder support with Oxygen's camera libraries, so this isn't an issue. Cyanogen's camera libraries have had some issues with the camcorder since day 1. The big issue that I have been able to reproduce on all OnePlus One devices I've come across is graphical artifacts in recorded videos (look towards the right @25 seconds): https://youtu.be/LyIbb5wIyfY?t=22s
    (issue report on JIRA: https://jira.cyanogenmod.org/browse/BACON-3582)
    OxygenOS' camera libraries do not have this issue, and thanks to my modifications, we now have 4K camcorder support with the OxygenOS libraries, so not much is lost by using them. The OxygenOS libraries can also take pictures faster/better than Cyanogen's libraries.

    4. Why did you underclock the CPU to 1958MHz? Yer crazy, bro.
    Answer: At 1958MHz, the amount of heat generated by the CPU is quite a bit less than at 2457MHz, so the CPU is throttled less often (leading to better user experience), and battery life is better as well. The performance difference between 1958MHz and 2457MHz is also not really noticeable unless you use a benchmark application. If you want to remove the CPU underclock then flash the zip from the first post that disables the underclock. You must flash this zip every time you install a new ROM update.
    71
    @Sultanxda how much longer do you see yourself supporting the OPO? Are you planning on getting a OPT or either of the new Nexus devices?

    I hate Nexus devices, and I just spent 4 months reprogramming my OPO to make it work, so why would I ditch it and waste all the time I spent working on the OPO?

    My OPO works fine, and as long as it works I won't get a new phone for maybe another 1.5 years. No reason to burn money and time for a new device.
    70
    New stable build uploaded. This build is different from the builds I've provided thus far. The build is based off of the stable/cm-12.1-YOG4P branch of CM12.1, and it is basically my equivalent of COS12.1 (it is not actually COS12.1). It's a bummer, but you must perform a clean install to switch to the stable builds. I'll try and maintain the stable builds separately from the regular nightly builds I've been providing so far, so the stable builds will receive separate OTA updates from me and such. Updates will be released much less frequently for the stable version, as it's meant to be just that: a stable version. If you're the kind of person who would use COS12.1 then you may be interested in switching to the stable version. Personally, the soft reboots were killing me, so I'm currently using the stable version.

    There is more detailed information on the stable version in the FAQ, and there are updated installation instructions in the OP as well.

    Let's see how this goes :silly: