Nexus 5, Chroma ROM and Blu_Spark Kernel

By | August 27, 2015

As most of you know SlimLP used to be my go to ROM. However that changed when I found out about the amazing Chroma ROM made by William Ma aka zephiK. In his XDA thread, the description is exactly what it is: Chroma is a lightweight AOSP ROM focused on security exploits, battery, performance and stability.

Device: Google Nexus 5 (16GB Black)
ROM: Chroma Rom (5.1.1 LYZ28J – 01/09/15)
Kernel: Blu_Spark (r20)
Software: Kernel Adiutor (ROOT), Art – Layers Theme

The current build of Chroma is based off Android 5.1.1_r12 build LYZ28J. I coupled this with Blu_Spark kernel (formerly Code_Blue) by the amazing Rui Santos aka eng_stk. This kernel runs perfectly stock and most people won’t need to change any settings.

I thought I would share my current setup as I previously have with my other ROM/kernel/device configurations. I use Kernel Adiutor (ROOT) application for changing all the settings. I like a darker theme, and since Chroma supports layers, I use Art for my theme.

As for undervolting, my CPU is a “PVS-0”. Taken from this post you can check what PVS revision your CPU is. Just remember, with undervolting not all CPU’s are the same, so YMMV.

The Qualcomm (S4 Pro) SoC has 4 different variant. Slow, Nominal, Fast and Faster (0, 1, 2, 3). Faster variants can undervolt a lot lower than the rest, or it should already be pre-configured automatically at a lower voltage like the Nexus 4, so some Xperia Z will have less heat and perform better in battery life. For example, for nominal variants, they might only be able to undervolt around -100mV while faster variants can undervolt around 175mV – 250mV.

CPU Tab

  • CPU Maximum Frequency = 1728MHz
  • CPU Minimum Frequency = 300MHz
  • CPU Governor = blu_active
  • Multicore Power Saving = Aggressive

CPU Governor Tunables

  • above_hispeed_delay = 120000
  • bootpulse_duration = 80000
  • go_hispeed_load = 95
  • hispeed_freq = 960000
  • input_boost_freq = 729600
  • io_is_busy = 1
  • low_load_down_threshold = 10
  • max_freq_hysteresis = 100000
  • min_sample_time = 10000
  • timer_rate = 40000
  • timer_slack = 30000

CPU Voltage

  • 300000 = 700000 (-100)
  • 422000 = 700000 (-100)
  • 652000 = 735000 (-75)
  • 729000 = 745000 (-75)
  • 883000 = 765000 (-75)
  • 960000 = 775000 (-75)
  • 1036000 = 785000 (-75)
  • 1190000 = 810000 (-75)
  • 1267000 = 820000 (-75)
  • 1497000 = 855000 (-75)
  • 1574000 = 870000 (-75)
  • 1728000 = 900000 (-75)
  • 1958000 = 945000 (-75)
  • 2265000 = 1000000 (-75)

CPU Hotplug

  • Minimum CPU Online = 1
  • Maximum CPU Online = 3
  • Max Cores Screen Off = 1
  • CPU Maximum Screen Off Frequency = 652MHz
  • Up Threshold = 95%
  • Up Timer Control = 1
  • Down Timer Control = 3

GPU

  • GPU Maximum Frequency = 200MHz
  • CPU Governor = powersave

Screen

  • Gamma Profile = Aditya TRUERGB
  • Backlight Dimmer = On
  • Minimum Brightness = 1

Battery

  • USB Fast Charge = On

I/O Scheduler

  • Scheduler = fiops
  • Read-ahead = 1536kB