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

Search This thread

faZevoLv

Senior Member
Mar 12, 2012
1,061
1,160
28
Nantwich
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.

+1
music just stops randomly, but doesn't force close, and to play again I have to pause it, wait a few seconds, then press play and it status from the beginning :S it only happens using this kernel, any ideas?
 

troublecro

Senior Member
Mar 7, 2010
322
46
Zagreb
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...

Sorry for repeating myself,how must I rename 1.2 kernel to work Max/min 710/176?

"LV_1.2__-M710-m176"? Or?
 

riemervdzee

Retired Recognized Developer
May 27, 2010
593
292
Dokkum
First of all, my appologizes for the late reply. It were some busy days lately.

Thank you riemervdzee for your work.

Any news on the USB Tethering issue ?

Not really no, the original usb drivers are a mess. The 2.6.35 are much more stable, but use a different system for USB tethering. I need someone -with LV installed and a Sense rom- to try it and post me a logcat. They should be complaining about a missing file or so.. For AOSP ROMs, see for Erasmux's fix.

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.

There is nothing I can do here.. the autokiller is quite the same, only the oom values are different (and this is too internal in Linux for me to change). Sense is just bloated, I'm afraid. Try to run as least apps as possible. Also try setting the autokiller parameters to influence which apps to kill.

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...

No, as I always have disagreed with Erasmux to put such scripts into a kernel installing flashable. You see, the CPU frequencies ain't a kernel setting, but they are saved in the /system/etc/init.d/XXsomething. However... as the LV kernel doesn't do anything with this file, the script will remain to function.
To long, didn't read: You can install FlyKernel the renaming way, to get the wanted frequencies and then install LV for the kernel.

+1
music just stops randomly, but doesn't force close, and to play again I have to pause it, wait a few seconds, then press play and it status from the beginning :S it only happens using this kernel, any ideas?

Try tweaking the autokiller parameters, there should be either apps for it or some ROM scripts.

is this kernel supporting swap?
i partitioned my card with a sd-ext partition and a swap partition, and want to try it with a cm7.2 rom
Greetings,

Yes.
 
  • Like
Reactions: faZevoLv

riemervdzee

Retired Recognized Developer
May 27, 2010
593
292
Dokkum
I'm currently investigating Linaro aye. Not sure how it will affect LV (due the hero being only armv6), but a newer toolchain is always welcome. My previous is GCC 4.3.3, while I got the linaro gcc 4.6.3 toolchain now.

I think it would be more interesting to build both the ROM and kernel with the Linaro toolchains, and try to implement their source changes as well. I heard CM is also attempting to merge Linaro's changes?
 

faZevoLv

Senior Member
Mar 12, 2012
1,061
1,160
28
Nantwich
I'm currently investigating Linaro aye. Not sure how it will affect LV (due the hero being only armv6), but a newer toolchain is always welcome. My previous is GCC 4.3.3, while I got the linaro gcc 4.6.3 toolchain now.

I think it would be more interesting to build both the ROM and kernel with the Linaro toolchains, and try to implement their source changes as well. I heard CM is also attempting to merge Linaro's changes?

Yes cyanogen is going to merge the linaro changes with their work, but then we need someone to build from source...
 

riemervdzee

Retired Recognized Developer
May 27, 2010
593
292
Dokkum
Yes cyanogen is going to merge the linaro changes with their work, but then we need someone to build from source...

Or wait for some HeroC linaro build to port over? (I thought you lads were building CM from source though? ah well..).

Got the kernel compiling and booting with Linaro with the -Os tag, optimizing for size. But there is hardly a difference between my previous toolchain. Optimizing for speed (Linaro is focusing on this), breaks dma.. and results in a non-compilable kernel. Thinking of fixing it by some ugly hacks, maybe when I finally got some time again.

For a small Linaro testbuild:
http://www.mediafire.com/download.php?vec1pim6z10ftaf

Note there are hardly any differences in speed at first glance. I could use some testers for stability though :)
 
  • Like
Reactions: Olean and faZevoLv

faZevoLv

Senior Member
Mar 12, 2012
1,061
1,160
28
Nantwich
Or wait for some HeroC linaro build to port over? (I thought you lads were building CM from source though? ah well..).

