[DEV] Las Venturas - 2.6.35 kernel port for Hero // Version: 1.2 - 13 May

Search This thread


Senior Member
Dec 29, 2010
To be honest, superbly.

The 1.2 is lightweight but responsive, in short great work


Sent from my Hero using xda premium


Senior Member
Mar 9, 2011
Well...no comment because it's just wonderfull :)
Seriously, it's really a great kernel with nothing to say except that there's nothing to say.

It's just perfect, I feel improvements(maybe it's only in my head)

great work


Senior Member
Apr 23, 2010
Not using the hero as a daily driver anymore, but with the slight use I have had with the phone, seems great with 1.2 with flykernel i could only OC to 691 and with lv 1.2 i can get 710 stable :) seems really great :)

Sent from my Galaxy Nexus using xda premium


Retired Recognized Developer
May 27, 2010
Thanks for the feedback people, I always need issues to look into ;) Positives ones are also interesting to see,
@ ChosSimbaOne, interesting to see that you can clock a little bit higher than with the flykernel. Is it quite stable on that frequency?

@ perdita2000, could you provide me a dmesg after you just booted and a logcat when android just booted up (so when you are able to see the homescreen). I guess something is a little bit off.

@ saj222, is the amount battery of hours you can get is any different though?


Senior Member
Jun 25, 2010
The Earth
Not using the hero as a daily driver anymore, but with the slight use I have had with the phone, seems great with 1.2 with flykernel i could only OC to 691 and with lv 1.2 i can get 710 stable :) seems really great :)

Sent from my Galaxy Nexus using xda premium

Riemer, I can happily confirm that with 1.2 version I can OC my hero to 710 stable. On other versions, at 710 was fast but after a few seconds it will freeze. With the latest version is stable like a baby. I cannot believe that it doesn't freeze!

Thank you so much for this!


Retired Recognized Developer
May 27, 2010
The kernel binary has been optimalized for size instead of speed (longer but faster instructions, vs a few slower instructions). Please note that less size can increase the speed as well. Optimizing for size is in the end better for our hero's, and results in a faster phone. This is due to the small cache size in the CPU. If we had phones like super clusters, optimizing for speed would be a better idea.

Sent from my HTC One X using XDA
@riemervdzee, after allowing a couple days of normal usage and recharging I've found that the Juice Defender battery increase rate has hovered around 2.15x which is slightly higher than before with Flykernel13.

As for battery life, it is on par with normal usage at the very least. Seems to be slightly better when the phone in standby.

I noticed some weird 3G signal drop out that would occur sometimes when the phone would come out of standby. Can't recall this happening before, but then again my memory isn't the greatest... I don't even know if the kernel has anything to do with this though. Comments?

Overall, I think LV-1.2 will be my new all the time kernel. Thanks Riemer! :cool:
Last edited:


Senior Member
Oct 10, 2009
Hey Riemer,

Just flashed LV1.2 on my old Hero yesterday with CM7 and immediately noticed a serious difference!
My aunt is currently using it as a daily phone so will see how it goes :)
Thanks for your effort in this!

Sent from my SGSII CM9 with Tapatalk 2


Senior Member
Oct 14, 2010
Hi, I tried LV 1.2 on my Tegro 2.6 and I have problem with music again. I did full wipe and restore using Titanium Backup, cpufreqs are set to 614/172 smartassv2.

I can't listen songs because system kills music player service after 1-2 minutes. This can affect currently running app too. For example I was listening to musing and browsing web with opera mini. Suddenly music stoped and opera closed. What can I do? I don't want to upgrade to Android 2.2+ because I really like sense and I'm using flash player sometimes.

Also, which scheduler is better for me? I have lots of app installed (about 160), I'm using classic ext2 app2sd. Usually I got about 35 MB free ram.
Last edited:


Senior Member
Mar 7, 2010
Can I set up this kernel like flykernel for example,automaticlly OC my Hero with renaming: Flykernel-13-M710--m176?

I use VE 6.2 and I don't have CM tools for OC and I wouldn't like to use 3rd party app if i don't have to...

