[KERNEL] | WildKernel Build #5 Reloaded 2 | Featurlicous | Tame Companion | Nov 7

Search This thread

Emmanuel U

Inactive Recognized Developer
Jul 29, 2011
1,783
2,608
24
Chi-Town Suburbs
WildKernel
for LG Optimus G Pro (E98x & F240x Variants)


Go check out Tame! It goes great with this and it handles OTA updates for this kernel.

Unrelated: Is your Gpro camera buggy?

This is a Linux based (3.4.0) Kernel which is maintained by me, and kept inline with the CyanogenMod Kernel so this is compatible with ALL the latest 5.x AOSP Roms (unless otherwise stated in the ROM).

Please report anything good and bad so that I know what to keep and what not to keep for the next release. This also helps me push out fixes faster when presented with lots of information (such as logs etc.).

Please see changelogs for an in-depth look at features. Also take a look at the screenshots for a sneak peek.
Feeling like a critic? Leave a review!


Link broken? Try one of the mirrors, Still a no go? Goto my signature and click the file backups link, then navigate to what you were looking for.


So what is this mysterious zip file doing to my device?
Code:
[B]Note: Your phone must already have a booting ROM installed for WildKernel to work. If you find yourself not booting 
after installing WildKernel, reinstall your ROM zip then reboot. Ensure that it boots now, then try installing WildKernel again. 
If it fails a second time, yell at me below in this thread preferably with a log of some sort attached.[/B]

1. Extracts boot partition and de-lokifies it for manipulation.
2. Takes our new file and decompiles a now readable boot image to utilize its ramdisk, the one currently installed in your ROM
3. Then, it fuses my kernel image with your ROM's ramdisk to form a new boot image
4. Our new boot image is loki-fied and flashed to your boot partition

Assuming that these 4 steps were successful, you can now show your new phone off to your friends.


Download_Button.gif

There is NO need to clear caches, kernel installer handles everything. Just flash and reboot.
E98x Build #5 Reloaded: Primary | Mirrors: #1 / #2
F240x Build #5 Reloaded #2: Primary | Mirrors: #1 / #2

All Releases: AFH | TRU Mirrors


Thanks:
TeamChopsticks & CyanogenMod
TeamSXL
SultanXDA
mcaserg
TeamDS
faux123
Tamcore
cretin45
showp1984
RomanBB
Mito Takatori
and any others I may have missed



Info on Governors/Schedulers
You may find my source hosted @ Github

What Do I Pack?
Tame (duhh)
CM 12.1 10/2/16 & Minimal Gapps 5.1
Ondemand on 1st core @ 384-1782mhz
Performance on other cores @ 1458mhz
CFQ Scheduler
4th core disabled
Stock Voltage
GPU: 320mhz

Did you read the announcement? (page header)



XDA:DevDB Information
WildKernel for the LG Optimus G Pro (E98x & F240x Devices), Kernel for the LG Optimus G Pro

Contributors
Emmanuel U
Source Code: https://github.com/EmmanuelU/wild_kernel_lge_gproj/

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: Build #5
Stable Release Date: 2015-10-28

Created 2015-04-01
Last Updated 2015-11-07
 
Last edited:

Emmanuel U

Inactive Recognized Developer
Jul 29, 2011
1,783
2,608
24
Chi-Town Suburbs