Got the kernel compiling and booting with Linaro with the -Os tag, optimizing for size. But there is hardly a difference between my previous toolchain. Optimizing for speed (Linaro is focusing on this), breaks dma.. and results in a non-compilable kernel. Thinking of fixing it by some ugly hacks, maybe when I finally got some time again.

For a small Linaro testbuild:
http://www.mediafire.com/download.php?vec1pim6z10ftaf

Note there are hardly any differences in speed at first glance. I could use some testers for stability though :)

downloading now, will feedback soon:)

edit: No noticeable difference on heroine++, although WiFi doesn't work...
can't wait for future releases:D
 
Last edited:

1ceb0x

Senior Member
Jun 25, 2010
5,666
6,332
The Earth
SIO scheduler

@Riemer

If I have the sio.ko file, can we implement SIO in this kernel - LV 1.2? Or I risk to end in a bootloader? :)

Cheers, and ignore my pm, I've done that thing!

Edit:
I have tried to make a folder called sio in modules, put the file there, set symlinks in updater-script, but it is not visible when trying to change scheduler from No-Frills.
Tried also to put only the sio-sched.ko file without folder (in modules), set symlinks in updater-script, but then again, it is not visible.

Giving my research on this thing, I found out that you cannot put this into modules (at least not on this kernel), and some scripts are pointing out to "/sys/block/mmc*/queue".

How can we implement this thing? I want to see if there are any difference between SIO and NOOP because on ICS, SIO works better...
 
Last edited:

CrashBX

Senior Member
Oct 27, 2010
176
30
Would it be too much to ask to make the max frequency cap at 806.4mhz instead of 748mhz? Please?
I have been searching for 806mhz kernel everywhere and I cannot find it so if you could compile it for me, that would be wonderful!
 

kemoba

Senior Member
Mar 5, 2006
738
339
Mostar
Well a while back I had a little project to compile my own kernel and I managed to do it, it was OC-able to 762 MHz I think. Although I didn't build any modules with it so Wi-Fi didn't work. If you want I can build the modules too and give it to you. Its highly untested so I can't guarantee it will work, I only used it for a day :D if it works out ok I might finish it. I taught noone needs it when we have LV and Fly :D

Sent from my Hero using xda app-developers app
 

CrashBX

Senior Member
Oct 27, 2010
176
30
What toolchain were you using to compile it? I am using code sourcery and everytime I try to compile, I get the -mno-unaligned-access error.
It seems you have gotten it to work. How?
 

riemervdzee

Retired Recognized Developer
May 27, 2010
593
292
Dokkum
What toolchain were you using to compile it? I am using code sourcery and everytime I try to compile, I get the -mno-unaligned-access error.
It seems you have gotten it to work. How?

Try to remove the "-mno-unaligned-access" flag from the makefile. I dropped looking into linaro as it gave me stability problems. Let me know if you find anything interesting :)

Cheers, Riemer
 

Top Liked Posts

  • There are no posts matching your filters.
  • 30
    Introduction

    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.

    Instructions
    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!

    Downloads
    Las Venturas version 1.2
    http://www.mediafire.com/download.php?7r5rcr70mh3ynb3
    md5sum: c37c43566cf882f21d0f1dde9afeb37d

    Las Venturas version 1.1
    Links:
    http://www.mediafire.com/download.php?p3csh7sajbolp13
    md5sum: 25d0fad0ac42ebf20be47f97c0511406

    Las Venturas version 0.5.0
    links:
    http://94.23.152.245/xda/rmr/Las_Venturas-0.5.0.zip (thanks to wupper!)
    http://www.multiupload.com/U6KYEOCWEE
    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%)

    Change-log
    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:
    https://github.com/riemervdzee/hero-kernel-2.6.35/wiki/Changelog

    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 ;)
    9
    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:
    Las_Venturax-0.6.2-Floyo.zip
    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)

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

    Las_Venturax-0.5d.zip
    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.

    Las_Venturax-0.5c.zip
    • 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.

    Las_Venturax-0.5a.zip
    • 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.
    9
    New flashable:
    http://94.23.152.245/xda/rmr/rmr35-015.zip (thanks to Wupper!)
    http://www.multiupload.com/43Q8P72MDN

    What should work:
    - headset via jack. Could anyone test whether the buttons on headsets and microphone work?
    - lightsensor
    8
    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
    8
    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:
    http://www.riemervanderzee.com/download/kernel-signed.zip

    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).