[TW/CM][Emotion Kernel r26][SM-N910F-G][9-SEP-2016][6.0.1]Emotroid Team

Search This thread

Pafcholini

Senior Member
Sep 1, 2012
1,993
6,152
0
Barcelona
plus.google.com
cvv7163z9741cqszg.jpg


- Emotion nightly Kernel Note 4 -
-SM-N910F SM-N910G -​


Developed by Placiano and Pafcholini


More stable, more performance, more of everything!



Introduction
Introducing the Emotion Revolution Roms & Kernels for Android Devices.
Emotion Rom/Kernel is a modified, aftermarket firmware/Kernel distribution few Android devices (Note 2, Note 4, HTC M7, Newman N2). Based on the Android Open Source Project , Emotion Rom & Kernel is intended to increase performance and stability over Android-based Devices released by sellers, for example, Samsung, HTC and so forth. Emotroid additionally offers a mixed bag of features & improvements that are not presently found in stock variants of Android.


*** Disclamer***
Your warranty is now void.
We are not responsible for any damage or problems you may have!
YOU are choosing to make these modifications.


Thread IndeX

POST 1: Kernel Information, Changelog, Credits,Screenshots
POST 2: Synapse, Recommended settings, FAQ, etc.
POST 3: Know/Reported issues
Request new features here



Features:

  • Kernel compatible with SM-N910F SM-N910G
  • Based on Samsung Open Source Code
  • Kernel compatible with TW and CM
  • Compiled with Toolchain Linaro GCC 5.1.2 Stable
  • Linux version 3.10.40
  • GPU OC/UC -> 800MHz / 166MHz
  • PowerSuspend Driver
  • KSM enabled
  • Wake Gestures (DT2W, DT2S, S2W, S2S)
  • Adreno idler Algorithm
  • Simple GPU Algorithm
  • Voltage Control
  • KCAL - Advanced color control
  • Led Control / Fading
  • CRC Settings
  • Advanced TCP control
  • Selinux Permissive
  • CIFS Support
  • NTFS Support
  • LZ4 compression algorithm
  • Reduced wakelocks
  • Kernel Adiutor
  • Governors: Barry-Allen, interactive_pro, intelliactive, bluactive, conservativex, alucard,darkness, nightmare, smartassV2, ondemandplus, umbrella_core, yankactive, dancedance, bioshock, lionhearth, conservative, interactive, ondemand,powersave, userspace, performance, impulse, zzmoove
  • I/O Scheldures: bfq, vr, fiops, zen, fifo, sio, test-ioshed, cfq, row, deadline, noop



LZ4 compression algorithm
46plafl6ebhrx0wzg.jpg

LZ4 is a lossless data compression algorithm that is focused on compression and decompression speed.
The algorithm gives a slightly worse compression ratio than algorithms like gzip. However, compression speeds are several times faster than gzip while decompression speeds can be significantly faster than LZO.

The LZ4 algorithm represents the data as a series of sequences. Each sequence begins with a one byte token that is broken into two 4 bit fields. The first field represents the number of literal bytes that are to be copied to the output. The second field represents the number of bytes to copy from the already decoded output buffer (with 0 representing the minimum match length of 4 bytes). A value of 15 in either of the bitfields indicates that the length is larger and there is an extra byte of data that is to be added to the length. A value of 255 in these extra bytes indicates that yet another byte to be added. Hence arbitrary lengths are represented by a series of extra bytes containing the value 255. The string of literals comes after the token and any extra bytes needed to indicate string length. This is followed by an offset that indicates how far back in the output buffer to begin copying. The extra bytes (if any) of the match-length come at the end of the sequence.

Compression can be carried out in a stream or in blocks. Higher compression ratios can be achieved by investing more effort in finding the best matches. This results in both a smaller file and a faster decompression.



h7b9963afgld22lzg.jpg

Sep- 9 -2016 r26
-Fixed semi-bootloops

Sep- 9 -2016 r25.1
-Fixed CVE-2016-2504

Sep- 8 -2016 r25
-Thermal improvements
-More fixes


June- 24 -2016 beta r25 rc7
-Fixed wifi issues for G variant and probably P,T and W
-Fixed GPU freq
-Fixed root issue
-Updated the topology masks before calling CPU_STARTING notifiers

June- 24 -2016 beta r25
-Initial Marhsmallow release
-all the features from LP