Changelog:
Code:
[B]November 7, 2015 - Build #5 Reloaded #2[/B]
1. Fixed blackouts for [B]F240x[/B] (my changes weren't previously applied in last update)


[B]October 28, 2015 - Build #5 Reloaded[/B]
1. Reverted CM's color adjustment code that created the possibility for blackouts, this is a workaround. There is still a problem with mdp but this will prevent any more blackouts.


[B]September 23, 2015 - Build #5[/B]
1. Mpdecision re-enabled (recommended), intelliplug still available just disabled by default
2. Support for customizing HBLN's pattern style
3. Updates from CM Upstream
4. Misc memory patches
5. Interactive governor updated from upstream


[B]August 16, 2015 - Build #4[/B]
1. Implement DoubleTap2Wake and Sweep2Wake
2. Improve lge_touch_core logic for wake features


[B]June 21, 2015 - Build #3[/B]
1. Touch Boost updates and revamps
2. Added Governors: Adaptive, Intellidemand, Lionheart, SmartassV2 and Wheatley
3. Patch and tweak govenors
4. Added TCP Congestion controllers: Westwood and Veno
5. Made CUBIC the default TCP Congestion Controller
6. Disabled mpdecision
7. Added [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/03fd621788eb48a77e88cff990048687ca6e877d"]Intelliplug[/URL]
8. Misc patches for my drivers


[B]April 19, 2015 - Build #2 Reloaded[/B]
1. Synchronized F240x Kernel to include FauxSound (oops heh should've already been added)
2. 5.1 Bootloop issues seem to have been fixed as reported by my testers, but let me know. Thanks SultanXDA for the pointer.


[B]April 16, 2015 - Build #2[/B]
1. Support for the LG F240x Variants
2. Thermald Re-enabled, but [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/46ee361bc0023a75a47381ec0cfdc9b341ce6e7c"]limited[/URL].
3. Created the ability to [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/dc3f14b3c5a234fe8d83f93bb8a551efe21e5c45"]disable secondary CPUs[/URL], to save power.
4. Added ability to use USB Fast Charge
5. Added FauxSound Support
6. Increased regular charge current max to 1500mA for faster regular charging too
7. [STRIKE]Lollipop 5.1.x is now supported[/STRIKE]


[B]April 1, 2015 - Build #1[/B]
1. Initial Release - Official CM Kernel
2. Home Button: Added Support for Forcing Notification Pulse Intervals
3. Home Button: Added Support for Forcing Notification Pulse Blink Colors
4. Ondemand & Interactive patches
5. Input Boost Driver by SultanXDA
6. My [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/42e759fda2d4643334452ddc6866926e510f29a3"]Retain Cpufreq driver[/URL]
7. Thermald HAL disabled, [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/1dee7142d398677aa6814d454f1619ebd9244970"]here's why[/URL].
8. Disabled some unneeded debugging
9. ROW patches
10. Voltage Control Support
11. 2.1ghz support (overclock with discretion, no device is built the same)


Things You Should Know:

This kernel supports overclocking of up to 2.1ghz, however don't report instability as no 2 devices are built equal. If you feel the need to overclock, experiment with what your device can handle.

Automatically Disable HW Overlays:
As you know, our ROMs currently have graphical issues caused by our MDP drivers and need HW Overlays disabled as a workaround. Well you can add this to a Run At Boot Script in my app Tame (or your own script, ran with su) to save yourself having to manually re-enable it.
Code:
service call SurfaceFlinger 1008 i32 1


Every custom feature in this kernel can be easily configured with Tame (highly recommended), however here is how you can configure things using your favorite ADB/Terminal shell if you're feeling independent.

CPU Control:
Code:
You should be able to understand what I'm doing here. replace cpu0 with cpu[1-3] to change your secondary cores.

echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1728000"> /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Voltage Control:
Code:
Overvolt CPU by 25mV
echo "+25000" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

Undervolt CPU by 25mV
echo "-25000" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

Note:
Values are complimentary. so to undo voltage changes, reboot or input the opposite of what you had previously input.

Home Button Light Notification Control:
Code:
Force all notifications to pulse red (you must input a RGB value)
echo "FFFFFF" > /sys/class/leds/R/device/led_blink_rgb

Force all notifications to pulse for 300 milliseconds, every 1.5 seconds
echo "300 1500" > /sys/class/leds/R/device/led_blink_interval

Input Boost Control:
Code:
Dynamically raise minimum frequency for touch events (in 3 levels).

Enable
echo 1 > /sys/kernel/cpu_input_boost/enabled

Set the boost levels for CPU #1-3 (CPU #1 is the highest level)
echo "1134000 918000 702000" > /sys/kernel/cpu_input_boost/boost_freqs

GPU Control:
Code:
View available GPU clock frequencies
cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies

Set max GPU Clock to 400mhz
echo 400000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk

USB Fast Charge:
Code:
This only effects non-wall chargers, wall charging is already allowed max current (1500mA)

Enable maximum speed charging (1500mA under best conditions)
echo 1 > /sys/kernel/fast_charge/force_fast_charge

Limit USB charging to 1300mA
echo 2 > /sys/kernel/fast_charge/force_fast_charge
echo 1300 > /sys/kernel/fast_charge/fast_charge_level

CPU Toggler:
Code:
I recommend disabling CPUs in greatest to least order (4-1) to avoid any possible issues, so disable your 4th core before your 3rd etc. Disabling cores can save power, but also be wary that disabling too many with to little power may slow your device down to a point of it being detrimental.

Disable 4th CPU
echo 0 > /sys/devices/system/cpu/cpu3/enabled

Disable 3rd CPU
echo 0 > /sys/devices/system/cpu/cpu2/enabled

Custom Wake Triggers:
Code:
Note: These features prevent your touchscreen from fully entering sleep, which can consume (slightly noticeable) battery

DoubleTap2Wake - Double tap the center of your screen
echo 1 > /sys/android_touch/doubletap2wake

Sweep2Wake - Sweep your finger from the left part of the screen to the right
echo 1 > /sys/android_touch/sweep2wake

TCP Control:
Code:
Note: It's a common misconception that certain protocols are the best for everyone. While this has a small truth, it ultimately depends on your connection speeds and distance. I would disregard what you may have read about reviews of various protocols, and experiment to see which one works the best for you.

See available protocols
sysctl net.ipv4.tcp_available_congestion_control

Change protocol to westwood
sysctl -w net.ipv4.tcp_congestion_control=westwood
 
Last edited:

Emmanuel U

Inactive Recognized Developer
Jul 29, 2011
1,783
2,608
24
Chi-Town Suburbs
How to make your Developer's Day

Bug Reporting:

Things marked in bold are things you should mention in a bug report to any developer, to make our lives easier.
To be clear as I'm writing this, almost all bugs you encounter are unrelated to your kernel. Most issues stem from the ROM/app/mod you're running, however on the rare occasion, I may be at fault :p

Well first off, let's narrow down the bug. Assuming your phone rebooted at some point, what caused your phone to reboot? Assuming you're running the latest version of my kernel, did your phone reboot when you were using it, or did you notice it reboot by itself when you weren't using.
Were you overlocking or playing a game? - IF SO stop yourself right here. This is your fault haha I win, otherwise keep going down.
Okay, can you reproduce this reboot? If so, this is a major giveaway that it is indeed an issue.

Reproducing your bug, to capture:
So now I'm gonna need 2 files off your device. Note, you need ADB drivers installed on your computer (google it), and your device plugged in.
First: Plug your device into your computer, to prepare to capture your error.
2nd: Logcat.
Once device is plugged, run:
Code:
adb  logcat > logcat.txt
While this is running, reproduce your bug. If your phone doesn't reboot, this is probably not a kernel issue, but reboot yourself and keep going anyway.

Next we will retrieve your KMSG, once phone has rebooted run
Code:
adb pull /proc/last_kmsg kmsg.txt
Note: above will retrieve kernel logs right up until your phone powers off, from the LAST session. Battery pulling, or rebooting twice will overwrite this log and make it irrelevant.

You will now have 2 files logcat.txt and kmsg.txt. Attach em to a Pastebin or attach them to your post.


moe coming soon
 
Last edited:
Oct 6, 2014
36
17
Kragujevac
Xiaomi Mi A2
Awesome!

Nice build dude. Rock solid on ressurection remix 5.3.8 thx to @Alezzander_ . Its first OC capable kernel since android 4.3 time :) (that rus mcaserg was a real genius too bad he abandoned this phone)
Maybe you two can combine your intelligence and give us something unseen on g pro scene :) @Snepsts
Didnt checked my pvt but i need +20 mV to get 2GHz stable (on default instant reboot)
And btw faux sound would be nice :) Thx dev!
 

Emmanuel U

Inactive Recognized Developer
Jul 29, 2011
1,783
2,608
24
Chi-Town Suburbs
Awesome! Thanks for this @Emmanuel U.. I could include it in BlissPop if you wouldn't have a problem with that (with credits to you of course).. It's running so smooth on my latest version..Do you have plans for underclocking?
I used to believe that this would be beneficial for the primary core, but after gathering knowledge, now I believe that adding lower clock steps on phones like these (~384mhz) has more harm than good. If the phone is willing to idle, it'll suspend into low power otherwise we shouldnt allow it to scale to such low freqs as it won't be getting any work done at those freqs. I'm working on ideas for battery consumption (I do already get about 7.5 SOT), but I cant see myself adding lower freq steps. Feel free the lower your CPU voltage though.

Oh yea feel free to include this kernel in your ROMs, and this goes for any developer wishing to do the same
 
Last edited:

nerdyblonde

Senior Member
Mar 6, 2013
819
1,638
Virginia
I used to believe that this would be beneficial for the primary core, but after gathering knowledge, now I believe that adding lower clock steps on phones like these (~384mhz) has more harm than good. If the phone is willing to idle, it'll suspend into low power otherwise we shouldnt allow it to scale to such low freqs as it won't be getting any work done at those freqs. I'm working on ideas for battery consumption (I do already get about 7.5 SOT), but I cant see myself adding lower freq steps. Feel free the lower your CPU voltage though.

Wow... Is that with a stock battery or the big Zero Lemon batteries?
 

ecrum

Senior Member
Nov 19, 2012
201
63
please have mercy on the F240k/L users . we barely see any kernel for us :(
 

Emmanuel U

Inactive Recognized Developer
Jul 29, 2011
1,783
2,608
24
Chi-Town Suburbs

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    WildKernel
    for LG Optimus G Pro (E98x & F240x Variants)


    Go check out Tame! It goes great with this and it handles OTA updates for this kernel.

    Unrelated: Is your Gpro camera buggy?

    This is a Linux based (3.4.0) Kernel which is maintained by me, and kept inline with the CyanogenMod Kernel so this is compatible with ALL the latest 5.x AOSP Roms (unless otherwise stated in the ROM).

    Please report anything good and bad so that I know what to keep and what not to keep for the next release. This also helps me push out fixes faster when presented with lots of information (such as logs etc.).

    Please see changelogs for an in-depth look at features. Also take a look at the screenshots for a sneak peek.
    Feeling like a critic? Leave a review!


    Link broken? Try one of the mirrors, Still a no go? Goto my signature and click the file backups link, then navigate to what you were looking for.


    So what is this mysterious zip file doing to my device?
    Code:
    [B]Note: Your phone must already have a booting ROM installed for WildKernel to work. If you find yourself not booting 
    after installing WildKernel, reinstall your ROM zip then reboot. Ensure that it boots now, then try installing WildKernel again. 
    If it fails a second time, yell at me below in this thread preferably with a log of some sort attached.[/B]
    
    1. Extracts boot partition and de-lokifies it for manipulation.
    2. Takes our new file and decompiles a now readable boot image to utilize its ramdisk, the one currently installed in your ROM
    3. Then, it fuses my kernel image with your ROM's ramdisk to form a new boot image
    4. Our new boot image is loki-fied and flashed to your boot partition
    
    Assuming that these 4 steps were successful, you can now show your new phone off to your friends.


    Download_Button.gif

    There is NO need to clear caches, kernel installer handles everything. Just flash and reboot.
    E98x Build #5 Reloaded: Primary | Mirrors: #1 / #2
    F240x Build #5 Reloaded #2: Primary | Mirrors: #1 / #2

    All Releases: AFH | TRU Mirrors


    Thanks:
    TeamChopsticks & CyanogenMod
    TeamSXL
    SultanXDA
    mcaserg
    TeamDS
    faux123
    Tamcore
    cretin45
    showp1984
    RomanBB
    Mito Takatori
    and any others I may have missed



    Info on Governors/Schedulers
    You may find my source hosted @ Github

    What Do I Pack?
    Tame (duhh)
    CM 12.1 10/2/16 & Minimal Gapps 5.1
    Ondemand on 1st core @ 384-1782mhz
    Performance on other cores @ 1458mhz
    CFQ Scheduler
    4th core disabled
    Stock Voltage
    GPU: 320mhz

    Did you read the announcement? (page header)



    XDA:DevDB Information
    WildKernel for the LG Optimus G Pro (E98x & F240x Devices), Kernel for the LG Optimus G Pro

    Contributors
    Emmanuel U
    Source Code: https://github.com/EmmanuelU/wild_kernel_lge_gproj/

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: Build #5
    Stable Release Date: 2015-10-28

    Created 2015-04-01
    Last Updated 2015-11-07
    9

    Changelog:
    Code:
    [B]November 7, 2015 - Build #5 Reloaded #2[/B]
    1. Fixed blackouts for [B]F240x[/B] (my changes weren't previously applied in last update)
    
    
    [B]October 28, 2015 - Build #5 Reloaded[/B]
    1. Reverted CM's color adjustment code that created the possibility for blackouts, this is a workaround. There is still a problem with mdp but this will prevent any more blackouts.
    
    
    [B]September 23, 2015 - Build #5[/B]
    1. Mpdecision re-enabled (recommended), intelliplug still available just disabled by default
    2. Support for customizing HBLN's pattern style
    3. Updates from CM Upstream
    4. Misc memory patches
    5. Interactive governor updated from upstream
    
    
    [B]August 16, 2015 - Build #4[/B]
    1. Implement DoubleTap2Wake and Sweep2Wake
    2. Improve lge_touch_core logic for wake features
    
    
    [B]June 21, 2015 - Build #3[/B]
    1. Touch Boost updates and revamps
    2. Added Governors: Adaptive, Intellidemand, Lionheart, SmartassV2 and Wheatley
    3. Patch and tweak govenors
    4. Added TCP Congestion controllers: Westwood and Veno
    5. Made CUBIC the default TCP Congestion Controller
    6. Disabled mpdecision
    7. Added [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/03fd621788eb48a77e88cff990048687ca6e877d"]Intelliplug[/URL]
    8. Misc patches for my drivers
    
    
    [B]April 19, 2015 - Build #2 Reloaded[/B]
    1. Synchronized F240x Kernel to include FauxSound (oops heh should've already been added)
    2. 5.1 Bootloop issues seem to have been fixed as reported by my testers, but let me know. Thanks SultanXDA for the pointer.
    
    
    [B]April 16, 2015 - Build #2[/B]
    1. Support for the LG F240x Variants
    2. Thermald Re-enabled, but [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/46ee361bc0023a75a47381ec0cfdc9b341ce6e7c"]limited[/URL].
    3. Created the ability to [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/dc3f14b3c5a234fe8d83f93bb8a551efe21e5c45"]disable secondary CPUs[/URL], to save power.
    4. Added ability to use USB Fast Charge
    5. Added FauxSound Support
    6. Increased regular charge current max to 1500mA for faster regular charging too
    7. [STRIKE]Lollipop 5.1.x is now supported[/STRIKE]
    
    
    [B]April 1, 2015 - Build #1[/B]
    1. Initial Release - Official CM Kernel
    2. Home Button: Added Support for Forcing Notification Pulse Intervals
    3. Home Button: Added Support for Forcing Notification Pulse Blink Colors
    4. Ondemand & Interactive patches
    5. Input Boost Driver by SultanXDA
    6. My [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/42e759fda2d4643334452ddc6866926e510f29a3"]Retain Cpufreq driver[/URL]
    7. Thermald HAL disabled, [URL="https://github.com/EmmanuelU/wild_kernel_lge_gproj/commit/1dee7142d398677aa6814d454f1619ebd9244970"]here's why[/URL].
    8. Disabled some unneeded debugging
    9. ROW patches
    10. Voltage Control Support
    11. 2.1ghz support (overclock with discretion, no device is built the same)


    Things You Should Know:

    This kernel supports overclocking of up to 2.1ghz, however don't report instability as no 2 devices are built equal. If you feel the need to overclock, experiment with what your device can handle.

    Automatically Disable HW Overlays:
    As you know, our ROMs currently have graphical issues caused by our MDP drivers and need HW Overlays disabled as a workaround. Well you can add this to a Run At Boot Script in my app Tame (or your own script, ran with su) to save yourself having to manually re-enable it.
    Code:
    service call SurfaceFlinger 1008 i32 1


    Every custom feature in this kernel can be easily configured with Tame (highly recommended), however here is how you can configure things using your favorite ADB/Terminal shell if you're feeling independent.

    CPU Control:
    Code:
    You should be able to understand what I'm doing here. replace cpu0 with cpu[1-3] to change your secondary cores.
    
    echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    echo 1728000"> /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    Voltage Control:
    Code:
    Overvolt CPU by 25mV
    echo "+25000" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
    
    Undervolt CPU by 25mV
    echo "-25000" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
    
    Note:
    Values are complimentary. so to undo voltage changes, reboot or input the opposite of what you had previously input.

    Home Button Light Notification Control:
    Code:
    Force all notifications to pulse red (you must input a RGB value)
    echo "FFFFFF" > /sys/class/leds/R/device/led_blink_rgb
    
    Force all notifications to pulse for 300 milliseconds, every 1.5 seconds
    echo "300 1500" > /sys/class/leds/R/device/led_blink_interval

    Input Boost Control:
    Code:
    Dynamically raise minimum frequency for touch events (in 3 levels).
    
    Enable
    echo 1 > /sys/kernel/cpu_input_boost/enabled
    
    Set the boost levels for CPU #1-3 (CPU #1 is the highest level)
    echo "1134000 918000 702000" > /sys/kernel/cpu_input_boost/boost_freqs

    GPU Control:
    Code:
    View available GPU clock frequencies
    cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
    
    Set max GPU Clock to 400mhz
    echo 400000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk

    USB Fast Charge:
    Code:
    This only effects non-wall chargers, wall charging is already allowed max current (1500mA)
    
    Enable maximum speed charging (1500mA under best conditions)
    echo 1 > /sys/kernel/fast_charge/force_fast_charge
    
    Limit USB charging to 1300mA
    echo 2 > /sys/kernel/fast_charge/force_fast_charge
    echo 1300 > /sys/kernel/fast_charge/fast_charge_level

    CPU Toggler:
    Code:
    I recommend disabling CPUs in greatest to least order (4-1) to avoid any possible issues, so disable your 4th core before your 3rd etc. Disabling cores can save power, but also be wary that disabling too many with to little power may slow your device down to a point of it being detrimental.
    
    Disable 4th CPU
    echo 0 > /sys/devices/system/cpu/cpu3/enabled
    
    Disable 3rd CPU
    echo 0 > /sys/devices/system/cpu/cpu2/enabled

    Custom Wake Triggers:
    Code:
    Note: These features prevent your touchscreen from fully entering sleep, which can consume (slightly noticeable) battery
    
    DoubleTap2Wake - Double tap the center of your screen
    echo 1 > /sys/android_touch/doubletap2wake
    
    Sweep2Wake - Sweep your finger from the left part of the screen to the right
    echo 1 > /sys/android_touch/sweep2wake

    TCP Control:
    Code:
    Note: It's a common misconception that certain protocols are the best for everyone. While this has a small truth, it ultimately depends on your connection speeds and distance. I would disregard what you may have read about reviews of various protocols, and experiment to see which one works the best for you.
    
    See available protocols
    sysctl net.ipv4.tcp_available_congestion_control
    
    Change protocol to westwood
    sysctl -w net.ipv4.tcp_congestion_control=westwood
    9
    Updates!

    You have asked, I have listened...enjoy
    7
    Update

    Y'all have yelled, and I've listened. New update out today, and special thanks to testers that aided this release.
    7
    Updates

    Build #3 is out now, enjoy!