Top Liked Posts

  • There are no posts matching your filters.
  • 30

    After a year of developing, with many stalls due to studying, we finally reached a stable state with the 2.6.35 kernel port. It is a quite honour to introduce you all to the Las Venturas kernel for the GSM Hero. It is a kernel based on the Cyanogenmod sources with updates coming from the AuroraCode forums. (those lads from Aurora are just geniuses) The main idea behind the Las Venturas was well, a fun project. Let's be honest ;) I love deving new things and this is a really a nice project. We always strife to get the best out of our phones and the kernel has a big influence on it.
    The 2.6.35 kernel adds speed improvements but in general it provides more functionality than the 2.6.29 kernel (based on the official HTC sources). It also has newer drivers for the Framebuffer (speed), adds ext4, better USB stack for our ARM devices.

    Go to your favourite recovery. Always wipe dalvik-cache!. Flash the kernel like any other update.zip, reboot and take a coffee while it is booting. Well done! High five yourself, as you just installed 2.6.35 for your Hero!

    Las Venturas version 1.2
    md5sum: c37c43566cf882f21d0f1dde9afeb37d

    Las Venturas version 1.1
    md5sum: 25d0fad0ac42ebf20be47f97c0511406

    Las Venturas version 0.5.0
    links: (thanks to wupper!)
    md5: fa1d0b5767caa68152fe8166a7f74f4b

    The big compare list

    Current advantages:
    • full ext4 support
    • Newer overlay code, apps tend to be displayed faster than the original .29 kernel
    • Newer usb-code, more suitable for newer ROMs like Gingerbread and ICS than the .29 kernels
    • More stable GPS (no more reboots!)
    • General faster IO than 2.6.29
    • Less latency for playing sound/music
    • For the rest, it contains newer drivers for a lot of stuff. As it is a 2.6.35 kernel of course ;)
    Current disadvantages:
    • USB is experimental. Usb-tethering might not work, for non-sense ROMs you can try Erasmus fix
    • SD-card IO is slightly slower than flykernel (around 0.5%)

    Changes of last Version 1.2:
    • Faster general IO output
    • Fixed some bugs concerning SD speeds
    • Fixes to the interactive governor
    • Newer vibration-code, less latency (small impact, but everything is welcome)
    • Ashmem flushing fix
    • Code cleanup
    Full log:

    Source code
    Config used is found under kernel/arch/arm/config/hero_defconfig
    https://github.com/riemervdzee/hero-kernel-2.6.35 (0.5.0 and above)
    https://github.com/riemervdzee/cm-kernel (Older repository. For pre 0.5.0 versions)

    Thanks list:
    --> Elemag -- Initial start of this project, great advisor and debugger :)
    --> s0be -- working on the .35 fork of this project for the Hero CMDA. Good to see another dev'er at work, always inspirational
    --> Erasmux -- For his flykernel and his work on getting the .35 to work
    --> Ninpo -- Initial start of this project
    --> Feeyo -- For general fixes. Great mentor to linux/kernel programming
    --> And of course all CyanogenMod lads working on the CM-kernel

    Note that I hijacked Elemag's thread (he first opened this topic). So things might sound a bit wrong if you read the first pages ;)
    Las Venturax

    This post will contain the releases I do until Riemer has time to catch up with me: (Unless I see me and Riemer would like to go in different directions with this kernel I don't want to open another thread for "my" versions)

    Las_Venturax-0.6.2.zip (mediafire) (multiupload)
    • Scheduler tweaks (restored latency to 6ms and enabled hrtick - this time for real!)
    • SmartassV2: a few bug fixes.
    • Some upstream updates (thanks arco)

    This is a generic "smart updater package" which can also be used to do OC from boot, as explained in my FlyKernel post under
    Boot OC and optional tweaks (first post).

    USB tethering on this kernel is different from the .29 kernels most ROMs are compatible with. Fixes for CM6/7 are found on post #1029.

    More information about SmartassV2 (for users) can be found on my FlyKernel post.

    ROM Developers

    Developers aiming to integrate this kernel into their ROMs, might find it more convenient to use the following regular update package as a reference:
    In this package the kernel's ramdisk is the one compatible with Floyo 1.4.

    If you prefer to recompile the kernel yourself, you are very welcome to do so, but please share your updated sources. Obviously you are changing something (maybe very very small) otherwise why are you recompiling it? Please share with us what changes do you find to work better for you. You are also required to this by the GPL license of the kernel.

    Previous versions:

    Las_Venturax-0.6.0.zip (multiupload)
    • Tweaked scheduler parameters (lowered latency to minimum - ROM developers please do NOT overwrite the scheduler params in your init.rc)
    • Added smartassV2 governor as the new default governor - more details below (since 0.5f, tweaked built in sleep in 0.6.0)
    • Added interactiveX governor (since 0.5c)
    • Some compiler optimization (stable since 0.5e)
    • Fix for jogball notification (since 0.5a)
    • Use frequency table from fly kernel (since 0.5a)
    • Based on Las Venturas 0.5.0

    Las_Venturax-0.5f.zip (multiupload)
    • Added smartassV2 governor (set as default)

    • Added "Wireless RNDIS" - could this fix usb tethering?
    • Tweaked compiler optimizations and moved to new toolchain

    This version is a "quick fix" version trying to solve the stability issues (spontaneous reboots) reported with the 0.5c version. Only thing is I have no idea what is causing these problems so this is really a bit of a shot in the dark. Please report any stability issues, and if possible also state which ROM, what you where doing at the time and for spontaneous reboots attach a last_kmsg (i.e. "adb pull /proc/last_kmsg"). Thanks in advance to all the testers.
    • Reverted part of the compiler optimizations from 0.5c.
    • Back to NOOP scheduler
    • Default governor back to smartass. interactiveX is still available and I am still very interested in feedback regarding it.
    • Additional kernel config tweaks.

    • Added interactiveX governor by Imoseyon - for now this is the default governor (most likely a temporary situation).
    • Use BFQ I/O scheduler
    • Voodoo compilation optimizations :)
    • Fix for cpufreq time_in_state (i.e. SetCPU frequency counters) - broken only in 0.5a version (commit).

    Note regarding the "new" interactiveX governor:
    From a very quick look at its code, this governor looks promising to me, and I hope that it might provide better battery life over the current alternatives.
    I am very interested to hear about the battery and performance with this governor vs. smartass and/or ondemand.

    Some philosophical discussion on the subject:
    It seems there are quite a lot of smartass/interactive variants out there (in kernels for other devices). I also have some ideas of my own, that will hopefully manifest into a new governor someday soon (smartassV2?).
    In the meantime, interactiveX seems relatively close to smartass (also discriminates between screen on/off states), and to the best of my current understanding, in theory, given the parameters I have selected for it, I hope it might improve battery life.

    • Fix for jogball notification (commit)
    • Use frequency table from fly kernel
    • Based on Las Venturas 0.5.0

    All changes are on my github.

    Cudos to riemervdzee for all his hard work on this excellent kernel, as well as to all others who have helped to develop and test this kernel.
    New flashable: (thanks to Wupper!)

    What should work:
    - headset via jack. Could anyone test whether the buttons on headsets and microphone work?
    - lightsensor
    I finally got some time again for deving the next week. Since the OneX sources ain't out yet I decided to play a bit again with the Hero kernel. Are there still people who use it btw? ;)

    Cheers, R
    I'm really happy of the progress today :) ported lots of stuff today, gpios are now handled correctly and there isn't a device-specific version for it. Sound is now ok, microphone also works. Even (bit unexpected tbh) WiFi :)
    Will be using this as my daily kernel I think. Best way to test stuff and there aren't anymore reboots lately.

    not working:
    green/red led and trackball led. Disabled, caused random reboots when blinking (microp driver)
    lightsensor. Disabled, causes the whole system to hang @ boot (microp driver)
    Camera. Preview-mode works, but taking pictures makes the whole thing "hang"
    Bluetooth. No idea on this one...
    all audio jack stuff, H2W is not correct.
    accelerometer (bma150 driver, included but needs updating)

    Link to flashable for the interested, should be for all ROMs:

    Anyway now comes the harder stuff. The rewriting parts of drivers:
    - microp_i2c which handles all the leds and lightsensor stuff is a mess and unfortunally doesn't work.
    - accelerometer doesn't work at all? haven't had any look at it.
    - Maybe do something with the camera one?
    - qdsp5_comp has some more functions than qdsp5, however soundinput doesn't work on that one (null exception).