January- 1 -2016 nightly r23
-Kernel reworked
-Kernel works for F, G, P, T and probably W8 variants. (Note 4 and Note edge)
-Linux 3.10.94
-Based on DOK2 source code
-No more Synapse support, we moved to Kernel Adiutor (KA)
-Interactive governor improved
-mdss updates
-timer fixes
-Added touchboost (thanks to franco for the code) for Interactive (probably we'll add it for more governors)
-Fixed mpdecision issue (mpdecision has to keep 2 cores online always)
-Selinux updates
-Enabled pstore/ramoops dump for kernel panics (/sys/fs/pstore/console-ramoops)
-Added f2fs support (You need a recovery that support full f2fs)
-Net updates
-Ram managment improved
-Sched updates
-and a lot of CAF patches,etc.
-Checkout our github for more information


September- 23 -2015 nightly r21
-Linux 3.10.89
-Enabled HMP (Only for CM kernel)
-dt2w: prevent touches during phone calls
-Fixed fast charger
-Probably fixed random reboots while charging (need more feedbacks)
-Zzmoove back to beta7 (looks the best for the Note 4)
-Makefile: added optimizations
-Kcal updates and fixex (thanks to fflokes)
-Fixed some thermal issues
-Added option to disable ipv6 (seems to cause wake ups while wifi is connected,just for some routers)
-Another small changes and fixes, check out our github

September- 6 -2015 nightly r20
-Kernel based on COG5 (Android 5.1.1)
-Kernel 5.1.1 compatible with SM-N910F, SM-N910P and SM-N910T
-Compiled with Christopher83 Toolchain Linaro GCC 4.9.4 Cortex A15
-Kernel rebased from beginning and revised all the changes
-Cleaned unnecessary code and patches
-All the features from r19 are present
-Reverted UKSM (Caused some memory issue)
-Reverted Wifi PM (Caused issues)
-Swap set to stock (1280mb)
-Small fixes, etc.


August- 24 -2015 nightly r19
-Linux 3.10.87
-Kernel compatible with CM
-Makefile optimizations
-Wake Gestures:
"Double tap 2 wake
Double tap 2 sleep ( Control to allowed the width and height)
Sweep 2 wake
Sweep 2 sleep
Wake Gestures
Vibration Strength
Wake timeout"
-Wifi Calling fixed (T-Mobile variant)
-Proximity sensor during calls fixed (Sprint variant)
-LZ4 patches
-workqueue improvements and fixes
-Introduced new flag WQ_POWER_EFFICIENT for power oriented workqueues
-ext4 improvements and fixes
-PM QoS: Add GPU frequency limits to PM QoS and another patches
-Added UKSM
-mm/rmap made rmap_walk to get the rmap_walk_control argument
-cpufreq: Disable light-weight init/teardown during suspend/resume
-Added MSM Hotplug driver (neobuddy89)
-Added Bricked Hotplug Driver
-Intelli-plug updated (neobuddy89)
-cpu-boost: Several optimizations
-Added Sioplus & tripndroid
-msm: mdss fixes and patches
-mach-msm: DEFAULT_REDUCTION_PERCENTAGE to 65
-Added option to change the SELinux status
-cpufreq: added darnkess, nightmare and pegasusq governor updated the newer cpufreq driver to support "older" governors credits for the 3 -governors: Alucard24
-bcmdhd4358: WIFI PM support for KitKat driver [halaszk]
-bcmdhd: reduce rx wakelock timeout via sysfs node
-qcom: Update clock vote for improved performance
-Reworked voltage tables to reduce overload
-qcom:apq8084: reduced the maximum current for each frequency
-arm/dt: 8084: Drop retention voltages/Drop min allowable voltage (Thanks to XileForce)
-Reduced lower constraint for GPU (Flar2)
-frandom updates
-Synapse: changes, fixes, new tabs, etc. (thanks to UpInTheAir for some nice codes)
-For more info and changes check out our GITHUB

Jule- 28 -2015 nightly r18
-Linux 3.10.84
-Compiled with UBERTC Toolchain 5.2
-Source and ramfs updated to POF2
-Speed up console framebuffer imageblit function
-Fixed ZeroLemon Fuel Gauge (Thanks to TheLoneWolf20)
-Reverted some commits from r17
-Fix stuck CPU frequencies (Thanks to gekkehenkie11)
-qseecom: updates
-msm_hsic_host: reduce wakelock
-Crypto: updates and fixes
-dm: updates and fixes
-Added PFT (Per-File-Encryption)
-inr_sqrt: improved 3x faster integer sqrt and correction square root algo with naming
-mhi: fixed building of mhi driver
-Reverted Kali NetHunter (For now)
-Interactive: updates
-Added impulse governor and changed part of the code by neobuddy89
-Added zzmoove governor
-Added lcd_notify
-Sweep2wake: added s2s_only and sweep from left to right
-Row I/O: added magic values by Franco
-Synapse: updates, fixes and added Adreno idler
-For more info and changes check out our github

June- 28 -2015 nightly r17
-Linux 3.10.81
-Kernel compiled with Linaro Toolchain 5.1
-Added adreno idler algorithm by Arter97
-Sweep2wake works (Now we have sweep2wake and sweep2sleep)
-Hardlimit 2.2 Emotion Edition for Note 4 (Cleaned to be pure hardlimit)
-Google play services wakelock fixed
-bluesleep: reduced wakelock
-pinctrl: msm: Enabled irqs on resume
-wireless: dhd: Enable standby ARP and multicast packet filters
-Allow untrusted apps to read from debugfs
-input: keyboard: qpnp-keypad: register private data in SPMI dev
-mhi: core: Fix double increment on event counter and removed useless atomic variables
-Swap up to 1.5GB
-Add some tweaks for performance from LSpeed Mod
-net: wireless: bcmdhd4358: Fixed failure to enter PS
-frandom: Dynamically allocate the char device numbers and clear up checkpatch conflicts
-msm: mdss: update and fixes from codeaurora patches
-binder: Quiet Binder and Ratelimit binder debug messages
-ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+
-block: BFQ updated to V7r8 for 3.10.X
-USB: android: Fix memory leak in mass_storage_function_init()
-cpuidle: updates and fixes from Linaro patches
-Fast charge adapted and fixed for Note 4 (Thanks to yank555.lu and ktoonsez for the initial code)
-cpufreq: Prevent mpdecision changing scaling freq
-qcom-cpufreq: updates and fixes
-Barry Allen updated to 1.0
-PM: devfreq: Fix show available freqs
-msm:kgsl: fixes
-msm: vidc: updates and fixes from codeaurora patches
-Added msm zen decision (replacement for MPDecision)
-force -Os -std=gnu89 and don't use GCC wrapper for GCC 5.1+
-Makefile: Additional Optimizations
-gpio_keys: force sync on KEY_POWER, KEY_HOME press (This should help in situations when the device or the OS is stalled but the kernel is alive and running.)
-arm: added arm optimized memcmp and Krait optimized strcmp
-readahead: make context readahead more conservative
-dtsi: fixed 268MHz frequency
-mm: zswap: fixes
-Synapse: clean up and fixes
-For more details check out our source code

June- 2 -2015 nightly r16
-Linux updated to 3.10.79
-Added LED Control/fading available in Synapse (Thanks to @UpInTheAir and halaszk)
-SM-N910F kernel is compatible with SM-N910G variant (BOE1+ firmware)
-SM-N915P (Note edge sprint variant) compatible
-Fix screen brightness issues: workaround for KK bootloaders not reporting the panel name (SM-N910V kernel)
-arm: vfpmodule: Fixed warning procfs vfp_bounce reporting failed
-dts: msm: disabled support of 50MHz for i2c for apq8084
-GPU Overclock and Underclock to 800MHz/166MHz
-GPU reduced frequency on boot from 300MHz to 266MHz
-msm: kgsl: show current power level
-suspend: Return error when pending wakeup source is found
-Barry Allen governor updated to 0.7
-mmc: sdhci-msm: Added Samsung 64G search after tune quirk
-Compile with -O3 flag
-KCAL updated (Fixed some issues)
-kernel/smp.c: fixed memory leak
-Default to NOATIME and NODIRATIME for FS performance improvement
-Optimized copy_page for modern ARM platforms
-cpufreq: Added stop CPU callback to cpufreq_driver interface
-PM: Introduce suspend state PM_SUSPEND_FREEZE
-PM / suspend: Make cpuidle work in the "freeze" state
-power: Adds functionality to log the last suspend abort reason
-ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state
-power: catch wake-up requests in suspend_again
-PM / sleep: fix freeze_ops NULL pointer dereferences
-dm-req-crypt: Free resources in destructor
-qce50: Update clock vote for improved performance
-Optimized kernel size
-scheduler: update to BFQ-v7r7 for 3.10.8+
-Interactive: changed CPUFREQ_RELATION_C to CPUFREQ_RELATION_L
-DEFAULT_GO_HISPEED_LOAD to 90
-DEFAULT_TARGET_LOAD to 90
-DEFAULT_MIN_SAMPLE_TIME to 40
-suspend: Return error when pending wakeup source is found
-msm: kgsl: Add check to protect against operating on NULL pointer
-msm: kgsl: Avoid a possible NULL reference in kgsl_ioctl_helper
-futex: Add another early deadlock detection check
-Synapse added in the zip

May- 18 -2015 nightly r15
-Linux updated to 3.10.78
-Added compatibility to SM-N915-F-G-T (Note Edge)
-Added SWAP to 1.4gb
-Added support to Kali NetHunter (Thanks to FutureBSD and thehacker911)
-cpufreq: Added if cpu is online check in show
-cpufreq: Protect against hotplug in cpufreq_register_driver()
-cpufreq: Fixed timer/workqueue corruption by protecting reading governor_enabled
-Revert "cpufreq: make the "scaling_cur_freq" sysfs entry pollable"
-cpufreq: Use correct locking for cpufreq_cpu_data
-cpufreq: Return directly in __cpufreq_get if policy is NULL
-cpufreq: governor: Be friendly towards latency-sensitive bursty workloads
-cpufreq: governor: removed copy_prev_load from 'struct cpu_dbs_common_info'
-cpufreq: removed race while accessing cur_policy
-DriveDroid support (DEFAULT, MTP, PTP, UMS)
-Increased swappiness from 60 to 70
-Improved performance
-NTFS fixed
-Updated Ramfs to BOD2
-Added USB mode in Synapse
-Profiles updated in Synapse
-Fixed gamma and lmk profiles
-Added stock profile in Synapse
-Another minor changes and fixes

May- 11 -2015 nightly r14
-Linux updated to 3.10.77
-Selinux back to full permissive (Fixed gear vr compatibility, etc.)
-WIFI optimized (Thanks to @javilonas)
-Fixed T-Mobile Synapse compatibility
-Crypto: Updated to armv7-a Neon
-Busybox updated to 1.23.2 to fix some issues with Synapse
-Fixed all known bugs from r12+1
-Fixed some minor bugs in the ramfs
-Another minor fixes

May- 8 -2015 nightly r13
-Linux updated to 3.10.76
-Kernel compatible with SM-N910T
-Reverted "power: make sync on suspend optional"
-KCAL updated
-The kernel boot on Selinux enforcing but you can change the status from Synapse
-qcom-cpufreq: Removed save/restore of scheduling policy
-cpufreq_interactive: updated again from Shamu source
-cpufreq: stats: Don't update cpufreq_stats_table if it's NULL
-cpufreq: Break out early when frequency equals target_freq
-msm: lpm-levels: add suspend_again handler
-msm: Fix high load average from uninterruptible waits
-qcom: mpm-of: fix bug in finding the pending interrupts
-Added new governor Barry-Allen by Javilonas
-CIFS and NTFS built in the kernel
-Ramfs optimized (New tweaks,etc. thanks to Javilonas for some scripts)
-Synapse support KCAL control
-Added profiles in Synapse
-Added profiles for LMK in Synapse
-Added global voltage control in Synapse
-Change Selinux status from Synapse>MISC
-Fixed some bugs in Synapse


April- 23 -2015 nightly r12
-Kernel compatible with SM-N910F SM-N910G SM-N910P SM-N910V
-Based on BOC3
-Linux updated to 3.10.75
-Fixed random reboots for some users
-Added crypto optimized SHA-256/224
-percpu: implemented generic percpu refcounting
-mm: disabled zone_reclaim_mode by default
-mm: reordered can_do_mlock to fix audit denial
-Enabled Zram with lz4 compression by default (Synapse>Kernel Tweaks)

April- 18 -2015 nightly r11
-binfmt_elf.c: use get_random_int() to fix entropy depleting
-Reverted "sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire" (Thanks to andip71 to report the lag)
-arm/kernel/irq.c: removed irq affinity warnings
-Restored CPU frequency during resume
-Silenced some annoying last_kmsg
-futexes: Increase hash table size for better performance
-Improved/fixed some typos in the ramfs
April- 15 -2015 nightly r10
-Compiled with Linaro GCC 4.9 2015.03 Cortex A15
-Linux updated from 3.10.40 to 3.10.74
-Compression changed to LZ4
-Power: made sync on suspend optional

April- 12 -2015 nightly r9
-Back to Linux 3.10.40 (For now, we are working to bring stable 3.10.73)
-Added Intelli-thermal v3.0
-bcmdhd4358: filter multicast packages while suspended
-fs/namei.c: fix potential memory leak in path_lookupat
-pinctrl: msm: fixed potential NULL pointer dereference
-usb: ks_bridge: by default debugging is disabled
-slub: fix kmem_cache_shrink return value
-mm: slub: fixed format mismatches in slab_err() callers
-power:Enable/Disable power collapse after camera open
-Implemented CPU Core Control by andip71
-tick: don't update idle time if cpu offline
-msm: kgsl: Only wake GPU on multitouch events
-Interactive: don't boost cpu if already boosted
-rtc: qpnp-rtc: Sets RTC time correctly
-rtc: qpnp-rtc: Set alarm control register properly
-Added Mobile Storage Analyzer
-soc: mbhc: Fix ID Tech card reader detection
-power: catch wake-up requests in suspend_again
-pinctrl: msm: prevent bogus wake up from suspend
-asoc: wcd9xxx: Improved headset detection
-Implemented Motorola MSM memcpy enhancements "memutils" (Faster memcpy performance for Krait)
-Improved Memutils
-Added CIFS as module
-Adde NTFS as module
-ASoC: msm: qdp6v2: handle proxy read failure
-ASoC: msm: qdsp6v2: Fix timestamp query during gapless transition
-mmc: core: Update PON (Power Off Notification) based on the system state
-mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
-netfilter: IDLETIMER: fix invalid deference of timer
-Fixes and improvements in Synapse
-Added CPU Binning (pvs information) Synapse> CPU VOLTAGE
-Added CPU core control in Synapse> CPU DRIVERS
-For more info check our Github

March- 27 -2015 nightly r8
-Linux update to 3.10.71
-Powesuspend updated to 1.7
-Intelli-plug updated to 4.0
-OC/UC -> 3072MHz / 268MHz
-Added Hardlimit Control
-Added new governors
-Addeded new scheldures
-Added memcopy & string use glibc version
-Added quickwakeup driver (improve battery life)
-Optimized Kernel Samepage Merging (KSM)
-deadline: Optimized for non-rotational
-mm: Clear page active before releasing pages
-ARM: 8119/1: crypto: sha1: add ARM NEON implementation
-ARM: 8120/1: crypto: sha512: add ARM NEON implementation
-ARM: crypto: add NEON accelerated XOR implementation
-ARM: add support for kernel mode NEON and only allow kernel mode neon with AEABI
-Fixed failure to enter PS mode while roaming
-Sched: Set MC (multi-core) sched domain's busy_factor attribute to 1
-Disabled add_random for more performance on SSD's
-tcp: enabled tcp fast open functionality (franciscofranco)
-For more info check our Github

March- 5 -2015 nightly r7
-Added KCAL - Advanced color control (Thanks to @savoca for his great job) check this thread for more info

March- 3 -2015 nightly r6
-Based on XXU1ANK4 (KitKat version) and compatible with "F,G,T,V,W8"
-Based on XXU1BOB4 (Lollipop version) and compatible with "F"
-Lollipop version has all the features except mdnie control and S-View hack
-Kernel compiled with Linaro Toolchain 4.9.3 2015-02
-FauxSound updated to 3.6
-Fixed some issues in FauxSound and Synapse
-cpufreq: Introduced new relation for freq selection Introduce CPUFREQ_RELATION_C
-Interactive Governor: Use CPUFREQ_RELATION_C
-Added Gentle fair sleepers (Synapse -> KERNEL TWEAKS)
-Enabled Kernel SamePage Merging (KSM) (Synapse -> KSM)
-Added key disabler (Synapse-> SCREEN/MISC)
-Added userspace vibration strength control (Synapse-> SCREEN/MISC)
-Changed some stuff in Synapse
-Reverted some commits
-Another minor changes

January- 27 -2015 nightly beta r5
-FauxSound implemented
-FauxSound in Synapse
-Added high performance mode in Synapse->Sound
-Fixed battery drain on wifi (My fault)
-Reverted another commits

January- 16 -2015 nightly r4
-Fixed cpu voltage control (No more 0MHz frequency in cpu voltage table)
-ASoC: wcd9xxx: use hwdep node for codec calibration
-ASoC: wcd9320: use hwdep nodes to get calibration
-ASoC: wcd9xxx: Changes for High performance mode
-ASoC: wcd9xxx: Change PA on and VDDIO switch sequence
-ASoC: wcd9xxx: Avoid micbias glitches during audio playback
-In conclusion better quality sound on headsets
-Sched/fair: reduced latency
-Decreased DHD_PACKET_TIMEOUT_MS to 250 ms (Before 500ms)
-Drecreased time to enter sleep
-Net: wireless: Increased scan entry expiration to fit new scan time
-PM: devfreq: Use high priority workqueue
-Msm: kgsl: Report correct GPU frequency in sysfs
-Some minor changes

January- 11 -2015 nightly r3
-Added Frandom as module and set by default (Synapse>I/O>Frandom) "For more info check this"
-Network speed tweak
-Reduced wakelocks "wlan_rx_wake" and "wlan_ctrl_wake"
-dtsi: realigned voltages with userspace values (Thanks to twistedumbrella)
-cpu-boost more performance (Thanks to franciscofranco)
-sched: LOAD_FREQ (4*HZ+61) "For more info check this"
-Interactive governor imported from the Nexus 6 (No more lag on interactive)
-Added bluactive and interactive_pro governors
-Reverted some changes that made the kernel laggy in some cases.
-Selinux set to permissive by default
-Gpu: msm: for higher priority you want to use nice level of -7
-Now you can change the governor tunables from Synapse (Issue fixed) (Thanks for the tip to AndreiLux)
-Synapse shows all the available gpu governors (Thanks to my friend Friedrich!)
-Cleaned some things in Synapse
-Other minor changes

January- 4 -2015 nightly r2
-Fixed Ondemand governor
-mm: slub: Default slub_max_order to 0 (Improved performance)
-Increased io performance
-writeback: fix occasional slow sync
-Fixed min frequency (Finally!)
-msm: Fix high load average from uninterruptible waits
-Cpu boost sysfs to enable/disable it (Synapse>cpu drivers)
-S-View hack (Twistedumbrella) enable/disable (Synapse>miscellaneous)
-Minor fixes

January- 1 -2015 nightly r1
-Based on Samsung Open Source N910FXXU1ANIE
-Compiled with Toolchain Linaro GCC 4.9.3 2014.12 Cortex A15
-PowerSuspend Driver
-Intelli-Plug V3.9
-Stereo Call Recording Support
-cpufreq_limit: don't override cpu min frequency
-Fast Charge V1.2
-Sweep2wake
-Simple GPU Algorithm
-Sysfs interface to Enable/Disable Logger Android (Default disable)
-Voltage Control
-Intelli-Thermal V1
-mDNIe Hijack control
-Advanced TCP control (westwood default)
-Sysfs interface to Enable/Disable CRC
-Dynamic Fsync Control V1.5
-Added Intelliactive, Smartmax and SmartassV2 governors
-Led Control
-Panel Color Control
-mDnie mode adapter for Synapse
-Selinux Enforcing/Permissive
-Synapse Support


Installation instructions

You need to have TWPR, CWM o Philz Recovery.

  • Download the last kernel
  • Reboot in recovery mode
  • Make backup (recommended)
  • Flash the zip

Don't be shy / lazy leave your feedback!

Downloads

Strictly No Mirrors Please. In the event that you need to make one ask us first with purpose behind what valid reason.

Current Version

Emotion TW Kernel SM-N910F/G Downloads
Emotion CM Kernel SM-N910F/G Downloads

As you can see there are 2 version for every variant. 1 variant it's for Zerolemon batteries and the another for stock batteries.

Source code:
Emotion kernel Github


Wake Gestures:


Thanks To/Credits
Thanks to @hsbadr for contribute on the SM-N910V source code

Andip71, AndreiLux, apb_axel, Arter97, Civato, Christopher83, Codeaurora, DerTeufel, Faux123, Ffolkes, Flar2, Franciscofranco, Franlov, Friedrich420, Gokhanmoral, Imoseyon, Infernum, Javilonas, ktoonsez, Linaro, LoungeKatt (TwistedUmbrella), myfluxi, neobuddy89, savoca, UpInTheAir, Yank555.lu, ZaneZam.
Testers: @myaslioglu @Jdidtht @aloom @moe67er @anthony92170 @ronnie498 @blacklabel2020 @ravenseb @TheGrandFinale2001 @coolfire @monleylord @_Sofos_ @Rsroms @masterchif92 @piretia @nymikey @vanito @Teknodad1974 @JoeBear1975 and @Flashvetrin (R.I.P.)
And all users that support the thread and the kernel!
I hope I have not forgotten anyone!



Hit the "thanks" button if you like our work.

You can follow new updates here (Spanish)

k156dgba1d0qvmyzg.jpg


XDA:DevDB Information
Emotion Kernel, Kernel for the Samsung Galaxy Note 4

Contributors
Pafcholini, aukhan, placiano
Source Code: https://github.com/Pafcholini/emotion_kernel_note4_mm

Kernel Special Features:

Version Information
Status: Nightly
Current Stable Version: Emotion nightly r25.
Stable Release Date: 2016-09-09

Created 2015-01-01
Last Updated 2016-09-09
 
Last edited:

Pafcholini

Senior Member
Sep 1, 2012
1,993
6,152
0
Barcelona
plus.google.com
Recommended settings & FAQ

Synapse Profiles

  • Go to Synapse
  • Profile
  • Choice the profile that you want
  • Apply it
  • Then Reset Selected Profile
  • Synapse will get FC (Don't worry)
  • Just reboot your device. DONE


How to backup profiles

Synapse and all available options:

- LIVE STATISTICS: Time in states, Uptime,etc.
- CPU - GOV: cpu scaling, cpu governor and governor tunables.
- CPU voltage: separate frequency voltage.
- GPU: GPU scaling min/max frequency, GPU governor, Simple GPU Algorithm.
- I/O: schedulers, internal storage read-ahead, externalSD read-ahead, Frandom Module, Scheldure Tunables Internal/External
- CPU DRIVERS: PowerSuspend and Intelli-Plug
- THERMAL: Intelli-Thermal Control
- MISCELLANEOUS: Dynamic FSYNC Driver, Logger Mode, CRC Settings, S-View bypass, Selinux Status, Optimize Database.
- BATTERY: Live Statistics and Fast Charge
- MDNIE/SCREEN: Panel Control, mDNIe Mode and mDNIe Mode Hijack
- LED: Led Control
- SCREEN WAKE CONTROL: Sweep2Wake Control
- KERNEL TWEAKS: low memory killer, kernel entropy, panic and panic on oops.
- NETWORK: tcp congestion control, hardering the TCP/IP stack to SYN attack,ignore pings,etc.
- VM-FS: dirty radio, swappiness,etc.
- BUILD.PROP: Build.prop Tweaks
- LOGS: Clearn Synapse, Logcat and Dmseg
- INFO-REBOOT: info about the kernel, reboots,etc.


Balance between performance and battery
Above is what I use personally. MAY NOT be optimal for all. Share your settings.

CPU frequency: 2649MHz/268MHz
Hardlimit Max Screen ON: 2649MHz
CPU governor: Interactive or Umbrella_core
CPU voltage: -25mV
GPU: msm_adreno or simple_ondemand
I/O schedulers: row or zen
I/O Readahead: 1024 for both
PowerSuspend: DisplayPanel_hook
KSM: disabled
MPDECISION: enabled
Intelli-Thermal: enabled
MISCELLANEOUS: fsync enabled, logger mode disabled, crc disabled
TCP: westwood

Performance configuration

CPU frequency: 2918MHz/268MHz
Hardlimit Max Screen ON: 2918MHz
CPU governor: Interactive_pro or Bluactive
CPU voltage: ----
GPU: performance or simple_ondemand
I/O schedulers: deadline
I/O Readahead: 1024 for both
PowerSuspend: DisplayPanel_hook
KSM: enabled
MPDECISION: enabled
Intelli-Thermal: enabled
MISCELLANEOUS: fsync enabled, logger mode disabled, crc disabled
TCP: westwood



Aukhan recommended settings

F.A.Q

Can I flash this kernel on Note 4 SM-N910C or other variant?
No, you can not. This kernel is only for SM-N910F, SM-N910G, SM-N910P and SM-N910V.

When I switch to Ondemand governor I noticed that cpu-boost is disabled.
Exactly, Ondemand and cpu-boost doesn't work well together. When you switch to Ondemand governor cpu-boost will be disabled automatically. Don't re-enable cpu-boost if you are using Ondemand governor. (Synapse>CPU DRIVERS)

Which app can control this kernel?
By default, the kernel is controlled by Synapse, but you can use the app that you like (Trickster Mod, Kernel Tweaker, etc.).

I flashed the kernel and Synapse says: "No support UCI detected".
Reflash the kernel, since it was a bad installation and Synapse does not detect the scripts.

After flashing the kernel lost root what to do?
In case you loose root just flash SuperSU

Any recommended settings to follow using Synapse?
At the beginning of the second post.

After flash the kernel some apks give me FC.
Go to Google Play Store and reinstall those apks.

From where can I remove int.d script?
Go to /system/etc/init.d using any root based file manager and delete.
Note: There is an important one related to superSU and if you remove it by mistake you're gonna have trouble with root permissions.

My device doesn't show any reaction to undervolting (battery life is same as before) or gets unstable even on light undervolting?
Use DVFS disabler Module(standalone) (dynamic voltage and frequency scaling), this feature was kept in touchwiz for benchmark boosting purposes and will conflict with any undervolting and custom governors because it scales the voltages and frequency on regular intervals and is framework integrated, so gets a higher priority than kernel based voltage and scaling controls.
For people who don't know what is DVFS please refer Wikipedia.

Min/Max frequency don't stick?
If your frequency settings don’t stick, it's because on certain Qualcomm devices, there are certain system services (thermald/mpdecision/project butter) or kernel service that rewrite frequency settings based on current thermal status and/or touch input.

I made a logcat but my file is empty. How I can "fix" it?
By default Android logger is disable. Go to Synapse > MISCELLANEOUS and enable Logger Mode.

What is it PowerSuspend?
This new powersuspend PM kernel driver is a replacement for it and existing early_suspend drivers. It should give better battery life.

What is it Intelli-Plug?
Intelliplug is a replacement for mp decision. Intelli-Plug is Faux123 open source solution to Qualcomm's closed source mpdecision. Intelli-Plug is disable by default. It conflicts with mpdecsion, so is HIGHLY recommend turning off mpdecision when using intelli-plug! (If you use Synapse the change is automatic. If you enable Intelli-plug mpdecision will turn off).

What is it Intelli-Thermal?
an intelligent MSM thermal throttling kernel driver designed to replace the
closed sourced thermald(aemon) from Qualcomm.

What is it Frandom?
Frandom is a kernel random number generator, which is 10-50 times faster than what you get from /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

What is it CRC?
CRC is a mechanism aiming to prevent data corruption when is enabled (reduce the performance around 30%). So if you disable it improve the performance but your data can be corrupted. Use it at your risk.
/sys/module/mmc_core/parameters/crc

Do you have issues in Synapse?
Go to the Play store and install busybox on rails.
Ve a la play store e instala busybox on rails, eso arreglará cualquier fallo en Synapse.

Shealt doesn't work (FC's)
Clear data of Shealt

How to use NTFS OTG?
Install USB OTG Helper . Connect your ntfs otg then open USB OTG Helper apk click on "mount". That's it. Use your favorite xplorer to open the OTG.
 
Last edited:

Pafcholini

Senior Member
Sep 1, 2012
1,993
6,152
0
Barcelona
plus.google.com
Know/Reported/Fixed issues

Know issues

1. Synapse doesn't show CPU governor tunables.
I'm trying to fix it. FIXED

2. Sometimes Synapse (and others kernel control apks) show that the min frequency is 1190MHz (or other frequency).
Just cancel it. FIXED

3. Ondemand doesn't work well. FIXED
Thanks for the report @Vangelis13

4. The OTG doesn't work in r8. FIXED
 
Last edited:

yussuf007

Senior Member
Jan 22, 2012
423
118
0
Budapest
The kernel is real fast. Atm im playing the settings. Only 1 thing what i cant get work is sweep2wake i dont know im wrong or it dont work atm.
Anyway thank you for this kernel
 

Pafcholini

Senior Member
Sep 1, 2012
1,993
6,152
0
Barcelona
plus.google.com
The kernel is real fast. Atm im playing the settings. Only 1 thing what i cant get work is sweep2wake i dont know im wrong or it dont work atm.
Anyway thank you for this kernel

Slide your finger from right to left until half the screen. try it a couple of times until you find the the right movement.
 

Aijazji

Senior Member
Dec 4, 2009
784
166
73
New Delhi
Wow One More Dev Is Here For Showing Love To Our Monster Device.. :D

Sent from my SM-N910G

---------- Post added at 05:20 AM ---------- Previous post was at 05:19 AM ----------

Downloading.. Will Give Response Soon
Wait A Min..:p

Sent from my SM-N910G using XDA Free mobile app
 
  • Like
Reactions: y11ohan

aukhan

Senior Member
Feb 19, 2013
4,700
4,015
0
Bangalore
ajqi.com
Here is a few recommended settings as a lot of members would ask share you setting for the extended battery life.

So here are few basic setting epically for them.

Watch "Nadia Kernel Note 4 Recommended settings" on YouTube - Nadia Kernel Note 4 Recommended settings: http://youtu.be/Vtuz0dT1qkk

---------- Post added at 04:05 PM ---------- Previous post was at 04:01 PM ----------

You should try with Phil's recovery. I've had problems with TWRP.
It works well with TWRP I've tried it multiple times. Try to place the zip in internal storage if still doesn't work then install Philz.
echo rom
twrp 2.8.1.0
and on the G model


---------- Post added at 04:07 PM ---------- Previous post was at 04:05 PM ----------

You're not alone anymore.. ;)

Nice kernel! Ondemand freezes & reboots under quite small load, has anyone seen the same? I can probably reproduce & send a last_kmsg if the dev needs it.
We will try to reproduce this issue could u please submit catlogs.
 
  • Like
Reactions: Dedzdedz and Wolf65

rico13

Senior Member
Feb 13, 2011
479
106
63
It works well with TWRP I've tried it multiple times. Try to place the zip in internal storage if still doesn't work then install Philz.

installed philz and tired flashing the kernel from the internal storage and still stuck at the samsung logo
ill send you a logcat when I get a chance
 

Top Liked Posts

  • There are no posts matching your filters.
  • 341
    cvv7163z9741cqszg.jpg


    - Emotion nightly Kernel Note 4 -
    -SM-N910F SM-N910G -​


    Developed by Placiano and Pafcholini


    More stable, more performance, more of everything!



    Introduction
    Introducing the Emotion Revolution Roms & Kernels for Android Devices.
    Emotion Rom/Kernel is a modified, aftermarket firmware/Kernel distribution few Android devices (Note 2, Note 4, HTC M7, Newman N2). Based on the Android Open Source Project , Emotion Rom & Kernel is intended to increase performance and stability over Android-based Devices released by sellers, for example, Samsung, HTC and so forth. Emotroid additionally offers a mixed bag of features & improvements that are not presently found in stock variants of Android.


    *** Disclamer***
    Your warranty is now void.
    We are not responsible for any damage or problems you may have!
    YOU are choosing to make these modifications.


    Thread IndeX

    POST 1: Kernel Information, Changelog, Credits,Screenshots
    POST 2: Synapse, Recommended settings, FAQ, etc.
    POST 3: Know/Reported issues
    Request new features here



    Features:

    • Kernel compatible with SM-N910F SM-N910G
    • Based on Samsung Open Source Code
    • Kernel compatible with TW and CM
    • Compiled with Toolchain Linaro GCC 5.1.2 Stable
    • Linux version 3.10.40
    • GPU OC/UC -> 800MHz / 166MHz
    • PowerSuspend Driver
    • KSM enabled
    • Wake Gestures (DT2W, DT2S, S2W, S2S)
    • Adreno idler Algorithm
    • Simple GPU Algorithm
    • Voltage Control
    • KCAL - Advanced color control
    • Led Control / Fading
    • CRC Settings
    • Advanced TCP control
    • Selinux Permissive
    • CIFS Support
    • NTFS Support
    • LZ4 compression algorithm
    • Reduced wakelocks
    • Kernel Adiutor
    • Governors: Barry-Allen, interactive_pro, intelliactive, bluactive, conservativex, alucard,darkness, nightmare, smartassV2, ondemandplus, umbrella_core, yankactive, dancedance, bioshock, lionhearth, conservative, interactive, ondemand,powersave, userspace, performance, impulse, zzmoove
    • I/O Scheldures: bfq, vr, fiops, zen, fifo, sio, test-ioshed, cfq, row, deadline, noop



    LZ4 compression algorithm
    46plafl6ebhrx0wzg.jpg

    LZ4 is a lossless data compression algorithm that is focused on compression and decompression speed.
    The algorithm gives a slightly worse compression ratio than algorithms like gzip. However, compression speeds are several times faster than gzip while decompression speeds can be significantly faster than LZO.

    The LZ4 algorithm represents the data as a series of sequences. Each sequence begins with a one byte token that is broken into two 4 bit fields. The first field represents the number of literal bytes that are to be copied to the output. The second field represents the number of bytes to copy from the already decoded output buffer (with 0 representing the minimum match length of 4 bytes). A value of 15 in either of the bitfields indicates that the length is larger and there is an extra byte of data that is to be added to the length. A value of 255 in these extra bytes indicates that yet another byte to be added. Hence arbitrary lengths are represented by a series of extra bytes containing the value 255. The string of literals comes after the token and any extra bytes needed to indicate string length. This is followed by an offset that indicates how far back in the output buffer to begin copying. The extra bytes (if any) of the match-length come at the end of the sequence.

    Compression can be carried out in a stream or in blocks. Higher compression ratios can be achieved by investing more effort in finding the best matches. This results in both a smaller file and a faster decompression.



    h7b9963afgld22lzg.jpg

    Sep- 9 -2016 r26
    -Fixed semi-bootloops

    Sep- 9 -2016 r25.1
    -Fixed CVE-2016-2504

    Sep- 8 -2016 r25
    -Thermal improvements
    -More fixes


    June- 24 -2016 beta r25 rc7
    -Fixed wifi issues for G variant and probably P,T and W
    -Fixed GPU freq
    -Fixed root issue
    -Updated the topology masks before calling CPU_STARTING notifiers

    June- 24 -2016 beta r25
    -Initial Marhsmallow release
    -all the features from LP

    January- 1 -2016 nightly r23
    -Kernel reworked
    -Kernel works for F, G, P, T and probably W8 variants. (Note 4 and Note edge)
    -Linux 3.10.94
    -Based on DOK2 source code
    -No more Synapse support, we moved to Kernel Adiutor (KA)
    -Interactive governor improved
    -mdss updates
    -timer fixes
    -Added touchboost (thanks to franco for the code) for Interactive (probably we'll add it for more governors)
    -Fixed mpdecision issue (mpdecision has to keep 2 cores online always)
    -Selinux updates
    -Enabled pstore/ramoops dump for kernel panics (/sys/fs/pstore/console-ramoops)
    -Added f2fs support (You need a recovery that support full f2fs)
    -Net updates
    -Ram managment improved
    -Sched updates
    -and a lot of CAF patches,etc.
    -Checkout our github for more information


    September- 23 -2015 nightly r21
    -Linux 3.10.89
    -Enabled HMP (Only for CM kernel)
    -dt2w: prevent touches during phone calls
    -Fixed fast charger
    -Probably fixed random reboots while charging (need more feedbacks)
    -Zzmoove back to beta7 (looks the best for the Note 4)
    -Makefile: added optimizations
    -Kcal updates and fixex (thanks to fflokes)
    -Fixed some thermal issues
    -Added option to disable ipv6 (seems to cause wake ups while wifi is connected,just for some routers)
    -Another small changes and fixes, check out our github

    September- 6 -2015 nightly r20
    -Kernel based on COG5 (Android 5.1.1)
    -Kernel 5.1.1 compatible with SM-N910F, SM-N910P and SM-N910T
    -Compiled with Christopher83 Toolchain Linaro GCC 4.9.4 Cortex A15
    -Kernel rebased from beginning and revised all the changes
    -Cleaned unnecessary code and patches
    -All the features from r19 are present
    -Reverted UKSM (Caused some memory issue)
    -Reverted Wifi PM (Caused issues)
    -Swap set to stock (1280mb)
    -Small fixes, etc.


    August- 24 -2015 nightly r19
    -Linux 3.10.87
    -Kernel compatible with CM
    -Makefile optimizations
    -Wake Gestures:
    "Double tap 2 wake
    Double tap 2 sleep ( Control to allowed the width and height)
    Sweep 2 wake
    Sweep 2 sleep
    Wake Gestures
    Vibration Strength
    Wake timeout"
    -Wifi Calling fixed (T-Mobile variant)
    -Proximity sensor during calls fixed (Sprint variant)
    -LZ4 patches
    -workqueue improvements and fixes
    -Introduced new flag WQ_POWER_EFFICIENT for power oriented workqueues
    -ext4 improvements and fixes
    -PM QoS: Add GPU frequency limits to PM QoS and another patches
    -Added UKSM
    -mm/rmap made rmap_walk to get the rmap_walk_control argument
    -cpufreq: Disable light-weight init/teardown during suspend/resume
    -Added MSM Hotplug driver (neobuddy89)
    -Added Bricked Hotplug Driver
    -Intelli-plug updated (neobuddy89)
    -cpu-boost: Several optimizations
    -Added Sioplus & tripndroid
    -msm: mdss fixes and patches
    -mach-msm: DEFAULT_REDUCTION_PERCENTAGE to 65
    -Added option to change the SELinux status
    -cpufreq: added darnkess, nightmare and pegasusq governor updated the newer cpufreq driver to support "older" governors credits for the 3 -governors: Alucard24
    -bcmdhd4358: WIFI PM support for KitKat driver [halaszk]
    -bcmdhd: reduce rx wakelock timeout via sysfs node
    -qcom: Update clock vote for improved performance
    -Reworked voltage tables to reduce overload
    -qcom:apq8084: reduced the maximum current for each frequency
    -arm/dt: 8084: Drop retention voltages/Drop min allowable voltage (Thanks to XileForce)
    -Reduced lower constraint for GPU (Flar2)
    -frandom updates
    -Synapse: changes, fixes, new tabs, etc. (thanks to UpInTheAir for some nice codes)
    -For more info and changes check out our GITHUB

    Jule- 28 -2015 nightly r18
    -Linux 3.10.84
    -Compiled with UBERTC Toolchain 5.2
    -Source and ramfs updated to POF2
    -Speed up console framebuffer imageblit function
    -Fixed ZeroLemon Fuel Gauge (Thanks to TheLoneWolf20)
    -Reverted some commits from r17
    -Fix stuck CPU frequencies (Thanks to gekkehenkie11)
    -qseecom: updates
    -msm_hsic_host: reduce wakelock
    -Crypto: updates and fixes
    -dm: updates and fixes
    -Added PFT (Per-File-Encryption)
    -inr_sqrt: improved 3x faster integer sqrt and correction square root algo with naming
    -mhi: fixed building of mhi driver
    -Reverted Kali NetHunter (For now)
    -Interactive: updates
    -Added impulse governor and changed part of the code by neobuddy89
    -Added zzmoove governor
    -Added lcd_notify
    -Sweep2wake: added s2s_only and sweep from left to right
    -Row I/O: added magic values by Franco
    -Synapse: updates, fixes and added Adreno idler
    -For more info and changes check out our github

    June- 28 -2015 nightly r17
    -Linux 3.10.81
    -Kernel compiled with Linaro Toolchain 5.1
    -Added adreno idler algorithm by Arter97
    -Sweep2wake works (Now we have sweep2wake and sweep2sleep)
    -Hardlimit 2.2 Emotion Edition for Note 4 (Cleaned to be pure hardlimit)
    -Google play services wakelock fixed
    -bluesleep: reduced wakelock
    -pinctrl: msm: Enabled irqs on resume
    -wireless: dhd: Enable standby ARP and multicast packet filters
    -Allow untrusted apps to read from debugfs
    -input: keyboard: qpnp-keypad: register private data in SPMI dev
    -mhi: core: Fix double increment on event counter and removed useless atomic variables
    -Swap up to 1.5GB
    -Add some tweaks for performance from LSpeed Mod
    -net: wireless: bcmdhd4358: Fixed failure to enter PS
    -frandom: Dynamically allocate the char device numbers and clear up checkpatch conflicts
    -msm: mdss: update and fixes from codeaurora patches
    -binder: Quiet Binder and Ratelimit binder debug messages
    -ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+
    -block: BFQ updated to V7r8 for 3.10.X
    -USB: android: Fix memory leak in mass_storage_function_init()
    -cpuidle: updates and fixes from Linaro patches
    -Fast charge adapted and fixed for Note 4 (Thanks to yank555.lu and ktoonsez for the initial code)
    -cpufreq: Prevent mpdecision changing scaling freq
    -qcom-cpufreq: updates and fixes
    -Barry Allen updated to 1.0
    -PM: devfreq: Fix show available freqs
    -msm:kgsl: fixes
    -msm: vidc: updates and fixes from codeaurora patches
    -Added msm zen decision (replacement for MPDecision)
    -force -Os -std=gnu89 and don't use GCC wrapper for GCC 5.1+
    -Makefile: Additional Optimizations
    -gpio_keys: force sync on KEY_POWER, KEY_HOME press (This should help in situations when the device or the OS is stalled but the kernel is alive and running.)
    -arm: added arm optimized memcmp and Krait optimized strcmp
    -readahead: make context readahead more conservative
    -dtsi: fixed 268MHz frequency
    -mm: zswap: fixes
    -Synapse: clean up and fixes
    -For more details check out our source code

    June- 2 -2015 nightly r16
    -Linux updated to 3.10.79
    -Added LED Control/fading available in Synapse (Thanks to @UpInTheAir and halaszk)
    -SM-N910F kernel is compatible with SM-N910G variant (BOE1+ firmware)
    -SM-N915P (Note edge sprint variant) compatible
    -Fix screen brightness issues: workaround for KK bootloaders not reporting the panel name (SM-N910V kernel)
    -arm: vfpmodule: Fixed warning procfs vfp_bounce reporting failed
    -dts: msm: disabled support of 50MHz for i2c for apq8084
    -GPU Overclock and Underclock to 800MHz/166MHz
    -GPU reduced frequency on boot from 300MHz to 266MHz
    -msm: kgsl: show current power level
    -suspend: Return error when pending wakeup source is found
    -Barry Allen governor updated to 0.7
    -mmc: sdhci-msm: Added Samsung 64G search after tune quirk
    -Compile with -O3 flag
    -KCAL updated (Fixed some issues)
    -kernel/smp.c: fixed memory leak
    -Default to NOATIME and NODIRATIME for FS performance improvement
    -Optimized copy_page for modern ARM platforms
    -cpufreq: Added stop CPU callback to cpufreq_driver interface
    -PM: Introduce suspend state PM_SUSPEND_FREEZE
    -PM / suspend: Make cpuidle work in the "freeze" state
    -power: Adds functionality to log the last suspend abort reason
    -ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state
    -power: catch wake-up requests in suspend_again
    -PM / sleep: fix freeze_ops NULL pointer dereferences
    -dm-req-crypt: Free resources in destructor
    -qce50: Update clock vote for improved performance
    -Optimized kernel size
    -scheduler: update to BFQ-v7r7 for 3.10.8+
    -Interactive: changed CPUFREQ_RELATION_C to CPUFREQ_RELATION_L
    -DEFAULT_GO_HISPEED_LOAD to 90
    -DEFAULT_TARGET_LOAD to 90
    -DEFAULT_MIN_SAMPLE_TIME to 40
    -suspend: Return error when pending wakeup source is found
    -msm: kgsl: Add check to protect against operating on NULL pointer
    -msm: kgsl: Avoid a possible NULL reference in kgsl_ioctl_helper
    -futex: Add another early deadlock detection check
    -Synapse added in the zip

    May- 18 -2015 nightly r15
    -Linux updated to 3.10.78
    -Added compatibility to SM-N915-F-G-T (Note Edge)
    -Added SWAP to 1.4gb
    -Added support to Kali NetHunter (Thanks to FutureBSD and thehacker911)
    -cpufreq: Added if cpu is online check in show
    -cpufreq: Protect against hotplug in cpufreq_register_driver()
    -cpufreq: Fixed timer/workqueue corruption by protecting reading governor_enabled
    -Revert "cpufreq: make the "scaling_cur_freq" sysfs entry pollable"
    -cpufreq: Use correct locking for cpufreq_cpu_data
    -cpufreq: Return directly in __cpufreq_get if policy is NULL
    -cpufreq: governor: Be friendly towards latency-sensitive bursty workloads
    -cpufreq: governor: removed copy_prev_load from 'struct cpu_dbs_common_info'
    -cpufreq: removed race while accessing cur_policy
    -DriveDroid support (DEFAULT, MTP, PTP, UMS)
    -Increased swappiness from 60 to 70
    -Improved performance
    -NTFS fixed
    -Updated Ramfs to BOD2
    -Added USB mode in Synapse
    -Profiles updated in Synapse
    -Fixed gamma and lmk profiles
    -Added stock profile in Synapse
    -Another minor changes and fixes

    May- 11 -2015 nightly r14
    -Linux updated to 3.10.77
    -Selinux back to full permissive (Fixed gear vr compatibility, etc.)
    -WIFI optimized (Thanks to @javilonas)
    -Fixed T-Mobile Synapse compatibility
    -Crypto: Updated to armv7-a Neon
    -Busybox updated to 1.23.2 to fix some issues with Synapse
    -Fixed all known bugs from r12+1
    -Fixed some minor bugs in the ramfs
    -Another minor fixes

    May- 8 -2015 nightly r13
    -Linux updated to 3.10.76
    -Kernel compatible with SM-N910T
    -Reverted "power: make sync on suspend optional"
    -KCAL updated
    -The kernel boot on Selinux enforcing but you can change the status from Synapse
    -qcom-cpufreq: Removed save/restore of scheduling policy
    -cpufreq_interactive: updated again from Shamu source
    -cpufreq: stats: Don't update cpufreq_stats_table if it's NULL
    -cpufreq: Break out early when frequency equals target_freq
    -msm: lpm-levels: add suspend_again handler
    -msm: Fix high load average from uninterruptible waits
    -qcom: mpm-of: fix bug in finding the pending interrupts
    -Added new governor Barry-Allen by Javilonas
    -CIFS and NTFS built in the kernel
    -Ramfs optimized (New tweaks,etc. thanks to Javilonas for some scripts)
    -Synapse support KCAL control
    -Added profiles in Synapse
    -Added profiles for LMK in Synapse
    -Added global voltage control in Synapse
    -Change Selinux status from Synapse>MISC
    -Fixed some bugs in Synapse


    April- 23 -2015 nightly r12
    -Kernel compatible with SM-N910F SM-N910G SM-N910P SM-N910V
    -Based on BOC3
    -Linux updated to 3.10.75
    -Fixed random reboots for some users
    -Added crypto optimized SHA-256/224
    -percpu: implemented generic percpu refcounting
    -mm: disabled zone_reclaim_mode by default
    -mm: reordered can_do_mlock to fix audit denial
    -Enabled Zram with lz4 compression by default (Synapse>Kernel Tweaks)

    April- 18 -2015 nightly r11
    -binfmt_elf.c: use get_random_int() to fix entropy depleting
    -Reverted "sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire" (Thanks to andip71 to report the lag)
    -arm/kernel/irq.c: removed irq affinity warnings
    -Restored CPU frequency during resume
    -Silenced some annoying last_kmsg
    -futexes: Increase hash table size for better performance
    -Improved/fixed some typos in the ramfs
    April- 15 -2015 nightly r10
    -Compiled with Linaro GCC 4.9 2015.03 Cortex A15
    -Linux updated from 3.10.40 to 3.10.74
    -Compression changed to LZ4
    -Power: made sync on suspend optional

    April- 12 -2015 nightly r9
    -Back to Linux 3.10.40 (For now, we are working to bring stable 3.10.73)
    -Added Intelli-thermal v3.0
    -bcmdhd4358: filter multicast packages while suspended
    -fs/namei.c: fix potential memory leak in path_lookupat
    -pinctrl: msm: fixed potential NULL pointer dereference
    -usb: ks_bridge: by default debugging is disabled
    -slub: fix kmem_cache_shrink return value
    -mm: slub: fixed format mismatches in slab_err() callers
    -power:Enable/Disable power collapse after camera open
    -Implemented CPU Core Control by andip71
    -tick: don't update idle time if cpu offline
    -msm: kgsl: Only wake GPU on multitouch events
    -Interactive: don't boost cpu if already boosted
    -rtc: qpnp-rtc: Sets RTC time correctly
    -rtc: qpnp-rtc: Set alarm control register properly
    -Added Mobile Storage Analyzer
    -soc: mbhc: Fix ID Tech card reader detection
    -power: catch wake-up requests in suspend_again
    -pinctrl: msm: prevent bogus wake up from suspend
    -asoc: wcd9xxx: Improved headset detection
    -Implemented Motorola MSM memcpy enhancements "memutils" (Faster memcpy performance for Krait)
    -Improved Memutils
    -Added CIFS as module
    -Adde NTFS as module
    -ASoC: msm: qdp6v2: handle proxy read failure
    -ASoC: msm: qdsp6v2: Fix timestamp query during gapless transition
    -mmc: core: Update PON (Power Off Notification) based on the system state
    -mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
    -netfilter: IDLETIMER: fix invalid deference of timer
    -Fixes and improvements in Synapse
    -Added CPU Binning (pvs information) Synapse> CPU VOLTAGE
    -Added CPU core control in Synapse> CPU DRIVERS
    -For more info check our Github

    March- 27 -2015 nightly r8
    -Linux update to 3.10.71
    -Powesuspend updated to 1.7
    -Intelli-plug updated to 4.0
    -OC/UC -> 3072MHz / 268MHz
    -Added Hardlimit Control
    -Added new governors
    -Addeded new scheldures
    -Added memcopy & string use glibc version
    -Added quickwakeup driver (improve battery life)
    -Optimized Kernel Samepage Merging (KSM)
    -deadline: Optimized for non-rotational
    -mm: Clear page active before releasing pages
    -ARM: 8119/1: crypto: sha1: add ARM NEON implementation
    -ARM: 8120/1: crypto: sha512: add ARM NEON implementation
    -ARM: crypto: add NEON accelerated XOR implementation
    -ARM: add support for kernel mode NEON and only allow kernel mode neon with AEABI
    -Fixed failure to enter PS mode while roaming
    -Sched: Set MC (multi-core) sched domain's busy_factor attribute to 1
    -Disabled add_random for more performance on SSD's
    -tcp: enabled tcp fast open functionality (franciscofranco)
    -For more info check our Github

    March- 5 -2015 nightly r7
    -Added KCAL - Advanced color control (Thanks to @savoca for his great job) check this thread for more info

    March- 3 -2015 nightly r6
    -Based on XXU1ANK4 (KitKat version) and compatible with "F,G,T,V,W8"
    -Based on XXU1BOB4 (Lollipop version) and compatible with "F"
    -Lollipop version has all the features except mdnie control and S-View hack
    -Kernel compiled with Linaro Toolchain 4.9.3 2015-02
    -FauxSound updated to 3.6
    -Fixed some issues in FauxSound and Synapse
    -cpufreq: Introduced new relation for freq selection Introduce CPUFREQ_RELATION_C
    -Interactive Governor: Use CPUFREQ_RELATION_C
    -Added Gentle fair sleepers (Synapse -> KERNEL TWEAKS)
    -Enabled Kernel SamePage Merging (KSM) (Synapse -> KSM)
    -Added key disabler (Synapse-> SCREEN/MISC)
    -Added userspace vibration strength control (Synapse-> SCREEN/MISC)
    -Changed some stuff in Synapse
    -Reverted some commits
    -Another minor changes

    January- 27 -2015 nightly beta r5
    -FauxSound implemented
    -FauxSound in Synapse
    -Added high performance mode in Synapse->Sound
    -Fixed battery drain on wifi (My fault)
    -Reverted another commits

    January- 16 -2015 nightly r4
    -Fixed cpu voltage control (No more 0MHz frequency in cpu voltage table)
    -ASoC: wcd9xxx: use hwdep node for codec calibration
    -ASoC: wcd9320: use hwdep nodes to get calibration
    -ASoC: wcd9xxx: Changes for High performance mode
    -ASoC: wcd9xxx: Change PA on and VDDIO switch sequence
    -ASoC: wcd9xxx: Avoid micbias glitches during audio playback
    -In conclusion better quality sound on headsets
    -Sched/fair: reduced latency
    -Decreased DHD_PACKET_TIMEOUT_MS to 250 ms (Before 500ms)
    -Drecreased time to enter sleep
    -Net: wireless: Increased scan entry expiration to fit new scan time
    -PM: devfreq: Use high priority workqueue
    -Msm: kgsl: Report correct GPU frequency in sysfs
    -Some minor changes

    January- 11 -2015 nightly r3
    -Added Frandom as module and set by default (Synapse>I/O>Frandom) "For more info check this"
    -Network speed tweak
    -Reduced wakelocks "wlan_rx_wake" and "wlan_ctrl_wake"
    -dtsi: realigned voltages with userspace values (Thanks to twistedumbrella)
    -cpu-boost more performance (Thanks to franciscofranco)
    -sched: LOAD_FREQ (4*HZ+61) "For more info check this"
    -Interactive governor imported from the Nexus 6 (No more lag on interactive)
    -Added bluactive and interactive_pro governors
    -Reverted some changes that made the kernel laggy in some cases.
    -Selinux set to permissive by default
    -Gpu: msm: for higher priority you want to use nice level of -7
    -Now you can change the governor tunables from Synapse (Issue fixed) (Thanks for the tip to AndreiLux)
    -Synapse shows all the available gpu governors (Thanks to my friend Friedrich!)
    -Cleaned some things in Synapse
    -Other minor changes

    January- 4 -2015 nightly r2
    -Fixed Ondemand governor
    -mm: slub: Default slub_max_order to 0 (Improved performance)
    -Increased io performance
    -writeback: fix occasional slow sync
    -Fixed min frequency (Finally!)
    -msm: Fix high load average from uninterruptible waits
    -Cpu boost sysfs to enable/disable it (Synapse>cpu drivers)
    -S-View hack (Twistedumbrella) enable/disable (Synapse>miscellaneous)
    -Minor fixes

    January- 1 -2015 nightly r1
    -Based on Samsung Open Source N910FXXU1ANIE
    -Compiled with Toolchain Linaro GCC 4.9.3 2014.12 Cortex A15
    -PowerSuspend Driver
    -Intelli-Plug V3.9
    -Stereo Call Recording Support
    -cpufreq_limit: don't override cpu min frequency
    -Fast Charge V1.2
    -Sweep2wake
    -Simple GPU Algorithm
    -Sysfs interface to Enable/Disable Logger Android (Default disable)
    -Voltage Control
    -Intelli-Thermal V1
    -mDNIe Hijack control
    -Advanced TCP control (westwood default)
    -Sysfs interface to Enable/Disable CRC
    -Dynamic Fsync Control V1.5
    -Added Intelliactive, Smartmax and SmartassV2 governors
    -Led Control
    -Panel Color Control
    -mDnie mode adapter for Synapse
    -Selinux Enforcing/Permissive
    -Synapse Support


    Installation instructions

    You need to have TWPR, CWM o Philz Recovery.

    • Download the last kernel
    • Reboot in recovery mode
    • Make backup (recommended)
    • Flash the zip

    Don't be shy / lazy leave your feedback!

    Downloads

    Strictly No Mirrors Please. In the event that you need to make one ask us first with purpose behind what valid reason.

    Current Version

    Emotion TW Kernel SM-N910F/G Downloads
    Emotion CM Kernel SM-N910F/G Downloads

    As you can see there are 2 version for every variant. 1 variant it's for Zerolemon batteries and the another for stock batteries.

    Source code:
    Emotion kernel Github


    Wake Gestures:


    Thanks To/Credits
    Thanks to @hsbadr for contribute on the SM-N910V source code

    Andip71, AndreiLux, apb_axel, Arter97, Civato, Christopher83, Codeaurora, DerTeufel, Faux123, Ffolkes, Flar2, Franciscofranco, Franlov, Friedrich420, Gokhanmoral, Imoseyon, Infernum, Javilonas, ktoonsez, Linaro, LoungeKatt (TwistedUmbrella), myfluxi, neobuddy89, savoca, UpInTheAir, Yank555.lu, ZaneZam.
    Testers: @myaslioglu @Jdidtht @aloom @moe67er @anthony92170 @ronnie498 @blacklabel2020 @ravenseb @TheGrandFinale2001 @coolfire @monleylord @_Sofos_ @Rsroms @masterchif92 @piretia @nymikey @vanito @Teknodad1974 @JoeBear1975 and @Flashvetrin (R.I.P.)
    And all users that support the thread and the kernel!
    I hope I have not forgotten anyone!



    Hit the "thanks" button if you like our work.

    You can follow new updates here (Spanish)

    k156dgba1d0qvmyzg.jpg


    XDA:DevDB Information
    Emotion Kernel, Kernel for the Samsung Galaxy Note 4

    Contributors
    Pafcholini, aukhan, placiano
    Source Code: https://github.com/Pafcholini/emotion_kernel_note4_mm

    Kernel Special Features:

    Version Information
    Status: Nightly
    Current Stable Version: Emotion nightly r25.
    Stable Release Date: 2016-09-09

    Created 2015-01-01
    Last Updated 2016-09-09
    78
    Recommended settings & FAQ

    Synapse Profiles

    • Go to Synapse
    • Profile
    • Choice the profile that you want
    • Apply it
    • Then Reset Selected Profile
    • Synapse will get FC (Don't worry)
    • Just reboot your device. DONE


    How to backup profiles

    Synapse and all available options:

    - LIVE STATISTICS: Time in states, Uptime,etc.
    - CPU - GOV: cpu scaling, cpu governor and governor tunables.
    - CPU voltage: separate frequency voltage.
    - GPU: GPU scaling min/max frequency, GPU governor, Simple GPU Algorithm.
    - I/O: schedulers, internal storage read-ahead, externalSD read-ahead, Frandom Module, Scheldure Tunables Internal/External
    - CPU DRIVERS: PowerSuspend and Intelli-Plug
    - THERMAL: Intelli-Thermal Control
    - MISCELLANEOUS: Dynamic FSYNC Driver, Logger Mode, CRC Settings, S-View bypass, Selinux Status, Optimize Database.
    - BATTERY: Live Statistics and Fast Charge
    - MDNIE/SCREEN: Panel Control, mDNIe Mode and mDNIe Mode Hijack
    - LED: Led Control
    - SCREEN WAKE CONTROL: Sweep2Wake Control
    - KERNEL TWEAKS: low memory killer, kernel entropy, panic and panic on oops.
    - NETWORK: tcp congestion control, hardering the TCP/IP stack to SYN attack,ignore pings,etc.
    - VM-FS: dirty radio, swappiness,etc.
    - BUILD.PROP: Build.prop Tweaks
    - LOGS: Clearn Synapse, Logcat and Dmseg
    - INFO-REBOOT: info about the kernel, reboots,etc.


    Balance between performance and battery
    Above is what I use personally. MAY NOT be optimal for all. Share your settings.

    CPU frequency: 2649MHz/268MHz
    Hardlimit Max Screen ON: 2649MHz
    CPU governor: Interactive or Umbrella_core
    CPU voltage: -25mV
    GPU: msm_adreno or simple_ondemand
    I/O schedulers: row or zen
    I/O Readahead: 1024 for both
    PowerSuspend: DisplayPanel_hook
    KSM: disabled
    MPDECISION: enabled
    Intelli-Thermal: enabled
    MISCELLANEOUS: fsync enabled, logger mode disabled, crc disabled
    TCP: westwood

    Performance configuration

    CPU frequency: 2918MHz/268MHz
    Hardlimit Max Screen ON: 2918MHz
    CPU governor: Interactive_pro or Bluactive
    CPU voltage: ----
    GPU: performance or simple_ondemand
    I/O schedulers: deadline
    I/O Readahead: 1024 for both
    PowerSuspend: DisplayPanel_hook
    KSM: enabled
    MPDECISION: enabled
    Intelli-Thermal: enabled
    MISCELLANEOUS: fsync enabled, logger mode disabled, crc disabled
    TCP: westwood



    Aukhan recommended settings

    F.A.Q

    Can I flash this kernel on Note 4 SM-N910C or other variant?
    No, you can not. This kernel is only for SM-N910F, SM-N910G, SM-N910P and SM-N910V.

    When I switch to Ondemand governor I noticed that cpu-boost is disabled.
    Exactly, Ondemand and cpu-boost doesn't work well together. When you switch to Ondemand governor cpu-boost will be disabled automatically. Don't re-enable cpu-boost if you are using Ondemand governor. (Synapse>CPU DRIVERS)

    Which app can control this kernel?
    By default, the kernel is controlled by Synapse, but you can use the app that you like (Trickster Mod, Kernel Tweaker, etc.).

    I flashed the kernel and Synapse says: "No support UCI detected".
    Reflash the kernel, since it was a bad installation and Synapse does not detect the scripts.

    After flashing the kernel lost root what to do?
    In case you loose root just flash SuperSU

    Any recommended settings to follow using Synapse?
    At the beginning of the second post.

    After flash the kernel some apks give me FC.
    Go to Google Play Store and reinstall those apks.

    From where can I remove int.d script?
    Go to /system/etc/init.d using any root based file manager and delete.
    Note: There is an important one related to superSU and if you remove it by mistake you're gonna have trouble with root permissions.

    My device doesn't show any reaction to undervolting (battery life is same as before) or gets unstable even on light undervolting?
    Use DVFS disabler Module(standalone) (dynamic voltage and frequency scaling), this feature was kept in touchwiz for benchmark boosting purposes and will conflict with any undervolting and custom governors because it scales the voltages and frequency on regular intervals and is framework integrated, so gets a higher priority than kernel based voltage and scaling controls.
    For people who don't know what is DVFS please refer Wikipedia.

    Min/Max frequency don't stick?
    If your frequency settings don’t stick, it's because on certain Qualcomm devices, there are certain system services (thermald/mpdecision/project butter) or kernel service that rewrite frequency settings based on current thermal status and/or touch input.

    I made a logcat but my file is empty. How I can "fix" it?
    By default Android logger is disable. Go to Synapse > MISCELLANEOUS and enable Logger Mode.

    What is it PowerSuspend?
    This new powersuspend PM kernel driver is a replacement for it and existing early_suspend drivers. It should give better battery life.

    What is it Intelli-Plug?
    Intelliplug is a replacement for mp decision. Intelli-Plug is Faux123 open source solution to Qualcomm's closed source mpdecision. Intelli-Plug is disable by default. It conflicts with mpdecsion, so is HIGHLY recommend turning off mpdecision when using intelli-plug! (If you use Synapse the change is automatic. If you enable Intelli-plug mpdecision will turn off).

    What is it Intelli-Thermal?
    an intelligent MSM thermal throttling kernel driver designed to replace the
    closed sourced thermald(aemon) from Qualcomm.

    What is it Frandom?
    Frandom is a kernel random number generator, which is 10-50 times faster than what you get from /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

    What is it CRC?
    CRC is a mechanism aiming to prevent data corruption when is enabled (reduce the performance around 30%). So if you disable it improve the performance but your data can be corrupted. Use it at your risk.
    /sys/module/mmc_core/parameters/crc

    Do you have issues in Synapse?
    Go to the Play store and install busybox on rails.
    Ve a la play store e instala busybox on rails, eso arreglará cualquier fallo en Synapse.

    Shealt doesn't work (FC's)
    Clear data of Shealt

    How to use NTFS OTG?
    Install USB OTG Helper . Connect your ntfs otg then open USB OTG Helper apk click on "mount". That's it. Use your favorite xplorer to open the OTG.
    43
    Emotion nightly r23 ONLINE!

    Kernel updated!! Happy new year!

    January- 1 -2016 nightly r23
    Code:
    -Kernel reworked
    -Kernel works for F, G, P, T and probably W8 variants. (Note 4 and Note edge)
    -Linux 3.10.94
    -Based on DOK2 source code
    -No more Synapse support, we moved to Kernel Adiutor (KA)
    -Interactive governor improved
    -mdss updates
    -timer fixes
    -Added touchboost (thanks to franco for the code) for Interactive (probably we'll add it for more governors)
    -Fixed mpdecision issue (mpdecision has to keep 2 cores online always)
    -Selinux updates
    -Enabled pstore/ramoops dump for kernel panics (/sys/fs/pstore/console-ramoops)
    -Added f2fs support (You need a recovery that support full f2fs)
    -Net updates
    -Ram managment improved
    -Sched updates
    -and a lot of CAF patches,etc.
    -Checkout our github for more information[/B]
    41
    Know/Reported/Fixed issues

    Know issues

    1. Synapse doesn't show CPU governor tunables.
    I'm trying to fix it. FIXED

    2. Sometimes Synapse (and others kernel control apks) show that the min frequency is 1190MHz (or other frequency).
    Just cancel it. FIXED

    3. Ondemand doesn't work well. FIXED
    Thanks for the report @Vangelis13

    4. The OTG doesn't work in r8. FIXED
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone