• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [STOCK][LINARO 4.9.3] Volt Uno v3.3

whoshotjr2006

Android Enthusiast
Jul 31, 2012
680
1,252
Ohio
Based on the ZV5 kernel, compatible with the stock rom only. Dont flash this on cm11, cm12, omnirom, etc and expect it to work. It wont, and will just leave you disappointed.

I'm calling this Volt Uno, as a nod to the fact that it seems to be our first stock rom custom kernel.

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

compiled with linaro 4.9.3 with cortex a15 and neon optimizations. used -03 compiler flags.

Tested setting io schedulers and governers with apps on the market, mainly No-Frills CPU Control, Trickstermod, and Faux Clock.

the following governors are present right now:
conservative
ondemand
userspace
powersave
interactive (fixed as of v3.2)
smartassv2 (fixed as of v3.3)
performance
intellidemand 5.5
and the following thanks to chevanlol360:
lionheart
wheatley
intelliactive
hotplug
lazy
minmax

the following io schedulers are present right now:
noop
deadline
row
cfq
bfq
sioplus
sio
fifo
fiops
vr
zen

-added faux simple gpu governor (dont set interactive cpu gov with it, causes freeze and reboot)
-faux sound control 3.4 (thanks chevanlol360)
-added frandom
-added intelliplug 3.8
-kernel samepage merging
-1.6ghz overclock
-modded ramdisk to give root to adb by default (needs insecure adbd)
-ramdisk init.d support
-intellithermal
-fast charge (USE AT YOUR OWN RISK)
-other stuff that i forgot to document

Todo:
add insecure adbd (adb remount)
otg
any suggestions you guys may have ill look into it

As of right now, Gpu overclock and underclock WILL NOT work with the stock rom. Also, cpu underclock will not work either. The code is there and compiled, its an issue with the stock rom that im still tracking down.

You can use trickstermod or Faux clock from market to turn off mpdecision and use intelliplug instead. Intelliplug will let you use combinations of the 4 cores in our phone. Hotplug, (turning off intelliplug and mpdecision) will produce super quick response with the drawback of greatly reduced battery life.

To get around the whole adb remount and adb as root issue right now, go on xda and look for "Adbd Insecure" or be awesome and support a hell of a dev by buying it from chainfire in the market. (no affiliation with any program or developer mentioned, just recognize how much all of them have done for our devices)

I decided against disabling or setting SELinux to permissive. It works fine just how it is, and nothing this kernel does needs it. If you want to set SELinux to permissive, there are apps in the market or you can use adb:

su setenforce 0
getenforce (should say permissive)

download link:
https://www.androidfilehost.com/?fid=23991606952606847
(Note: this is now a TWRP flashable zip. I dont support flashing with CWM even though it may work.)

It would be awesome if you guys could tell me if you see any differences in benchmarks or general usage.
 
Last edited:
Flashed it and ran some benchmarks, here's some screenshots. On the Vellamo screenshot, the gray scores are with the stock kernel. On the Speed test, the bottom score is stock. The Quadrant are listed stock first.
Not sure if these are anomalous or indicative of possible issues with the kernel.
 
Last edited:
Upvote 0
Oops... Hit the wrong button. As you can see, in Quadrant, the score dropped about 200 points. In speed test, the stock test was solid speed for the whole test, after flashing, it would slowly degrade as the rest proceeded. Vellamo kind of traded off on the 2 tests... One got better, the other got worse.
 

Attachments

  • 1430606648619.jpg
    1430606648619.jpg
    49.6 KB · Views: 223
  • 1430606672538.jpg
    1430606672538.jpg
    61.7 KB · Views: 194
  • 1430606698281.jpg
    1430606698281.jpg
    61.4 KB · Views: 235
  • 1430606711229.jpg
    1430606711229.jpg
    58.9 KB · Views: 232
  • Like
Reactions: spocko
Upvote 0
Oops... Hit the wrong button. As you can see, in Quadrant, the score dropped about 200 points. In speed test, the stock test was solid speed for the whole test, after flashing, it would slowly degrade as the rest proceeded. Vellamo kind of traded off on the 2 tests... One got better, the other got worse.

You'll have to check which governor and io scheduler your running. I set them differently from stock kernel. I know governor is interactive default in volt uno, I don't remember which io scheduler I set default though. That can make the difference in benchmarks. I'll set them to reflect the stock kernel default and re release.

Edit: i guess row was default io sched and interactive was default governor, where row and on demand were default in stock. I changed it to reflect stock and am rebuilding.

This means you guys will have to change gov and io sched to what you want, I won't deviate from stock defaults.
 
Last edited:
  • Like
Reactions: bg4m3r and spocko
Upvote 0
I forgot to even look at those.

Edit: Installed no frills cpu control, it says it's set to row and on demand.

Just making sure, your sure you have volt uno flashed? It should be interactive and row if you flashed volt uno.

Also make sure you don't have no frills set to remember on demand and row for testing.

Edit: weird, mines doing the same thing now defaulting to on demand and row even with uno flashed. I'll see what I can do to figure it out.
 
Last edited:
Upvote 0
What should system information say under kernel if uno was successfully flashed?

It'll only say kernel version 3.4.0.

You can use a program to get extended kernel information and it'll say jesse@blahblah. That's the uno kernel.

The real easy way to check is to install no frills or something like it and check to see if you have all the governors and io schedulers listed in the original post in this thread.
 
  • Like
Reactions: sorheim
Upvote 0
Yo, I saw your looking at adding oc. I think you should also look at faux's simple gov for GPU, and the custom mpdecsion. I've noticed with stock kernel the gpu is always at 320mhz at idle. BTW I flashed with flashify no issues here.
 
Last edited by a moderator:
Upvote 0
New build up in op, it says Uno v2, disregard. My bad. Its v1 with ondemand and row set as default.

Also, in the 2nd post, is the Volt Uno Toolkit. Everything you need to build your own custom stock based kernel for the Volt. Check it out if your curious about building a custom kernel for the first time, I tried to document everything the build scripts are doing so anyone that wants to can learn.

Yo, I saw your looking at adding oc. I think you should also look at faux's simple gov for GPU and the custom mpdecsion. BTW I flashed with flashify no issues here.

Would you happen to have a tutorial or some kind of code I can reference? Thats the hardest part about all of this, is finding how people did what they did. I wanna start a new trend, documenting everything so the next guy/gal on the next device can figure everything out. The android world, for being such an open place, is really pretty closed if your a dev or trying to learn to dev.
 
Upvote 0
I haven't tried this kernel yet as the stock seems plenty fast so far BUT I'd hop on if you could get a OC working and OTG support turned on. Also what about ZRAM?

Looking at oc right now, can't get a clear code snippet for otg and it looks like a pain in the butt, and I think zram is an init script if I remember right, which is outside the scope of this project.

I'm always open for code reviews if you have anything to point me to.

Also, there is a possibility that even if we get otg working, you may still need a y cable to use to power the USB device. A lot of devices need the extra power, and I have not researched far enough about otg to know for sure yet with the volt.
 
Last edited:
Upvote 0
Looking at oc right now, can't get a clear code snippet for otg and it looks like a pain in the butt, and I think zram is an init script if I remember right, which is outside the scope of this project.

I'm always open for code reviews if you have anything to point me to.

Also, there is a possibility that even if we get otg working, you may still need a y cable to use to power the USB device. A lot of devices need the extra power, and I have not researched far enough about otg to know for sure yet with the volt.

hey any idea about how big zram size should be? im not finding much on related devices.

Afaik ZRAM is a module that enabled in the kernel, after which you can choose how big and how many ZRAM partitions there should be (usually 1 per cpu core) by passing variables to the module as you load it.

As for OTG, I have a OTG cable I created by connecting the 4th and 5th pins together on the micro b side for my Moto G that worked fine with no external power but it did not work on the CM12.1 Unofficial Beta by Bad_MOFO_33. I do know some devices needed a resistor on the 4th pin to tell the device that a OTG cable is connected but I don't know if the LG Volt needs it.

Sorry though, I've never messed with android kernels though so I have no idea what so ever where to enable anything anywhere
 
Upvote 0
Just making sure, your sure you have volt uno flashed? It should be interactive and row if you flashed volt uno.

Also make sure you don't have no frills set to remember on demand and row for testing.

Edit: weird, mines doing the same thing now defaulting to on demand and row even with uno flashed. I'll see what I can do to figure it out.
Yup, it's installed. I set it to interactive and row with no frills.
 

Attachments

  • 1430671258684.jpg
    1430671258684.jpg
    48.9 KB · Views: 159
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones