Welcome to the EternityProject's Kernel for HTC Endeavor / One X Thread!
What is it?
It is a custom kernel with some updates and optimizations on Tegra3 platform and Cortex A9 MPCore management drivers.
Why should I flash it?
You should flash it only if you know what are you doing. Remember that it works only on an unlocked HTC One X.
If you know what are you doing, you shouldn't ask this question.
How to flash:
1. Copy the archive
2. Flash via CWM! (Note: HBOOT 1.72 REQUIRED)
Features:
-- Dynamic overclocking
-- EternityProject HybridFrequency
-- USB HOST Mode finally working!
-- Memory and cache management optimizations
-- Modified Cortex-A9 (Tegra 3 core)'s cache behavior.
-- Latest Tegra drivers
-- Deadline I/O Scheduler as default
-- Kernel base: 3.4.37
Great results on tests.
Changelog:
Changelog 2.6.39:
Try our feature - EternityProject CPU Manager w/ EternityProject HybridFrequency (already activated) with eprjdemand governor for the BEST battery life!
=========================================================================
3.4 Download:
EternityProject Kernel 3.4 for HTC One X: EternityProject Website
=========================================================================
Using the new EternityProject Features:
EternityProject ChargerBoost:
By default, your devices allows to get 1A current only from AC adapters. With EternityProject ChargerBoost, you can allow the device to take 1A (fast charge) from your PC's USB, too!
Enable ChargerBoost: echo 1 > /sys/eprjmanager/charger_boost
Disable ChargerBoost: echo 0 > /sys/eprjmanager/charger_boost
NOTE: DETACH your USB cable prior enabling/disabling ChargerBoost, otherwise it won't work!
EternityProject PowerLock (lock in LP mode!):
Lock in LP mode: echo 1 > /sys/eprjmanager/power_lock
Unlock to auto G/LP: echo 0 > /sys/eprjmanager/power_lock
EternityProject Benchmark Mode:
echo 0 > /sys/module/eprj_t3_cpumanager/parameters/auto_hotplug
echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo 1 > /sys/eprjmanager/friedeggs
P.S.: Commands to be entered on Terminal Emulator, Script Manager (maybe), or ADB.
NOTE: Since there are plenty of ROMs, all using a different ramdisk from each other, prior complaining about "kernel not working", REPACK the kernel with your ROM's ramdisk.
Note 2: If something doesn't work, try to WIPE your CACHE!
Git:
EternityProject is now self-hosted!
ICS kernel source: http://www.gitorious...kernel-endeavor
Current GIT repositories: http://pubgit.eternityproject.eu
Donations received:
6K680223E1030333L - 6.00USD - lukemo
0UY37274TC1103825 - 10.00 EUR - boshot
79A91437HG8627136 - 5.00 EUR - ???????
6CC71999F2968203P - 5.00 USD - ???????
00D78221UD555862L - 50.00 USD - j4n87
4LE60170CG194064V - 5.00 EUR - ???????
5N288279RG209915G - 20.00 USD - eyosen
2FS83196MB691023J - 5.00 EUR - n3ocort3x
Enjoy!
The EternityProject Team Manager & Main Developer,
--kholk
What is it?
It is a custom kernel with some updates and optimizations on Tegra3 platform and Cortex A9 MPCore management drivers.
Why should I flash it?
You should flash it only if you know what are you doing. Remember that it works only on an unlocked HTC One X.
If you know what are you doing, you shouldn't ask this question.
How to flash:
1. Copy the archive
2. Flash via CWM! (Note: HBOOT 1.72 REQUIRED)
Features:
-- Dynamic overclocking
-- EternityProject HybridFrequency
-- USB HOST Mode finally working!
-- Memory and cache management optimizations
-- Modified Cortex-A9 (Tegra 3 core)'s cache behavior.
-- Latest Tegra drivers
-- Deadline I/O Scheduler as default
-- Kernel base: 3.4.37
Great results on tests.
Changelog:
Code:
v1.0b:
- Integrated WiFi firmware in kernel package
v1.0:
- Switched to new (vanilla) kernel base (Linux 3.4.37)
- Endeavor#U board reimplemented
- Tegra support implemented on vanilla kernel
- Multiboard support (LGE X3 supported)
- Switched to Device-Tree (appended)
- Removed tegra-pinmux, replaced by Linux pinctrl
- Switched to gpiolib
- Implemented EternityProject HybridFrequency
- Updates to eprjdemand (faster, lighter.. better!)
- Updates to EternityProject Tegra 3 CPUManager
- T3CPUMan's algorithms have been optimized
- Less HEAT!
- Stabler USB Host
- Alarms now working correctly
- IRQ wakeups now working correctly
- Android 4.3 kernel changes implemented
- pinctrl updated to linux 3.10 for compatibility reasons
- CPU Load calculation now working correctly
- CMA now working correctly
- Overclocked and Regular kernels are no more
- Almost FULL DVFS control allowed with EternityTweak (dl it from Play Store!)
- Other things I may be forgetting....
----------------------------------------------
------ OLD KERNEL BASE -------
----------------------------------------------
v0.99b
- Include correct WiFi drivers into the package
- eprjdemand: Tweak some parameters, make it more performance-friendly
- kholk: Happy birthday! :P
v0.99 -- MAJOR RELEASE
- New feature: EternityProject Tegra 3 CPU Manager
- EternityProject eprjdemand: Tuneup for less battery power usage
- EternityProject eprjdemand: Fix some bugs and simplify code
- EternityProject eprjdemand: New intermediate threshold for better battery
- EternityProject sysfs Tools: Add DVFS(GPU/CORE) voltage/frequency userspace management
- EternityProject Scheduling Helper: Add power management
- EternityProject Scheduling Helper: Optimizations
- New power management features
- Block: Optimize I/O operations latency
- NFC: Fall back to the old hTC driver for compatibility purposes
- EternityProject ChargerBoost: Add more 1A-forcing code
- Battery driver: Fixed some calculation bugs
- Baseband driver: Light speedup
- Add new API: pinctrl
- endeavoru-power: Convert to the new PM API
- ARM: Initialize whole RAM early
- More safety code for SoC voltages
- Optimized TLB flushing
- Optimized deadline I/O scheduler
- Audio processing on AVP instead of CPU
- Implemented CPUQuiet by nVidia (disabled - developers only)
v0.86
- Tegra: Wakeups: Restructuration
- Tegra: IRQ: Use one IRQ for multiple wakeup sources
- Tegra: GPIOs: Convert to platform device and optimize
- Tegra: GPIOs: Cleanup hTC's and nVidia's mess
- Tegra: Pinmux: Convert to platform device
- Tegra: Restructure very-early init
- ARM: SoC: Use scatterlist chaining
- ARM/Tegra: Implement device-tree support for most Tegra devices
- endeavoru: Fine-tuning for display settings (fix that retarded upper band update)
- endeavoru: Fix slow wakeup from display off (BEST with eprjdemand)
- endeavoru: Fix USBHost for the 1000th time (eh..)
- eprjdemand: Don't make large jumps on frequencies
- eprjdemand: Fix an occasional and really bad division-by-zero
- Block (drivers layer): Linux 3.4 (meh, forgot it!)
v0.85 -- MAJOR RELEASE
- Enable 51MHz frequency while device is awake
- 51MHz is now being really used by the device
- Move EternityProject’s Hotplug bits from eprjdemand
- Tegra Auto-Hotplug: EternityProject Hysteresis management
- Discard some code in nVidia’s Auto-Hotplug in favor of EternityProject’s code
- eprjdemand: add code for better handling of the device-resume case
- eprjdemand: some stabilization
- cgroup: Solved errors in logcat
- Frequencies: Solve MAX frequency (re)setting problem
- GPU: Some updates taken from the latest Tegra l4t release (smoother)
- Audio: Process audio on AVP when possible
- endeavoru display: Use correct display parameters.
- cgroups: Linux 3.4
- cfs: Linux 3.4
- jump_label: Linux 3.4
- USBNET: Linux 3.4
- FUSE: Linux 3.4
- NFS: Linux 3.4
- lockd: Linux 3.4
- freezer: Linux 3.4
- IPv4: Linux 3.4
- IPv6: Linux 3.4
- Netfilter: Linux 3.4
- Netlabel: Linux 3.4
- Netlink: Linux 3.4
- NET Sched: Linux 3.4
- ipx: Linux 3.4
- sunrpc: Linux 3.4
- NFC: Linux 3.4
- Ethernet: Linux 3.4
- key: Linux 3.4
- bridge: Linux 3.4
- sctp: Linux 3.4
- 802, 8021q: Linux 3.4
- packet: Linux 3.4
- dcb: Linux 3.4
- dsa: Linux 3.4
- NET infrastructure: Linux 3.4
- NET infrastructure (drivers layer): Linux 3.4
- timerfd: Linux 3.4
- FS (whole infrastructure and components): Linux 3.4
- QNX6: Add support
- kmod: Linux 3.4
- TOMOYO: Linux 3.4
- Capabilities: Linux 3.4
- PM: Suspend: Linux 3.4
- Security: Updates
- usermodehelper: Updates
- PM: Updates
- TTY: Updates
- syscalls: Updates
- RTC: Updates
- signals: Updates
- IRQ: Updates
v0.62
- New feature: EternityProject ChargerBoost!
- Sleep problems FIXED
- Crazy CPUs up/downlining FIXED
- USB: Updates
- MHL: Update to hTC's 2.17 release
- GPU: Picked some interesting stuff from hTC's 2.17
- Camera: Picked stuff from hTC 2.17
- Rawchip: Picked stuff from hTC 2.17
- Audio: Picked stuff from hTC 2.17
- I2C: Updates
- PM: updates
v0.61
- Audio + ASoC: Update
v0.60 -- MAJOR RELEASE
- Scheduler: Update to Linux 3.4
- Scheduler: Optimizations
- Some updates to ARM low-level
- Support for ARM Kernel Auditing
- Block layer updated: Linux 3.4
- FAT FS updated: Linux 3.4
- UDF FS updated: Linux 3.4
- Updates to baseband driver
- MMC: Updates
- proc: Linux 3.4
- lowmemorykiller: Linux 3.4
- jump label: Linux 3.4
- workqueue: Linux 3.4
- memcg: Linux 3.4
- vmscan: Linux 3.4
- mmap: Linux 3.4
- writeback: Linux 3.4
- tmpfs: Linux 3.4
- memblock: Linux 3.4
- ARM: mm: Updates
- generic FS: Updates
v0.38
- Final and proper WiFi FIX
- SIO: Removed
- Save some CPU by silencing some drivers
- (OCVER) Better voltage management.
v0.37
- Re-gain compatibility with HTC Sense
- Updates to GPIOs
- Other updates to IRQ
- Updates to Tegra IO
- Updates to pinmux
- Updates to kernel image generation
- Updates to very early boot process
- Regulator - tps80031: updates
- ASoC (audio) Core: Updates
v0.36
- Audio: enable 24-bit and 32-bit playback
- GPU: Video drivers updated to latest nVidia revision
- ION: General updates
- IRQ: Finally decrease of 90% the IRQ hogging
- IRQ: General updates
- GIC: General updates
- Some refactoring of the Tegra PM layer
- PM: Add Power Management Domains
- Updates to block/fs/security (now working good)
v0.35b
- Remove unwanted commits of the previous release
v0.35
- Update GPS driver to the latest TI revision and fix crash
- Removed min frequency for audio playback/record
- Other updates to FS base
- Updates to block layer
- Updates to Security layer
v0.34
- Solve 95% of the freeze-softlock-omgslow cases
- Initial Device Tree support for later conversion
- Updates to cgroup
- Updates to epoll
- Updates to scheduler (CFQ)
- Updates to genirq
- Updates to FS base
- Updates to ptrace
v0.33
- Integrate LP CPU userspace voltage control
- Tegra-i2c: updates for avoiding bad sections
- SMP: various updates for faster boot
- cgroup: finally use the correct data type umode_t
- EternityProject SleepLock: safer operations
- EternityProject sysfs Tools driver: better coding
v0.32
- eprjdemand governor has been tuned. Less heat.
- New driver: EternityProject sysfs Tools
- New feature: SleepLock (lock to LP mode)
- New feature: WiFi user-customizable WakeLock
- Fix: WiFi won't drop while display is off (default)
v0.31:
- New performance feature: Cross Memory Attach
- eMMC Performance Tuning
- Thumb-2 related updates
- ARM Kprobes: Linux 3.4
- ARM: Implement jump labels (still deactivated)
- Various minor updates on modules generation kernel scripts
- (OCVER) +25mV to the four last frequencies (1.7GHz = 1325mV)
v0.30:
- Introduce EternityProject HSMGR modification for Jellybean
- Various cleanups
- Introduce NULL-PokeCPU for STFU'ing the camera library
- Official initial release supporting CM10-EPRJ
v0.29b:
- Fix a rare KP problem
- Release the OC version
- (OCVER) Use the EternityProject Custom Thermal Protection
- (OCVER) Singlecore: 1.7GHz - Quadcore: 1.6GHz
v0.29:
- WiFi "dying after suspend" problems FIXED
- NTFS driver is now built-in
- Some minor updates to mm
- Page writeback: updates
- EXT4: Update to Linux 3.4
- EXT3: Update to Linux 3.4
- EXT2: Update to Linux 3.4
- JBD: Update to Linux 3.4
- JBD2: Update to Linux 3.4
- XFS: Update to Linux 3.4
- NTFS: Update to Linux 3.4
- RAMFS: Update to Linux 3.4
- PSTORE: Update to Linux 3.4
- Tested also with CM9 and CM10 (requires repacking)
v0.28:
- New CPUFREQ governor added: eprjdemand
- Update kernel build process (better zImage generation)
- Update kernel scripts (solve some bugs with some distros)
- Fix gamma-c case on Sharp panels for machine endeavoru
- Reduced IRQ hog on headset plugging
- Bug prevention: Don't put up an already-up CPU
- Tegra video drivers: Fix badnesses while playing low-res videos
- Note: Some of the updates were taken from hTC's 1.29 release.
v0.27b:
- Fixed a severe baseband bug
- FIXED: Exiting from airplane mode won't make the device to reboot
v0.27:
- Reverted some video drivers changes (should be stable now)
- Change the task-to-core association way of the scheduler
- SMT and MC scheduler has been re-enabled (multicore enhancements)
- Kernel command-line concatenation now possible (developers only)
- L2x0 Cache Controller: Fixed some bugs and little speedup
- High-Resolution Timers: various updates
- Various stability enhancements
- (WINDOWS) Kernel Flasher App: Fix device recognition
- (WINDOWS) Kernel Flasher App: Kill ADB server prior flashing
- (WINDOWS) Kernel Flasher App: Better user-debugging
- (WINDOWS) Kernel Flasher App: Fix a rare hanging case
v0.26b:
- Now we can reach 520MHz on the GPU.
v0.26:
- Various updates to i2c and input
- Tegra drivers (cpu, clock, clocksource, dvfs etc) fully updated to v15r7.1
- Some updates to AVP, SMMU and Tegra GPU drivers
- Baseband: some updates to power sequence and shutdown
- Implemented SoC-to-DDR bitswap
- Raised DDR frequency as per chip specs [667MHz]
- Raised the GPU maximum frequency to 520MHz
- USBHost: You can now unplug/plug your devices without restarting Host Mode!
- Added Windows Kernel Repacker
v0.25:
- WiFi connection drop problems SOLVED!!!
- WiFi AP working
- Updates to ARM GIC
- Updates to Timers
- Updates to ARM IRQ management
- Updates to Kernel IRQ management
- CPUFREQ updated to mainline 3.4
- Modified cpu-tegra behavior for new CPUFREQ drivers
- Tuned frequency ramp-up when event (touchscreen etc) occurs.
- Re-FIXED USBHost that I've broken in v0.24 (sorry xD)
v0.24
- Updates to Wireless core
- Updates to NET core: speedup
- debugfs: performance improvements
- page allocator updated: performance improvements
- mmc updated: stability and performance improvements
- syscalls updated: stability and performance improvements
- USB core updated: more stability
- PM updated: battery improvements
- filesystems: various updates and great speedup to procfs
- sysctl updated: Ensure compatibility and slight speedup
- netlink updated: more stability
- crypto updated: new functions, some performance improvements
- WiFi issues: Disable reconnect-while-connected (should fix some connection drops)
v0.23
- Updates to USB core
- Enhanced stability
- More compatibility for HTC Sense ROMs
v0.22
- USB Host Mode is now working
- Optimized I/O on eMMC
v0.21
- WiFi: Custom modifications for One X hardware bugs
- Added ARM errata 743622
- Updates to ThumbEE
- Updates to identity mapping
- Custom modifications to Tegra Power Management driver
- Updates to ARM unwinder and floating point unit
- Updates to Android staging drivers
- Fixed Linux flash script
v0.20:
- Updates to ALSA (sound core)
- Updates to ASoC (SoC audio)
- Updates to some ARM assembler
- Updates to network core infrastructure
- Updates to mac80211/nl80211 and wireless core
- Updates to IPv4, IPv6, TCP, netfilter
- Some fixes to ION and Tegra SMMU
- Actualizations to Power Management QoS layer
- Some updates to ftrace
- Custom WiFi drivers, goodbye, hTC s..t!
v0.11:
- 0DAY FIX: no more permission denied(s) and no more freezes at all!
v0.01:
- IRQs problem fixed.
- Better battery life.
- LOTS of things to update to the proper version.
SWPREV01:
- Software preview released.
Changelog 2.6.39:
Code:
v0.92b
- Useless debugging taking kernel time removed (hTC: brrrrr....)
- Some updates to OOM
- Updates to regulators
- Updates to RTC
- Updates to Tegra Crypto HW driver
- Some updates to memory management
- Updates to GPIOs
- OTG Host ID is now recognized by the device (Host still not working)
v0.92a
- [IMPORTANT] Fix RCU stalls on SMP platforms
- Convert GIC library to use the IO relaxed operations
v0.92
- Introduced and enabled Tegra Mediaserver driver on kernel
- Implementation of Tegra IOMMU management by HW
- Force ION Memory Allocator for board-endeavoru (/dev/ion enabled)
- Update ION Memory Allocator to the latest revision
- Fix to ondemand - up_threshold will not go to 50 automatically
- Fix to ondemand - stats are being saved (G->LP) and resumed (LP->G) on cluster switch
- Some updates to inode and superblock
- Tegra Audio should consume less battery now
- AVP can have multiple clients - HW rendering of videos (still disabled for now)
- Introduced (still disabled for now) Tegra AVP Media Offload Engine
- Introduced GART driver
- Updates to Tegra i2c driver (for accelerometer and other i2c devices)
- Minor cleanups to the Tegra GeForce ULP GPU driver
v0.91c
- New feature: ION Memory Allocator for GPU
v0.91b
- Better CPU Scaling
- BT File receive issue solved
v0.91
- Added /proc informations about SKU (initial implementation - not really working)
- Entirely updated Tegra drivers to the latest Android Tegra revision
- Cleaned up and updated the baseband (radio) driver to the latest revision
v0.90d
- Clock (drivers/clk) layer updated to Linux 3.4
- VFP management updated from Linux 3.4-rc6 to Linux 3.4 (final)
- Some updates to signals and ptrace
- Some updates to CPUIdle
- Removed some hTC useless debugging features that were using some IO and CPU time.
v0.90c
- Reverted v0.90b changes :(
- Fixed WiFi
- Voltage Control works for setting voltages
v0.90b
- Voltage Control works for setting voltages
- LEDS layer updated to Linux 3.4
- FAT FS drivers half-updated
- ARM Kernel initialization layer half-updated
v0.90
- Huge changes, 200 commits.
- Added ZCACHE and CLEANCACHE from Linux 3.4
- Updated ext4 fs driver to Linux 3.4 version
- Updated some other memory management code to Linux 3.4
- Removed some hTC debug $h!t (thanks TripNRaVer)
v0.89
- Added userspace voltage control
v0.88
- Updates to Tegra3 drivers
- Added Voltage control (thanks richardtrip!)
- Init layer updated to Linux 3.4
v0.83
- Cleaned up RCU
- IOWAIT problems should be fixed now
- Included a Linux and OSX script for flashing
- Some minimal updates to EXT4
- Some minimal updates to Memory Management
v0.82
- Solved v0.80 problems
- Easy flashing process
v0.80
- RCU entirely updated to Linux 3.4-rc7 version
- Performance improvements
- Reliability improvements
v0.70
- Updated Memory Management (most of) to Linux 3.4-rc6 version
- CPUIDLE optimizations
- New SHA implementation (faster)
- ARM CPU Topology implemented
- ARM MT Scheduler ported and enabled (better on real-life usage)
- Speedup the SMP management
- Lowered the minimum CPU voltage for better battery
- SLAB updated
- Add Simple I/O Scheduler and set it as default
v0.68
- VFP layer updated to Linux 3.4-rc6 version
v0.60
- Other stability fixes
- Removed some unused code
v0.59:
- Faster CRC32 implementation
- Optimized memcpy and memmove
- Some updates to IDR
v0.54:
- lowmemorykiller: optimizations and cleanups
v0.5:
- Rebase. OTG Enabled, Stable kernel.
- V/R I/O Scheduler as default
v0.4
- Some stability fixes.
v0.2:
- USBHost OTG Mode is ENABLED
v0.1:
- Optimize Deadline I/O Scheduler
- Introduce V(R) I/O Scheduler
- Use NEON Optimized memcopy
- Optimize compilation for Tegra 3
- Introduce endeavoru_eprj_defconfig
- Tweaked Tegra 3 G/LP latency
Try our feature - EternityProject CPU Manager w/ EternityProject HybridFrequency (already activated) with eprjdemand governor for the BEST battery life!
=========================================================================
3.4 Download:
EternityProject Kernel 3.4 for HTC One X: EternityProject Website
=========================================================================
Using the new EternityProject Features:
EternityProject ChargerBoost:
By default, your devices allows to get 1A current only from AC adapters. With EternityProject ChargerBoost, you can allow the device to take 1A (fast charge) from your PC's USB, too!
Enable ChargerBoost: echo 1 > /sys/eprjmanager/charger_boost
Disable ChargerBoost: echo 0 > /sys/eprjmanager/charger_boost
NOTE: DETACH your USB cable prior enabling/disabling ChargerBoost, otherwise it won't work!
EternityProject PowerLock (lock in LP mode!):
Lock in LP mode: echo 1 > /sys/eprjmanager/power_lock
Unlock to auto G/LP: echo 0 > /sys/eprjmanager/power_lock
EternityProject Benchmark Mode:
echo 0 > /sys/module/eprj_t3_cpumanager/parameters/auto_hotplug
echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo 1 > /sys/eprjmanager/friedeggs
P.S.: Commands to be entered on Terminal Emulator, Script Manager (maybe), or ADB.
NOTE: Since there are plenty of ROMs, all using a different ramdisk from each other, prior complaining about "kernel not working", REPACK the kernel with your ROM's ramdisk.
Note 2: If something doesn't work, try to WIPE your CACHE!
Git:
EternityProject is now self-hosted!
ICS kernel source: http://www.gitorious...kernel-endeavor
Current GIT repositories: http://pubgit.eternityproject.eu
Donations received:
6K680223E1030333L - 6.00USD - lukemo
0UY37274TC1103825 - 10.00 EUR - boshot
79A91437HG8627136 - 5.00 EUR - ???????
6CC71999F2968203P - 5.00 USD - ???????
00D78221UD555862L - 50.00 USD - j4n87
4LE60170CG194064V - 5.00 EUR - ???????
5N288279RG209915G - 20.00 USD - eyosen
2FS83196MB691023J - 5.00 EUR - n3ocort3x
Enjoy!
The EternityProject Team Manager & Main Developer,
--kholk
Last edited: