ROM: [ROM][May 17][5.1.1] Spring

Diskussion i 'Nexus 6 (2014) - ROM-filer och utveckling' startad av pemell, 10 apr 2015.

  1. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    [​IMG]

    While we're waiting for summer, let us all enjoy Spring.


    2015-05-17

    New: Updates to memory management to avoid random reboots and improve multitasking.

    If you are using a screen protector and have issues with it being too sensitive during calls you could try this fix: http://forum.xda-developers.com/nexus-6/development/mod-fix-proximity-sensor-5-1-rom-t3069031. Note that I haven't tested it and for info it rolls back drivers to those found in Android 5.0.1 release. Google made the sensor more sensitive in 5.1 release. Read more about it here: https://productforums.google.com/forum/#!category-topic/nexus/nexus-6/mIRwBP4Hx_Y

    Cheers
    Per



    Rom no longer forces encryption, meaning there's no need to flash a different kernel to stay decrypted.

    The main goal with this project is to provide a ROM with a stock CM feeling (with only a handful of useful features added), with a heavily improved base (kernel) to improve speed, network and battery life.

    This is my personal preference of how a ROM should be. I will never add features just for the sake of it, I pick those which makes sense for me. This is a one man ROM, which is good as I got control over every little bit of the process. The base of Spring is CyanogenMod 12.1 and I will always try to keep this as close to stock CM as possible, but at the same time improve the experience for me and you.

    Except for the great features CM provides, the following additions are made (changelog in second post:(


    Rom additions:

    Disabled forced encryption

    - New: Added a quick setting tile to toggle expanded desktop.

    - Built with latest 4.9 linaro

    - Patches from linaro

    - Added a setting to force expanded notifications (Settings -> Notification drawer -> Force expanded notification). This feature is nice when you have a big device as ours. Credits to jmztaylor.

    - Settings: addded development animation transition mode 0.9. I find 0.75 too fast, and some stutter may occur. 0.9 makes no sacrifice of the lollipop fluidity and speeds the animations up 10%.

    - Added LCD Density changer. Credits to Tom Marshall (Source 1) (Source 2). I very much recommend to set the DPI to 480. This will give you more screen real estate and improve your android experience. Try it, play around, and evaluate after a couple of days.

    - Fixed some graphics to go with a wider range of densities.


    Kernel additions:

    - Updated idle driver and suspend (deep sleep) code.

    - MSG_FASTOPEN is now enabled by default. You can try it in your chrome browser. Enable the "TCP Fast Open" flag. TCP Fast Open is an optimization to the process of stablishing a TCP connection that allows the elimination of one round time trip from certain kinds of TCP conversation, which can improve the load speed of web pages. In Linux 3.6 and Linux 3.7, support was added for this feature, which requires userspace support. This release enables TCP Fast Open by default.

    - TCP auto corking. When applications do consecutive small write()/sendmsg() system calls, the Linux kernel will try to coalesce these small writes as much as possible, to lower total amount of sent packets - this feature is called "automatic corking". Automatic corking is done if at least one prior packet for the flow is waiting in Qdisc queues or device transmit queue. Applications can still use TCP_CORK for optimal behavior when they know how/when to uncork their sockets. A new sysctl (/proc/sys/net/ipv4/tcp_autocorking) has been added to control this feature, which defaults to enabled. For benchmarks and more details see the commit link. For benchmarks see this commit.

    - Completely ditched the interactive governor from 3.10 kernel and replaced it with the one from the 3.18 kernel.

    - Added a quickwake patch from Motorola.
    The purpose of this feature is to drastically reduce the suspend/resume time for device driver which needs to do periodic job. In our use case (android smartphone), the system is most of the time in suspend to RAM, and needs to send a low level command every 30s. With current framework it takes about 500ms on omap3430 to resume the full system, and then suspend again. With quickwakup feature, in the resume process after resuming sysdev and re-enabling irq, the driver handler is executed, and then it suspends again. This new path takes 20ms for us, which leads to good power-saving.

    - Added SCHED_DEADLINE, a new scheduling class for resource-reservation real-time CPU scheduler in the kernel.
    Quoted from: https://lwn.net/Articles/575497/: "Deadline scheduling does away with the concept of process priorities that has been at the core of most CPU scheduler algorithms. Instead, each process provides three parameters to the scheduler: a "worst-case execution time" describing a maximum amount of CPU time needed to accomplish its task, a period describing how often the task must be performed, and a deadline specifying when the task must first be completed. The actual scheduling algorithm is then relatively simple: the task whose deadline is closest runs first. If the scheduler takes care to not allow the creation of deadline tasks when the sum of the worst-case execution times would exceed the amount of available CPU time, it can guarantee that every task will be able to finish by its deadline. Deadline scheduling is thus useful for realtime tasks, where completion by a deadline is a key requirement. It is also applicable to periodic tasks like streaming media processing."

    - Added Heavy-Hitter Filter (HHF) qdisc.
    This is a first size-based qdisc that attempts to differentiate between small flows and heavy-hitters. The goal is to catch the heavy-hitters and move them to a separate queue with less priority so that bulk traffic does not affect the latency of critical traffic. Currently "less priority" means less weight (2:1 in particular) in a Weighted Deficit Round Robin (WDRR) scheduler. In essence, this patch addresses the "delay-bloat" problem due to bloated buffers. In some systems, large queues may be necessary for obtaining CPU efficiency, or due to the presence of unresponsive traffic like UDP, or just a large number of connections with each having a small amount of outstanding traffic. In these circumstances, HHF aims to reduce the HoL blocking for latency sensitive traffic, while not impacting the queues built up by bulk traffic.

    - Added PIE AQM scheme
    This is a Proportional Integral controller Enhanced (PIE) scheduler to address the bufferbloat problem. Bufferbloat is a phenomenon where excess buffers in the network cause high latency and jitter. As more and more interactive applications (e.g. voice over IP, real time video streaming and financial transactions) run in the Internet, high latency and jitter degrade application performance. There is a pressing need to design intelligent queue management schemes that can control latency and jitter; and hence provide desirable quality of service to users. We present here a lightweight design, PIE(Proportional Integral controller Enhanced) that can effectively control the average queueing latency to a target value. Simulation results, theoretical analysis and Linux testbed results have shown that PIE can ensure low latency and achieve high link utilization under various congestion situations.

    - Many updates to the interactive cpu governor.
    What is an interactive CPU governor? Quoted from https://android.googlesource.com/kernel/common/ /a7827a2a60218b25f222b54f77ed38f57aebe08b/Documentation/cpu-freq/governors.txt: "The CPUfreq governor "interactive" is designed for latency-sensitive,interactive workloads. This governor sets the CPU speed depending onusage, similar to "ondemand" and "conservative" governors. However,the governor is more aggressive about scaling the CPU speed up inresponse to CPU-intensive activity."

    - Many updates to cpuidle.
    What is cpuidle? Quoted from www.fsl.cs.stonybrook.edu/docs/cpuidle/cpuidle-from-userspace.pdf: Cpuidle is a module in the Linux kernel which is respon- sible for running some power saving routines on a core when the core does not have any task in its run queue . The power saving routines try to put the core into a low power state or an idle state."

    - Added frandom module. The following is quoted from Eli Billauer at (source:(
    Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /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.

    - mm: Increase MIN and MAX default readahead sizes for performance reasons, and we've got enough RAM to handle it.

    - Built with latest a15 optimized 4.9 linaro toolchain. See this thread (source) for info.

    - Updated kernel from 3.10.40 to latest 3.10.75.


    Download ROM: https://www.androidfilehost.com/?w=files&flid=28963
    Download Gapps: https://github.com/cgapps/vendor_google/releases/tag/2015-05-03

    Installation instructions: http://wiki.cyanogenmod.org/w/Install_CM_for_shamu

    Want root? Flash SuperSU in recovery. Grab it here and flash away (credits to Chainfire:( http://forum.xda-developers.com/showthread.php?t=1538053


    Credits:

    - CyanogenMod
    - jakew02
    - bbedward
    - Imoseyon
    - Altaf-Mahdi

    [NOPARSE]XDA:DevDB Information[/NOPARSE]

    Spring, ROM for the Nexus 6

    Contributors: pemell
    Source Code: https://github.com/PerLycke
    Kernel source: https://github.com/PerLycke/android_kernel_moto_shamu

    ROM OS Version: 5.1.x Lollipop
    ROM Kernel: Linux 3.10.x
    Based On: CyanogenMod

    Version Information
    Status: Testing

    Created 2015-04-06
    Last Updated 2015-05-14
     
    Last edited: 17 maj 2015
    droidsmurf, Davil och qsecofr gillar detta.
  2. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Det här är alltså något jag knåpat ihop. Fick bli engelska, blir lite krångligt att översätta till svenska.

    Men jag supportar på svenska såklart.

    Mvh
    Per

    Changelog

    2015-05-17

    - Updates to memory management to avoid random reboots and improve multitasking.


    2015-05-14

    - Bug fixes
    - CM upstream changes

    2015-05-14

    - Implemented some linaro optimizations.
    - Removed some CM stuff (e.g. the updater).
    - Kernel is now compressed with LZ4.

    2015-05-13

    - Fixed some compatibility issues and vastly improved battery-life. Please upgrade to this build if you are on the 20150507 or 20150510 (or older) build.

    2015-05-10

    - Cleaned up the kernel repository and moved to branch master.
    - Updated the kernel to 3.10.77.
    - Implemented a couple of new memory management features.
    - CM upstream changes.

    2015-05-07

    - Added a quick setting tile to toggle expanded desktop. It's nice when reading articles or pdf's.
    - Several updates to kernel memory management.
    - CM upstream changes.

    2015-05-04

    - Updated idle driver and suspend (deep sleep) code.

    - MSG_FASTOPEN is now enabled by default. You can try it in your chrome browser. Enable the "TCP Fast Open" flag. TCP Fast Open is an optimization to the process of stablishing a TCP connection that allows the elimination of one round time trip from certain kinds of TCP conversation, which can improve the load speed of web pages. In Linux 3.6 and Linux 3.7, support was added for this feature, which requires userspace support. This release enables TCP Fast Open by default.

    - TCP auto corking. When applications do consecutive small write()/sendmsg() system calls, the Linux kernel will try to coalesce these small writes as much as possible, to lower total amount of sent packets - this feature is called "automatic corking". Automatic corking is done if at least one prior packet for the flow is waiting in Qdisc queues or device transmit queue. Applications can still use TCP_CORK for optimal behavior when they know how/when to uncork their sockets. A new sysctl (/proc/sys/net/ipv4/tcp_autocorking) has been added to control this feature, which defaults to enabled. For benchmarks and more details see the commit link. For benchmarks see this commit.

    - CM upstream changes.

    - Reverted adaptive-tick mode for scheduling-clock ticks handling.

    2015-04-30

    - Multiboot compatibility
    - Disabled housekeeping ticker when a CPU handles a single task and improved timerless multitasking: allow timekeeping CPU go idle.
    - CM upstream changes


    2015-04-29

    - Kernel updated from mainline to 3.10.76
    - Upstream CM changes

    2015-04-28

    Kernel updates:

    - Completely ditched the interactive governor from 3.10 kernel and replaced it with the one from the 3.18 kernel.
    - Some minor updates here and there.

    2015-04-25

    - CM upstream (including bump to Android 5.1.1).
    - Disabled forced encryption by default.

    2015-04-21

    - Updated link to official CM 12.1 gapps (use this from now on) and more updates to the kernel. Implemented a quickwake patch from Motorola. Some minor layout updates to framework. CM upstream changes.

    2015-04-20

    Major update. See http://forum.xda-developers.com/showpost.php?p=59939900&postcount=2 for details.

    2015-04-17

    - Several fixes and improvements.

    2015-04-16

    - Added a setting to force expanded notifications (Settings -> Notification drawer -> Force expanded notification). This feature is nice when you have a big device as ours. Credits to jmztaylor.
    - Upstream kernel changes, bumped to 3.10.74.
    - A lot of upstrem CM changes.

    2015-04-10
    - Added density changer. Changes in density have no impact on play store compatibility (Settings -> Display and lights -> LCD Density)
    - Updated kernel from 3.10.40 to 3.10.73.
    - Removed CM updater to stop confusing users.
    - Changed navbar layout overlay to make it look better on more densities.
    - Reverted BFS to CFS.

    2015-04-09
    - Fixed dialer layout when using 480 dpi
    - Upstream CM changes

    2015-04-05
    - Initial release
     
    Last edited: 17 maj 2015
    MathiasM gillar detta.
  3. linuxares

    linuxares Adult Droid Medlem

    Blev medlem:
    9 jun 2010
    Inlägg:
    939
    Mottagna gillanden:
    210

    MINA ENHETER

    Såg den på XDA igår. Vad är egentligen den större skillnaden mellan Spring och CM 12.1 vanilla?
     
  4. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Skillnaden är det jag beskriver i första posten. Spring handlar inte om att kanga alla olika features som finns, utan min ambition är att förbättra grunden. Att bygga det med Linaro 4.9, både rom och kernel, gör skillnad. Sen rekommenderar jag starkt att sätta alla animationer till 0.9.

    Utöver det så är det fint med dom hundratals förbättringarna i kerneln som bumpar den till 3.4.73.

    Det hela gör att systemet flyter på bra mycket finare :)
     
  5. linuxares

    linuxares Adult Droid Medlem

    Blev medlem:
    9 jun 2010
    Inlägg:
    939
    Mottagna gillanden:
    210

    MINA ENHETER

    Skall prova imorgon :)
     
    pemell gillar detta.
  6. linuxares

    linuxares Adult Droid Medlem

    Blev medlem:
    9 jun 2010
    Inlägg:
    939
    Mottagna gillanden:
    210

    MINA ENHETER

    Kan du sätta ut att den krypterar telefonen? Jag måste nu blåsa om den och dra in en icke-krypterad kernel om jag skall använda Spring fast då försvinner väl hela meningen med den?
     
  7. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Varför vill du inte ha en krypterad telefon? :)
     
  8. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    [​IMG]

    Jag bryr mig inte till 5% om benchmarks men för att visa att det inte finns några som helst anledningar att kryptera telefonen längre så lägger jag upp den här skärmdumpen.

    Att kryptera telefonen kan till och med skapa vissa problem med mjukvaran, den är nu anpassad för kryptering på vår N6. Och Android 5.1 raderade ut de problem som fanns med prestandan.

    Utöver det så är det den vägen Android är på väg. Och jag har inga ambitioner att inte följa eko-systemet. Det vore rent kontraproduktivt :)

    Du har helt rätt med det sista, att köra med min kernel är en del av paketet. ;)

    Allt gott,
    Per
     
  9. qsecofr

    qsecofr Android Apprentice Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    3 571
    Mottagna gillanden:
    693
    Telefon:
    S24 ultra

    MINA ENHETER

    Telefon:
    S24 ultra
    ROM:
    Ja tack.
    ROM:
    Ja tack.
    Nice med en 'Svensk' rom. Precis flashat den och håller på med första uppstarten.
     
  10. qsecofr

    qsecofr Android Apprentice Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    3 571
    Mottagna gillanden:
    693
    Telefon:
    S24 ultra

    MINA ENHETER

    Telefon:
    S24 ultra
    ROM:
    Ja tack.
    ROM:
    Ja tack.
    Ang animationer så kan jag inte sätta de på 0.9?
    Har 0,5 och sedan 1.
     
  11. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Uppdaterad:

    Changelog:

    2015-04-16

    - Added a setting to force expanded notifications (Settings -> Notification drawer -> Force expanded notification). This feature is nice when you have a big device as ours. Credits to jmztaylor.
    - Upstream kernel changes, bumped to 3.10.74.
    - A lot of upstrem CM changes.
     
  12. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Det alternativet ska absolut finnas där. Kom du från någon annan ROM?

    När man gör en clean installering så har jag ställt in det så att 0.9 är på vid uppstart.
     
  13. MathiasM

    MathiasM Professional Droid Medlem

    Blev medlem:
    28 maj 2010
    Inlägg:
    2 133
    Mottagna gillanden:
    582
    Operatör:
    Tele2
    Telefon:
    OnePlus 5T

    MINA ENHETER

    Operatör:
    Tele2
    Telefon:
    OnePlus 5T
    ROM:
    100% Stock
    @pemell@pemell hur är batteritiden på din ROM?
     
  14. qsecofr

    qsecofr Android Apprentice Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    3 571
    Mottagna gillanden:
    693
    Telefon:
    S24 ultra

    MINA ENHETER

    Telefon:
    S24 ultra
    ROM:
    Ja tack.
    ROM:
    Ja tack.
    Kom från stock, factory reset vid installation.
    Alternativet 0.9 finns inte.
     
  15. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Den är bra. De optimeringar jag gjort förbättrar den.

    Förresten, om ni såg det på XDA så var jag tvungen att dra tillbaka uppdateringen för att fixa ett par saker. Dom är nu fixade och ny uppdatering laddas upp.
     
  16. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    20150417 uppladdad. Om du installerade 0416 så upddatera till den här. Den kommer med många förbättringar och fixande.
     
  17. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Kör du de gapps som jag länkar till i första inlägget? Kör du någon app, typ Viber och ändrar selinux till permissive? Återställer du appar med Titanium? Xposed?
     
  18. qsecofr

    qsecofr Android Apprentice Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    3 571
    Mottagna gillanden:
    693
    Telefon:
    S24 ultra

    MINA ENHETER

    Telefon:
    S24 ultra
    ROM:
    Ja tack.
    ROM:
    Ja tack.
    Ja, nej, har återställt en app med Titanium (bankID), nej.
    Testar en annan rom nu så jag kan inte testa vidare.
     
  19. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    Hej alla glada! Släppte precis en massiv uppdatering av Spring. Mestadels handlar det om stora förbättrningar av kerneln.

    Changelog:

    2015-04-20 - Latest Announcing my biggest kernel update to date with the following changes:

    - You'll find a flashable kernel zip here with forced encryption disabled. If you are decrypted, flash it after you flash my ROM (before booting) and you'll stay decrypted.

    - Introducing SCHED_DEADLINE, a new scheduling class for resource-reservation real-time CPU scheduler in the kernel.
    - Introducing Heavy-Hitter Filter (HHF) qdisc.
    - Introducing PIE AQM scheme
    - Many updates to the interactive cpu governor.
    - mm: Increase MIN and MAX default readahead sizes for performance reasons, and we've got enough RAM to handle it.

    - Many updates to cpuidle.
    - Updated kernel to 3.14.75.

    - Rom-wise some fixes are done to the DPI changer and upstream CM changes.
     
  20. pemell

    pemell Kid Droid Medlem

    Blev medlem:
    10 apr 2015
    Inlägg:
    78
    Mottagna gillanden:
    39
    150421 released.

    Changelog: More updates to the kernel. Implemented a quickwake patch from Motorola. Some minor layout updates to framework. CM upstream changes.

    And I've updated the link to official CM 12.1 gapps (use this from now on).

    The no encryption kernel is also updated.

    Cheers,
    Per
     
    Davil gillar detta.