[EXPERIMENTAL] Dalvik with JIT enabled for CyanogenMod 5.0.5.x - Nexus One Android Development

Just rebuilt CM from the source, with JIT enabled (and fixed the code to compile)
* With "plain" CyanogenMod 5.0.x ROM it appears to be at least partly functional (people reporting Linpack jump from 7 to 17 Mflops) but I expect instabilities so JIT is definitely still far from the "prime time"
* It appears that HTC Desire ROM and JIT do not mix well. You will get reboots as soon as you try to unlock via. slider. I am trying to figure out what is causing this
For people that want to experiment - I am providing the precompiled Dalvik libraries with JIT enabled. DO NOT TRY THIS IF YOU ARE INEXPERIENCED!!! I assume no liabilities for any problems. Please read the readme first!
Code:
JIT Support for Nexus One CyanogenMod 5.0.x / Kernel 2.6.33.1 (Eclair)
By Ivan Dimkovic (psyq321)
--------------------------
NOTE: JIT is totally unsupported and known to be NOT stable!!! There is no guarantee your system will boot at all!!! ALWAYS BACK UP YOUR SYSTEM WITH NANDROID FIRST!!! This package is provided for TESTING PURPOSES ONLY. Author assumes NO LIABILITY WHATSOEVER if you brick your phone!!!
1. What is this?
This package contains several Android system files that enable JIT ("Just in Time") feature in the Dalvik VM. JIT is very unstable and it is not built-in the AOSP or Cyanogen's ROMs. This package contains system files built with JIT feature ON and it could be useful for testing for people that do not wish to recompile the entire ROM
extra_tuning directory contains Dalvik JIT library compiled with WITH_JIT_TUNING option. This option presumably enables even more optimizations for the JIT, but it appears to be totally unstable (I get endless reboot cycle)
2. How to make JIT enabled?
Follow these steps:
- BACK UP YOUR SYSTEM WITH NANDROID (IMPORTANT!!!)
- Connect your phone to the PC
- Copy the Dalvik files to the system directories:
adb remount
adb push libdvm.so /system/lib/libdvm.so
adb push libnativehelper.so /system/lib/libnativehelper.so
adb push dalvikvm /system/bin/dalvikvm
- Go to the shell (e.g. via adb shell, or via ssh) and change the permissions:
chmod 755 /system/bin/dalvikvm
chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libnativehelper.so
- Add this line at the end of your system's build.prop
dalvik.vm.execution-mode=int:jit
- Reboot into RECOVERY and wipe Dalvik cache!
- Reboot
3. It does not work? My system keeps rebooting / My system crashes randomly?
Unfortunately, this can happen and this is known issue with JIT. This is the reason why it is not enabled. You are free to look in the AOSP code and try to fix it by yourself, but I suggest to wait until original developers make it stable
Enjoy!

Try JIT with a none sense rom like Cyanogen.

Gimpeh said:
Try JIT with a none sense rom like Cyanogen.
Click to expand...
Click to collapse
Bah! What nonsense..... sorry.

[email protected] said:
Bah! What nonsense..... sorry.
Click to expand...
Click to collapse
Don't be so senseless!

it seems people were running it on the g1 for at least a little while what do you think is the difference

I am not really sure, maybe HTC Sense components are much more intensive and force the JIT bugs to appear earlier.
Just tried everything (replaced libdvb.so, libnativehelper.so and dalvikvm - and cleaned up the dalvik cache) - and it is a no-go
If JIT is ON, SIM card is not accessed at all, I just get the lock screen, which triggers the system reboot if I slide it.
This is all on the HTC Desire a19 ROM... I guess JIT is a bit more stable on a stock ROM.

Gimpeh said:
Don't be so senseless!
Click to expand...
Click to collapse
that makes no sense whatsoever.

I thought the last time JIT was in CyanogenMod was in cm-5.0 beta 3. I'm pretty sure it wont work on any ROM except that. I would use it but the multi-touch included in it is still the hacked together version.
I miss JIT ;/

JIT is just not compiled-in by default in CyanogenMod but it is definitely in the code.
You can still enable it manually, but you need to rebuild the ROM from the source.
If you wish to try it - put this line in the buildspec.mk:
Code:
WITH_JIT:=true
Then rebuild everything - and the Dalvik VM will have JIT features inside. Then you need to enable JIT in the build.prop (or by adb manually on runtime)

Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.

Ivan Dimkovic said:
Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.
Click to expand...
Click to collapse
I saw a bunch of JIT related activity on GITHUB today from Cyan. Perhaps hes testing it again for a new experimental build.

This is one official upgrade I'm really looking forward to. Sadly, I bet it wont be released for another year.

yeah. A stable JIT would be a gamechanger.

I thought i was the only one that was interested in on JIT. Either that or Dalvik-Turbo

Looks like JIT breakage is coming from the AOSP itself.
What is going on is, in Jit.c (/dalvik/vm/interp/Jit.c) there are places that expect JIT stuff to be in the DvmGlobals structure - however, those elements are in the DvmJitGlobals structure.
For example, line 48 of Jit.c
Code:
assert([b][u]gDvm.jitTableSize[/u][/b] &&
!([b][u]gDvm.jitTableSize[/b][/u] & (gDvmJit.jitTableSize - 1))); // Power of 2?
gDvm (which is of DvmGlobals type) has no jitTableSize entry - it is part of gDvmJit
I'll try manually fixing these errors (there are few, and mostly confined to asserts fortunately) tonight but this smells like more things are broken.

I had JIT running on my Magic. It was 99% stable... I am actually hoping that Cyanogen fixes all of the bugs in the Java V8 script engine first. It made a big difference in the Browser.

Ivan Dimkovic said:
Doh...
Just fetched the latest source from Cyanogen's github...
Looks like CM+JIT compilation is broken now There are some asserts in the code (Jit.c, line 48 for example) that are referencing missing structure members (looks like they reorganized structure layouts and moved JIT-specific stuff to another one) so the JIT-enabled code won't compile.
Click to expand...
Click to collapse
IIRC, Cy removed Jit due to stability issues. I think there was a stability concern by just having the code in there, even if it wasn't enabled. You might want to dig through his thread a bit.

Hmm
JIT is definitely still in CM's repository... and just by quickly looking at it, it looks exactly the same as in the current AOSP
But it is broken in both. I don't know when exactly it got broken - as the last CM snapshot I had on my Linux VM was from few weeks ago, and the JIT definitely compiled.
Perhaps the breakage is result of some AOSP checkin by Google.

Ok, I fixed compilation errors.. rebuilding everything now.
Will test and upload JIT libraries here.

Ivan Dimkovic said:
Ok, I fixed compilation errors.. rebuilding everything now.
Will test and upload JIT libraries here.
Click to expand...
Click to collapse
Thanks that would be pretty cool.

Related

Gkernels 1.5 FINAL

For use with Streak Gingerbread Roms
Edit 12-7-11
This is the marked end of Gkernels project,
Gkernels 1.5 FINAL
but the marked beginning of Gxkernels!
Changes to 1.5 include:
Bumped the Dell source to 2.6.35.14 -Stable
Removed QoS in networking for reasons clear to my mind
Flashable zip here: http://db.tt/JuCSscC8
Developer tar.gz here: http://db.tt/pNkHIPRQ
Special thanks to you, the user of Gkernels!
-G
Edit 12-4-11
Gkernels1.4.3.1 now a flashable zip from your recovery, for easy installs!
lex parsimoniae
Special thanks going to _n0p_ for this method!
Download link here:http://db.tt/XrDJQ6Jv
to install:
copy the zip to sdcard, launch recovery in your streak, flash the zip file
for future releases, I will include the standard Gkernels tar.gz for rom developers, and also the flashable zip file, as two separate links for the community.
-Greg
Edit 12-3-11
GKERNELS1.4.3.1
Built with an older toolchain arm-eabi-4.3.1
Changes from 1.4.0.1 include:
<*> General filesystem local caching manager
<*> Filesystem caching on files
Wifi-
<*> Common routines for IEEE802.11 drivers
--- Bluetooth subsystem support
[*] L2CAP Extended Features support (EXPERIMENTAL)
networking options-
[*] IP: multicasting
[*] IP: ARP daemon support
Qos service changed-
<*> Hierarchical Fair Service Curve (HFSC)
---removed from 1.4.0.1 version---
adjust priority to speedup resume thread, (seems to help with wifi issue, special thanks DSC-Team)
Again, no overclocking;
Download Link here: http://db.tt/0vlfvlaI
Edit 11-27-11
1.4.0.1
changes since 1.3.3:
Suspend sleep mode (Power collapse suspend)
Control the low power modes of memory
Default Memory Low Power Mode during Idle (Memory in retention)
Default Memory Low Power Mode during Suspend (Memory in deep power down)
Enable standalone power collapse
Android RAM Console Enable error correction
Virtual Contiguous Memory (VCM) Layer
Download link: http://db.tt/ZnaqJ9qH
I am fairly certain wifi freeze issue is resolved. Further testing is needed to prove this;
Enjoy!
-Greg
Gkernels 1.3.3 still attached below
Gkernels 1.3.3
changes from Gkernels1.0
Enable WiFi control function abstraction
Preallocate memory for WiFi buffers
Enable KSM for page merging
Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)
I've got some under-volting going on with static voltage regulator
kernel switched to low resolution timer
Cross-Compiled using arm-eabi-4.4.3 from Dell 4.05 source, thanks given to Dj Steve for his tip with wifi practices. Thanks going out to kernel cross-compiling sources and books; thanks to all the rom chefs;
To me, Streak kernel work is more of an art than a science. Include Gkernels in your rom; do what you feel with it, all is permitted.
Installation Instructions
Method 1:Assumption is on a linux distro,
obtain a prebuilt fastboot and adb binary, and get them into your /bin folder, to use the commands from anywhere within your system
download Gkernels1.3 and extract, if you have not already done so.
attach streak to computer with usb cable;
from the extracted archive directory run this command in terminal:
sudo adb reboot bootloader
the streak will then boot into the fastboot mode
Then:
fastboot -i 0x413c flash boot boot.img
Then:
fastboot -i 0x413c reboot
then from same directory, run this command as phone is rebooting:
sudo adb push dhd.ko /system/lib/modules
I then recommend rebooting one more time.
Method 2: Any system
Re-substitute the boot.img and dhd.ko in the archive, by replacing same files, in your chosen rom's update zip;
transfer to the device
then flash as you would, the rom using your prior flashed recovery.
Thanks to Delirium77!
Method 3: Bypass for adb with root explorer/total commander app from the market
flash the boot.img with fastboot per method 1-
copy the dhd.ko file to your sd card, unplug your device, and using root explorer/total commander, navigate to the file on the sdcard, then move it to:
/system/lib/modules
ensure the dhd.ko file has correct permissions, then your wifi will function after a reboot.
-Greg
Thanks for your work!
can you build for your kernel few modules?
cifs.ko, slow-work.ko
for slow-work there is some kind of manual editing and preparing.
or if you give me your .config i will try this myself?
EDIT:
also you can statically compile CIFS filesystem into kernel
mind if i ask what advantage/s does this kernel have over Steve's gingerstreak kernel?
I can provide a .config file, sometime this evening, as I am away-
Gkernels is a project based on the 4.05 Dell source;
It is not better than another kernel in that regard, I am trying to get all I can out of it, without overclock. Changes to my knowledge, that differ from the Steve kernel, are listed above;
Thanks to _n0p_ 's tip 1.3.3 solves the RTC issue- Thanks _n0p_
I believe this was done by changing to the low resolution timer.
-Greg
.config
Sorry for the delay, I was detained-
attached is the .config for 1.3.3
Working with an attempt to solve the wifi issues-
one environment seemed to work during my testing, yet at a great sacrifice to battery life, by enabling:
control the low power modes of memory -->
Default Memory Low Power Mode during Idle (Memory active)
Default Memory Low Power Mode during Suspend (Memory active)
I am still uncertain-
before I release a 1.4, I will trial more of these modes
-Greg
Can this modes be switched by detecting if external power supplied?
--
I've also recieved some requests, saying that power (and maybe other) buttons sometimes "flickers". Is there any way to filter key events a little?
--
Thank you for your devotion,
Sergei
I will look into this.
Hi, there seems to be some screen tearing , I suspect that it has something to do with vsync. Could this be fixed with a new kernel update or is this ROM related?
Sharptv-
This may be kernel, rom or both related;
you may try and experiment with different roms and kernels-
This could also be screen density related, on my device there is minimal tearing on default density
I had some screen tearing on power rom but none on DSC....
Good work on the kernal
May bishnu grant you many donkeys and wives
@Roy
are u indian
Hi GSpecial!
I'd like to ask you to join forces with ltrifonov.
You both are advanced system builders, i think Streakers community would really benefit from your teamwork!
That's an awesome job you are doing. Never was able to crack more than 1500 upload until now!
Sent from the SuperStreak!
borijess said:
That's an awesome job you are doing. Never was able to crack more than 1500 upload until now!
Sent from the SuperStreak!
Click to expand...
Click to collapse
Is this considered a good score?? I just did the test and got 10ping, 15162kbps down and 8912kbps up
Sent from my Dell Streak using xda premium
Greg, your new kernel 1.4.0.1 (can say after a day of tests), is absolutely fantastic.
Fast, responsive even with conservative governor waking from 128Mhz - and WiFi is simply excellent!
Thank you!
Nop can you make a flashable zip plz???
You might pay attention to Downloads section for DSC ROM (not ad )
greekunit690 said:
Is this considered a good score?? I just did the test and got 10ping, 15162kbps down and 8912kbps up
Sent from my Dell Streak using xda premium
Click to expand...
Click to collapse
I guess compared to u rs no but normally I was getting around 1000 up. So its 3 times as fast now for me.
Sent from the SuperStreak!

[TUT] Building your own Xperia Play Kernel

Since We have such a fantastic tutorial on how to build your own CM9, I thought I'd add one for building a kernel.
Edit: updated kernel sources for jellybean
First off:
You NEED Linux. DO NOT TRY THIS ON WINDOWS, IT WON'T WORK.
Sources: https://github.com/CyanogenMod/semc-kernel-msm7x30
https://github.com/DarkforestGroup/sony-kernel-msm7x30-ics
https://github.com/DooMLoRD/Xperia-2011-Kernel-2.6.32.9
http://forum.xda-developers.com/showthread.php?t=1556971
http://forum.xda-developers.com/showthread.php?t=1477845
http://developer.sonymobile.com/wp/2011/05/06/how-to-build-a-linux-kernel/
DooMLoRD, KeiranFTW & Atarii.
Prepping:
1) Grab the toolchain I have here (Android NDK R5b), it's the only one I've been able to use that doesn't throw errors when compiling (stock based kernels): http://db.tt/hE3TmJJi Doom has provided a better toolchain https://github.com/DooMLoRD/android_prebuilt_toolchains[/QUOTE] you can get it using
Code:
git clone https://github.com/DooMLoRD/android_prebuilt_toolchains.git -b master <optional_folder_name_you_choose>
(thanks Doom!!)
Building a kernel from fxp sources
1) Terminal for any commands, file explorer for finding stuff & gedit for changes.
2) open up terminal, mkdir <name_you_want> (no spaces)
3) cd <name_you_want>
4) git clone https://github.com/freexperia/semc-kernel-msm-7x30-ics -b ics <optional_name_you_want_the_folder_to_be> (no spaces)
5) cd <optional_name_you_want_the_folder_to_be>/semc-kernel-msm-7x30-ics (if you didn't rename it)
6) (If this is after the first time, and lets say a week has past do this step, otherwise ignore) git pull (automatically updates any files)
7) First important step: Find the defconfig that fxp uses. They are located in arch/arm/config. fxp_zeus_defconfig is the name of theirs
8) copy fxp_zeus_defconfig & rename to <what_you_want_it_named>_zeus_defconfig (for example, mine will be pax_zeus_defconfig)
9) open up your defconfig & put it into another workspace, we'll mess with it later
10) Hop onto DooMLoRD's github, his we'll use for references.
11) Adding governors: https://github.com/DooMLoRD/Xperia-...mmit/bec19001ded34077d7776639834a1229b69e5f87
A1) Well, as I look into this, fxp has a ton of governors not used... (located in <name_of_kernel_folder>/drivers/cpufreq/
A2) Check the Kconfig file to see that they're all in there (they must just not be in the defconfig file)
A3) Edit the deconfig file you created in lines 467-474 removing "#" from any you want to add (and add in any you might've added by adding the line CONFIG_CPU_FREQ_GOV_<NAME_OF_GOVERNOR>=y
A4) If you want to add more governors, check out the Commits from DooMLoRD's build to add in when needed (anytime you see a "+" that means line added, "-" means line deleted)
12) Adding IO Schedulers: https://github.com/DooMLoRD/Xperia-...mmit/0ae625f7561c559d4933284f489733bf5eb66e96
B1) Navigate to <name_of_kernel>/block folder
B2) Once again, FXP has a ton of IO Schedulers added, but not used in Play kernel:
B3) Open up Kconfig.ioshced to make sure they're in there (and add any you want)
B4) Edit the defconfig file you created (lines 121-137) & fix it to your liking (same as above)
B5) If you want to add more, see Doom's commits to add 'em
13) Turning off ALS
C1) Navigate to <name_of_kernel>/arch/arm/mach-msm
C2) Open up board-semc_zeus.c
C3) Search for .als_connected (it on line 1349)
C4) Change the variable from 1 to 0
14) Overclocking
D1) open up arch/arm/mach-msm/acpuclock-7x30.c
D2) Lines 96 - 144 contain the PLL2 table, which is used to set clock speeds, note FXP can go all the way up to 2ghz, they just stop it short.
Continued in post 2 because all of this in one post 20% more awesome than XDA can handle
Pax
Cont'd from post 1
15) Building the Kernel
E1) Save your defconfig file, you'll need it now.
E2) naviage to <name_of_kernel> folder (in terminal)
E3) Type in "ARCH=arm CROSS_COMPILE=<path_to_cross_compiler_i'll_use_min e_for_example>/home/paxchristos/Android_Source/doom_ndk/arm-eabi-4.4.3//bin/arm-eabi- make <what_you_put_here>_zeus_defconfig
E4) Type in "ARCH=arm CROSS_COMPILE=<path_to_cross_compiler_from_above>/arm-eabi- make
E5) Sit back and relax (assuming it doesn't throw any errors, if it does, post here & I'll try to help you through them)
16) Getting the ramdisk
F1) Download a working copy of FXP's kernel (either through my zips or fxp zips)
F2) Goto here: http://forum.xda-developers.com/showthread.php?t=1477845, download the xperiaboottools.zip that's attached.
F3) Now what I did (you don't have to) is chmod 755 mkbootimg & split_bootimg.pl & (sudo) cp to /bin for easy calling.
F4) Navagiate in terminal to where you downloaded fxp kernel
F5) mkdir <working_folder>
F6) cp <fxp_kernel> <working_folder>
F7) cd <working folder>
F8) split_bootimg.pl <fxp_kernel>
F9) mkdir ramdisk
F10) cd ramdisk
F11) gzip -dc ../<fxp_kernel>.img-ramdisk.gz | cpio -i
F12) Now you have the ramdisk, let's futz with it.
F13) First (easiest step) is to goto default.prop & change ro.secure=1 to ro.secure=0
F14) That's mainly what we want to do with it, if you want to change the boot image, go here: http://forum.xda-developers.com/showthread.php?t=1494076 for how to do it manually, or here: http://forum.xda-developers.com/showthread.php?t=1513146 for the automatic way.
F15) now that we're done with the ramdisk, we'll go back to terminal
F16) find . | cpio -o -H newc | gzip > ../ramdisk.img
F17) cd ../
17) Putting the ramdisk & kernel together
G1) By now (hopefully) the kernel is done compiling. (time for terminal, you should still be in folder you were above)
G2) cp ~/<folder_you_put_the_kernel_source_in>/arch/arm/boot/zImage ./
G3) mkbootimg --base 0x00200000 --kernel zImage --ramdisk ramdisk.img -o <what_you_want_to_name_your_kernel>.img
18) Flashing it for testing.
H1) Keep your copy of FXP's kernel around, just in case any issues happen
H2) fastboot boot <your_kernel>.img
H3) If it boots & works, SUCCESS!! you modified your own custom kernel!
H4) If it doesn't boot (at all, just a vibrate & blank screen for 10-20 seconds) there's a problem with the ramdisk, sometimes it's bad, sometimes is needs filler, overall, it's just a pain in the butt to figure out.
H5) If it boots & bootloops the splash screen, well, that's an issue with the ramdisk again, that possibly, your ramdisk does not match you rom. Recovery, reflash rom & try again.
Courtesy of Atarii reminding me
19) Adding your wifi modules (they get built when you build the kernel) into the ramdisk
I1) Let's pretend that you haven't gotten through step F16, we're gonna add the wifi modules in.
I2) The wifi modules are located in <name_of_kernel_source_folder>/drivers/net/wireless/
I3) Copy bcm4329.ko to ~/ramdisk/working/modules/
I4) Add in the following lines to init.semc.rc
Code:
#load bcm4329 module
insmod /modules/bcm4329.ko
I5) Now your modules will autoload on boot!
Pax
Excellent guide
It may be because I'm both skeptical of us R800x users ever getting a real ICS, and the fact that going back to gingerbread sounds really tempting, but do you know / could you list the differences for compiling a gingerbread kernel for, say, CM7?
Kieran just told me to go to Sony's site. Thanks!
Sent from my R800x using XDA
Now I've read over this but I'd like to know exactly what a new Linux kernal can do for us? Does it allow us to do more stuff with any custom rom we create?
lightningdude said:
It may be because I'm both skeptical of us R800x users ever getting a real ICS, and the fact that going back to gingerbread sounds really tempting, but do you know / could you list the differences for compiling a gingerbread kernel for, say, CM7?
Click to expand...
Click to collapse
Do this in place of #4 (in the guide)
4) git clone https://github.com/freexperia/semc-kernel-msm7x30 -b master <optional_name_you_want_the_folder_to_be>
& You'll get their sources for GB instead of ics
Alternatively, if you wanna do it from SEMC kernel sources,
Download them from: http://developer.sonymobile.com/cws/devworld/technology/opensource un-tar/bzip them & work from kernel/
Phryxus said:
Now I've read over this but I'd like to know exactly what a new Linux kernal can do for us? Does it allow us to do more stuff with any custom rom we create?
Click to expand...
Click to collapse
Here's a better explanation than I can do
bassmadrigal said:
/cut/
The kernel is kinda like the nervous system of the body. It directly interacts with the hardware (which is how it is able to adjust CPU speed) and it is what allows the ROM to function.
The ROM is the rest of the body. Every other aspect of the phone. In fact, most ROMs include custom kernels. Various ROMs give you various features/enhancements/bugfixes. You will probably notice the biggest change in your phone if you load a custom ROM. Most people load the custom kernels to help with battery life as a lot of them allow you to lower the phones minimum processing speed from 245Mhz to 128MHz.
The ROM can change so many different aspects of how the phone works. There is CyanogenMod which is based off of stock Android with a lot of tweaks, bugfixes, and new features added. There is also MIUI, which is similar to the iOS style (not the same, but much closer than stock Android), and then there are a ton others out there.
Click to expand...
Click to collapse
This is an awesome guide, definitely recommend to all, if you're interested in getting into kernel development.
The only thing maybe worth mentioning is where to copy the compiled wifi drivers and modules (governors etc) from, after the kernel has compiled
I'm having a problem at the "Building the Kernel" step. I ran the command, albeit slightly different than you wrote, and got this error:
"make: *** No rule to make target `mjolnir_zeus_defconfig'. Stop."
Do I not have my NDK installed properly, or what?
Edit: Nevermind, was hit by a confusion spell. It's cured, and all is well. At least, for now.
btw, in the future you will want to clone: https://github.com/CyanogenMod/semc-kernel-msm7x30.git
ics branch
But FXP haven't updated kernel in a while, so you could use my CM9 kernel sources if you like: https://github.com/DarkforestGroup/sony-kernel-msm7x30-ics
master branch
Difference is, mine is made from pure Sony PLAY beta sources, while FXP use arc beta sources
I have successfully compiled a kernel for CM7. Thanks, pax, for this tut, and all other developers for their contributions!
Sent from my R800x using XDA
the NDK toolchain isnt good...
i have test them and they throw un-necessary errors...
best use gcc-4.4.3 toolchain from CM repo... it works with almost all device kernels i develop for...
u can also try gcc-4.6.2 toolchain (linaro)...
a working copy of both can be found at my git repo:
https://github.com/DooMLoRD/android_prebuilt_toolchains
DooMLoRD said:
the NDK toolchain isnt good...
i have test them and they throw un-necessary errors...
best use gcc-4.4.3 toolchain from CM repo... it works with almost all device kernels i develop for...
u can also try gcc-4.6.2 toolchain (linaro)...
a working copy of both can be found at my git repo:
https://github.com/DooMLoRD/android_prebuilt_toolchains
Click to expand...
Click to collapse
+1 to that, I use your arm-eabi-4.4.3 prebuilt
lightningdude said:
I have successfully compiled a kernel for CM7. Thanks, pax, for this tut, and all other developers for their contributions!
Sent from my R800x using XDA
Click to expand...
Click to collapse
Apparently I was a little premature in my findings. Having a hell of a time with the fxp sources for CM7. For some reason, I just can't get my cpu frequencies to come down from Max. DooMLoRD, what am I missing?
Sent from my R800x using XDA
It's been a while since I gave an update here, but my ics kernel is doing fine. I just gave up on gingerbread. My new question: How would I go about changing recovery and such? I prefer DooMLoRD's recovery over Keiran's, but since I'm using Keiran's sources, I don't know what to do to get a different recovery.
Sent from my R800x using XDA
lightningdude said:
It's been a while since I gave an update here, but my ics kernel is doing fine. I just gave up on gingerbread. My new question: How would I go about changing recovery and such? I prefer DooMLoRD's recovery over Keiran's, but since I'm using Keiran's sources, I don't know what to do to get a different recovery.
Sent from my R800x using XDA
Click to expand...
Click to collapse
Try replacing the recovery executable in /sbin/ with DooMLoRDs
Sent from my Xperia Play using Tapatalk 2
KeiranFTW said:
Try replacing the recovery executable in /sbin/ with DooMLoRDs
Sent from my Xperia Play using Tapatalk 2
Click to expand...
Click to collapse
I'm at work right now, but I'll try when I get home. I plan on doing some digging for the sake of learning, but that's going to wait for the weekend.
Sent from my R800x using XDA
Edit: Thanks Keiran, that worked. Like I said, I'll be poking around some more this weekend, just to see what I can mess with. Too bad I never got this far on my older phones...
looks good! so gonna try this tomorrow to build a cifs.ko module from latest Se source
watching a movies on phone, here I come
Hi great tutorial, but I'm having a problem with the wifi I have tried taking my bcm4329.ko from drivers/net/wireless and flashing it via CWM also tried moving it to system/lib/modules manually on my phone but still can't get it to work. Any idea how to fix this, its the only thing keeping me from using my own kernel
Sent from my Xperia Play using xda premium

[ROM] [SGP 4.0] Icy Fusion ~The best ICS experience..on Gingerbread~ v2.3 (6/26/12)

Icy Fusion ROM
Final: v2.3
~~The best ICS experience..on Gingerbread!~~ Fast and smooth! Crazy battery life!​
klin1344 said:
Hi everyone,
I am sorry to say that I will be retiring this ROM. I will be receiving my HTC One S next week, and most of my development efforts will be focused over in those forums. I won't abandon the 4.0 completely, but this will be my last ROM for it, with no more future updates. I also feel that this ROM is pretty complete and definitely usable for a stable daily driver.
I want to thank the community who supported my development, and my ROMs have been a good learning experience for me. But too bad the galaxy players were never very popular with developers...
Anyways, hope you enjoyed my work here. Links will always be available.
Click to expand...
Click to collapse
As you probably all know, I have ditched Klassic and letting hanthesolo continue it. I was going to make a SGS2-styled ROM, but instead I chose a total ICS-styled ROM instead due to the popularity of Android 4.0. I will be maintaining this ROM in two builds--one based on G1UEKI8 (USA) and another based on XXKPQ (INTL). Using an INTL ROM on a US player, and a US ROM on an INTL player caused too many issues (bluetooth, home button, toggles, etc), so I have decided to do it this way for better integration and the best possible experience. As of now it is not very different from Klassic (or Stratus), but as I make new releases it will have more and more features. Also it will be flashable with CWM. Enjoy
Features:
v1 (6/18/12)
- complete ICS theme (even better themed than Klassic, just look at the screenshots)
- swapped internal USB storage and external SD card (see 3rd post on how to revert)
- Holo Launcher installed
- ICS transitions + Roboto Fonts
- ICS clock widget
- deodexed
- zipaligned
- smooth scrolling mod (a.k.a. disabled scrolling cache in framework)
- smooth spinners mod
- CRT screen off animation
- 14 statusbar toggles
- "Device ID" hack ~now apps like XDA, Whatsapp, Tap Tap Revenge, and any app that needs a unique device id will run and not force close~ (XXKPQ uses Meticulus' hack, G1UEKI8 uses a slightly different method, but still same result)
- advanced powermenu with reboot, recovery, and download
- Supercharged with V6 Supercharger
- my own init.d scripts (you can look at the notes in the "55tweaks" file to see what I put in there)
- improved battery life
- I/O performance enhancements
- better performance
- TerraSilent as the default CPU governor
- plus more
- fixed performance and freezing issues from Klassic R5 (note: this ROM is completely made from scratch from stock, not based on Klassic or another ROM)
- fixed bluetooth issues from Klassic R5
- loads of build.prop tweaks
- debloated (I will attach the apps that I removed if you still want them)
- latest SU Binary 3.0.3.2
- BusyBox 1.20.1
- RFS filesystem ---> /system doesn't need to be on EXT4 because you are not constantly writing data on it
Click to expand...
Click to collapse
v1.1 (6/19/12)
- more init.d scripts for unbeatable battery life and performance
- loopy smoothness script
- sysctl tweaks for speed
- added SuperSU
- fixed the busybox symlink problems in v1
- released the INTL build
- busybox 1.19.3
- updated theme (look at screenshots)
Click to expand...
Click to collapse
v2.0 (6/21/12)
- disabled zCache by default --> to enable, go in 55tweaks and delete the '#' in front of "insmod /lib/modules/zcache.ko"
- implemented swipe to remove notifications
- added CRT screen ON animation
- improved touch responsiveness
- disabled start up sounds
- set an ICS wallpaper as default
- added 5 new ICS wallpapers in Wallpaper Gallery
- Galaxy Nexus bootanimation
- improved the implementation of the device id hack
Click to expand...
Click to collapse
v2.1 (6/23/12)
- FIXED BLUETOOTH!! and still Supercharged
- more battery life tweaks
- more performance and responsiveness tweaks
- fixed powermenu "Reboot Download"
- added TouchWiz 4.0 modified by me
- GT-I9000 Settings.apk (more options)
- completely re-designed Settings.apk
- ICS themed + added HoloLauncher Settings (see screenshots)
- "IcyFusion ROM" selection in Settings is a shortcut to device status
- succesfully smali'ed out (removed) "Call Settings" from the Settings.apk
- updated Holo Launcher to v1.0.5
- updated SuperSU to v0.92
- now /system is on EXT4
- ODIN package until CWM /data issues are sorted out
Click to expand...
Click to collapse
v2.2 (6/24/12)
- used stock Settings.apk, but still designed the same as v2.1
- fixed the setup wizard loop
- cleaned up init.d scripts
- added a lot more init.d speed tweaks
- added DSP Manager apk + libs
- added Zeam Launcher
Click to expand...
Click to collapse
v2.3 (6/26/12)
- optimized EXT4 mounts in init.d scripts (fast i/o performance; I got 2300 in Quadrant with only stock 1Ghz)
- added transparent background theme --> see post 3 on how to change the background picture
- optimized auto brightness levels for battery life
- stock sd card and internal storage mounts
- improved ICS theme
- Youtube HD apk
- fixed DSP Manager, and now every feature works
Click to expand...
Click to collapse
Downloads
*Simply flash in CWM*
*v2.1 & up flash with ODIN*
wipe data if you are have issues
USA/INTL:
v1: http://d-h.st/wWE
v1.1: http://d-h.st/jyP
v2.0: http://d-h.st/jGF
v2.1: http://d-h.st/W0I
v2.2: http://d-h.st/WYB
v2.3: http://d-h.st/mPa
INTL
v1: none; look for v1.1
v1.1: http://d-h.st/ILv
v2.0: none
INTL users please try the US version and post here if there are issues
Sorry, I will have to drop support for INTL players because it is too difficult to keep flashing, modding, and testing both builds of the ROM. I understand that 2.3.5 caused a reboot issue on INTL players when the headphones are plugged in. If somebody could please post a logcat, and I will try and see what I can do to fix the issue. Thanks.
Special thanks to:
Dark_Balor for improving the kernel for our device
zeppelinrox for his V6 SuperCharger
Meticulus for his Device ID hack for 2.3.6
Vertumus for some parts of his ICS Domination Theme
dsixda for his kitchen
And many others I probably forgot to mention
ScreenShots
​
Extras and add-ons
Extras and Add-ons​
Here I will attach some miscellaneous add-ons for my ROM.
How to manually wipe and format data into EXT4
1. Boot into CWM recovery. Make sure you are using the latest TerraSilent kernel.
2. Type 'adb shell' in command prompt or Terminal.
3. Type the following code:
Code:
umount /data
umount /dbdata
umount /cache
Then:
Code:
mke2fs -f ext4 -b 4096 -O ^huge_file,^dir_nlink,^ext_attr,^resize_inode,^extra_isize -m 0 /dev/block/mmcblk0p2
mke2fs -f ext4 -b 4096 -O ^huge_file,^dir_nlink,^ext_attr,^resize_inode,^extra_isize -m 0 /dev/block/stl10
mke2fs -f ext4 -b 4096 -O ^huge_file,^dir_nlink,^ext_attr,^resize_inode,^extra_isize -m 0 /dev/block/stl11
4. Reboot. Or you can follow below on how to disable EXT4 journaling (don't reboot), which GREATLY improves i/o performance. Note that every time you boot into recovery, /data get wiped into RFS again due to a CWM bug. I suggest that you do not boot into recovery again after rebooting unless you really need to.
To disable EXT4 journaling
1. Make sure you have flashed my ROM, as it includes some tools for this procedure.
2. Unmount the partitions if they aren't already:
Code:
umount /data
umount /cache
umount /dbdata
4. Follow:
Code:
tune2fs -O ^has_journal /dev/block/mmcblk0p2
tune2fs -O ^has_journal /dev/block/stl10
tune2fs -O ^has_journal /dev/block/stl11
5. You're done! Now you can reboot, and see the massive jump in Quadrant, especially if you're using ROM v2.3 and up.
How to change the background wallpaper theme
For v2.3, I've enabled the use of a custom wallpaper theme, which will show up in many apps. If you don't like the picture I used, you can replace it yourself with these very simple instructions.
1. Copy the /system/framework/framework-res.apk from your player.
2. Using an archiver, like winzip or 7zip, open the apk.
3. Find any 480x800 png image that you like, and name it screen_background_dark_transparent.png
4. Drag it into the res/drawable-hdpi/ folder of the apk. It will replace the original one in there.
5. Copy framework-res.apk back, and make sure to set permissions rw-r--r--. Reboot.
Extras
- Stock vold.fstab (for stock usb storage and sd card mounts): http://d-h.st/FKL
This is how to install
Code:
cd [B]*directory of the file*[/B]
adb remount
adb push vold.fstab /system/etc
Or simply just copy/paste with root explorer and reboot.
reserved again
It looks nice. I have 1 suggestion. It is possible to put the SGSII lockscreen into it? It would be perfect! (for me though I don't know for the others)
zaclimon said:
It looks nice. I have 1 suggestion. Is it possible to put the SGSII lockscreen into it. It would be perfect! (for me though I don't know for the others)
Click to expand...
Click to collapse
I could try, and maybe upload a framework-res specifically for people who want an SGS2 lockscreen.
I am trying to get INTL support for this ROM, but unfortunately I noticed that with XXKPQ if I use dsixda's kitchen I get this error when trying to use busybox:
Any busybox applet will result in the same...
It doesn't happen on 2.3.5 G1UEKI8 though.. I have tried unrooting and rerooting, using the install busybox option with kitchen, reinstalling busybox, but nothing seems to work.
So..for now I will only be supporting US devices until someone can either help me get rid of this error or at least help me find another INTL ROM that I can base my work off of.
Nice! It seems we are branching off, you to theming and features, I to raw performance . Just from one dev to another, did you fix bluetooth by unullifying? Also, how did you get framework-res to successfuly recompile without FC's? I tried doing it, and it basically blew up my Gplayer. Maybe using a apk decompiler is not the way to go...Argh, I hate windows, I never have these issues in Ubuntu...
Finally, where did you find his deviceid hack? when I got to his thread he had nuked all of his work...sad that someone would try and rip off his hundreds of hours of work.
hanthesolo said:
Nice! It seems we are branching off, you to theming and features, I to raw performance . Just from one dev to another, did you fix bluetooth by unullifying? Also, how did you get framework-res to successfuly recompile without FC's? I tried doing it, and it basically blew up my Gplayer. Maybe using a apk decompiler is not the way to go...Argh, I hate windows, I never have these issues in Ubuntu...
Finally, where did you find his deviceid hack? when I got to his thread he had nuked all of his work...sad that someone would try and rip off his hundreds of hours of work.
Click to expand...
Click to collapse
I use apkmanager to modify my apks if I'm on windows, but if I just happen to be using Linux and I'm too lazy to reboot I use apktool (which requires more work though). For the device id hack, it was a method in framework.jar. Copying and pasting that method from Meticulus's worked for 2.3.6, but would cause a bootloop on 2.3.5 US. So I looked at the logcat and used a modified version of this: http://forum.xda-developers.com/showthread.php?t=955847 for my deviceid hack.
I hate editing smali though...it's so difficult to understand.
klin1344 said:
I use apkmanager to modify my apks if I'm on windows, but if I just happen to be using Linux and I'm too lazy to reboot I use apktool (which requires more work though). For the device id hack, it was a method in framework.jar. Copying and pasting that method from Meticulus's worked for 2.3.6, but would cause a bootloop on 2.3.5 US. So I looked at the logcat and used a modified version of this: http://forum.xda-developers.com/showthread.php?t=955847 for my deviceid hack.
I hate editing smali though...it's so difficult to understand.
Click to expand...
Click to collapse
Thanks! I used apk manager, but it still did not work without fc....maybe i will try a different tool (for some reason it will not recognize adb or aapt in ubuntu even though I can run the commands from the terminal.
It seems we have competing roms now...may the best dev win.
Sent from my Galaxy Player Running my Stratusrom.
hanthesolo said:
Thanks! I used apk manager, but it still did not work without fc....maybe i will try a different tool (for some reason it will not recognize adb or aapt in ubuntu even though I can run the commands from the terminal.
It seems we have competing roms now...may the best dev win.
Sent from my Galaxy Player Running my Stratusrom.
Click to expand...
Click to collapse
Ummm...don't forget that your work is still based off of my work
Editing smali and the framework for new features (powermenu, toggles, etc) is the real ROM work...hehe
Besides, I'm not here to compete; I just want to share my work.
Point taken, I just wanted some friendly competition, it helps to make work go faster.
But, I would like to see you spend 3 hours fixing init.d scripts, and tweaking sysctl for best ram usage.
My point is, we are both skilled in completely different areas. I am better at some things, and You blow past me in others. It just comes down to the users preference.
klin1344 said:
I am trying to get INTL support for this ROM, but unfortunately I noticed that with XXKPQ if I use dsixda's kitchen I get this error when trying to use busybox:
Any busybox applet will result in the same...
It doesn't happen on 2.3.5 G1UEKI8 though.. I have tried unrooting and rerooting, using the install busybox option with kitchen, reinstalling busybox, but nothing seems to work.
So..for now I will only be supporting US devices until someone can either help me get rid of this error or at least help me find another INTL ROM that I can base my work off of.
Click to expand...
Click to collapse
Ugh..I just found out that it is the same with G1UEKI8 as well.
I flashed my factoryfs.rfs version and busybox worked, so I will upload the factoryfs in an Odin package tomorrow. From now on the roms will have to be flashed through Odin until I can find a fix.
Sent using Tapatalk
klin1344 said:
I am trying to get INTL support for this ROM, but unfortunately I noticed that with XXKPQ if I use dsixda's kitchen I get this error when trying to use busybox:
Any busybox applet will result in the same...
It doesn't happen on 2.3.5 G1UEKI8 though.. I have tried unrooting and rerooting, using the install busybox option with kitchen, reinstalling busybox, but nothing seems to work.
Click to expand...
Click to collapse
I have that same issue on my device (different rom). Busybox works fine; the issue is that somehow the symlinks got corrupted (hence the not found and weird characters). I fixed it (post-install) by deleting the broken files and recreating the symlinks in /system/xbin. You might want to check your updater-script or the 'install-busybox.sh' file the kitchen creates.
Sent from my 5.0 USA GenGin + ICS theme
Flash Tool for this ROM
Which flashing utility/method do you recommend for this ROM?
Thanks!
Mevordel said:
I have that same issue on my device (different rom). Busybox works fine; the issue is that somehow the symlinks got corrupted (hence the not found and weird characters). I fixed it (post-install) by deleting the broken files and recreating the symlinks in /system/xbin. You might want to check your updater-script or the 'install-busybox.sh' file the kitchen creates.
Sent from my 5.0 USA GenGin + ICS theme
Click to expand...
Click to collapse
Thank you. So all I have to do is just recreate the symlinks in /system/xbin? I didn't think it would be that easy
Sent using Tapatalk
If we did all that ext4 foo foo should we go back to stock before flashing?
rozelle25 said:
If we did all that ext4 foo foo should we go back to stock before flashing?
Click to expand...
Click to collapse
No need to. It will still work fine with ext4 partitions.
Sent using Tapatalk
What you need to do is make a list of all of the files in /system/xbin that are there after flashing but aren't in your working folder's system/xbin. Those are the (broken) symlinks created by the installbusybox.sh script at the root of your zip. You need to put a symlink command in your updater-script for each of those (referring to the lines already there), and then you can delete the installbusybox.sh script and the updater-script lines referring to it.
Sent from my 5.0 USA GenGin + ICS theme
Everytime I try to turn on Wifi it says error and bluetooth still doesnt work... besides that everything seems to be working fine is there a reason why my wifi wont start?

[APP] (Share) simple2ext_mod for CyanogenMod 11

Found here on XDA,its from the great dev @psyke83
Current release: 3.0.3b [07/08/2014]
Hey folks,
I'm releasing my own modification of @OlegKrikun's simple2ext, focused specifically on providing CM11.0 support and addressing some concerns with filesystem corruption that occurred in previous versions.
3.0.3b (07/08/2014):
Enhancement: support for moving application libraries
Enhancement: when re-assigning the dalvik-cache, copy the existing data instead of clobbering. Saves an unnecessary dexopt pass.
Bug fix: make sure that the boot script doesn't execute fully if /sd-ext is already mounted. Will prevent issues when upgrading S2E.
Rewrite boot script with more generic function to reduce complexity. The script will now ensure that the /sd-ext folder permissions always match the permissions of the corresponding source folders.
3.0.3a (06/08/2014):
Implemented support for CM11.0
Removed filesystem tuning (tune2fs) in mount script, as it can cause filesystem corruption
Removed prebuilt e2fsck binary - always use the system binary for maximum compatibility
Removed "mount as ext4" option - the script now mounts /sd-ext as ext4 by default. This is the most stable configuration for CyanogenMod, and avoids user confusion.
Minor enhancement - when the app needs to install the mount script, it will also execute the script. This avoids the need to reboot your phone after initial installation of S2E; the app will be immediately functional.
Caveats:
Only tested on CyanogenMod 11. May not work on older revisions, as I removed some compatibility code.
Threadlink: http://forum.xda-developers.com/android/apps-games/app-simple2extmod-cyanogenmod-11-t2840295
that's funny, 'cause we don't have cm11 yet... And i don't think we r going to have cm11 in near or far future either....
You are funny,why should i share it when we not have cm11?Please dont post things without any knowledge.
GREETZ FROM TEAM-OPTIMA!!!
mms047 said:
that's funny, 'cause we don't have cm11 yet... And i don't think we r going to have cm11 in near or far future either....
Click to expand...
Click to collapse
man you serious -_- ? http://forum.xda-developers.com/showthread.php?t=2766229 its been there for 3 months and its also stable now and people still don't know about it
fix link
fixed,sorry

[WIP] Enhanced kernel for CherryTrail devices (tablets/convertibles) - 4.14

Hi, there!
Now that we can use Project Croissant to get ChromeOS running or non-Chromebook devices, what is missing is a better kernel for improved compatibility.
Thanks to the threads by @nabil2000 I was able to successfully build a chromeos-4.14 kernel that boots on my test device (Lenovo MIIX320-10ICR - Z8350 processor) using a CONFIG from FydeOS 5.31 with most hardware enabled (WiFi, Bluetooth, sound), but it has the same issue as latest ATB builds: it freezes after a while. This doesn't happen with latest FydeOS or CloudReady builds (CloudReady bought FlintOS so I guess they are using some of their code now), so my guess if that their kernels have some patches that aren't included in the Chromium git. FydeOS is open-sourced only for RaspberryPi and TinkerBoard, there are no sources available for the PC or VMWare versions (PC version is not open source as many say, so be aware).
I already have some ideas to make the trackpad as well as the battery meter and brightness work, but it is not useful if the kernel isn't as stable as FydeOS (virtually no freezes or crashes once booted). I have already checked, and the issue is not the intel_idle.max_cstate issue that plagued most BayTrail/CherryTrail devices in the past (using value 1 doesn't change anything).
So any ideas how to get FydeOS kernel source? Patches to make the current chromeos-4.14 kernel stable?
UPDATE: As @nabil2000 reported, it seems that FydeOS is not willing to release their kernel source. But it is possible to get kernel config from v5.31 using configs.ko module, which is missing in the next version (v6.0). Using FydeOS v5.31 as base it is possible to build a very stable kernel for CherryTrail devices.
Thanks
Installation v71/v72 - kernel 4.14
FydeOS has the best support for the MIIX320-10ICR, with some caveats:
It will boot to a black screen, but you just need to wait until it finishes loading the hit Ctrl+Alt+Fn+F2, the screen will blink and then hit Ctrl+Alt+Fn+F1 to go back to ChromeOS (for some reason, the developer shell is blank in 5.31 but it seems to work fine on 6.0). Use Ctrl+Shift+Fn+F3 to rotate the screen manually;
WiFi works out of the box, Bluetooth is detected but audio does not work (Chromium misses a library for audio over Bluetooth);
Sound works too, but you need to install some UCM files (more about this later);
Camera does not work, and the trackpad works very well, with gestures, but does NOT click (tap to click work with a custom conf file, see below - the trackpad actually sends two events when clicking the physical button, as some Windows devices do, and this doesn't work with cmt driver).
First I tried to build the ChromeOS file using the chromium.img from FydeOS v5.31. It booted fine and I was amazed to see the ChromeOS logo and Google enrollment, but PlayStore setup didn't finish (low space?) and there was no way to install it to another driver: many GPT errors and the installer failed...
Then I tried to do everything on place:
Booted to FydeOS on USB drive;
As I could not get to the dev shell in v5.31, I had to login then use crosh and shell, then installed it on a second external disk (120GB SATA on USB, /dev/sdb):
PS: your device may be a different one, check the correct device name using "lsblk" or "fdisk -l" and be aware that this installation erases the whole disk!
Code:
sudo chromeos-install --dst /dev/sdb
After installing, I have used option 2A from GitHub page (very detailed, thanks!) with the script, soraka (or pyro) and caroline recoveries (both versions 11151.113 = v71) on another disk:
PS: FydOS v5.31 kernel does not have support to VTPM_PROXY, while v6.0 does, it means you cannot use swtpm.jar with FydeOS v5.31 and chromefy. For nocturne or Android Pie ARC, you must use FydeOS v6.0, otherwise ARC won't work.
Code:
sudo bash ./chromefy.sh /dev/sdb recovery.bin caroline.bin
Answered YES to use the local installation, YES to resize partitions and NO in the end to keep SELinux as enforced (it may work fine if you keep it to enforced with nocturne recovery tho when using FydeOS v6.0);
Rebooted using the final installation, logged in and everything seemed fine, but then Play Store would not show installed apps even after a reboot, so I tried a powerwash and it seems it fixed the issue, now it seems to be working fine.
Original post: https://forum.xda-developers.com/showpost.php?p=78891386&postcount=729
Post installation fixes v71/v72 - kernel 4.14
1. Sound
You need to install UCM files using linuxium-install-UCM-files.sh script after remounting rootfs as RW.
Code:
sudo remount -o rw,remount /
sudo bash ./linuxium-install-UCM-files.sh
2. Headphone jack
You must send this quirk to the rt5645 module when loading it, so while rootfs is still RW, as root add a file named "miix320.conf" to /etc/modprobe.d with this line:
Code:
options snd_soc_rt5645 quirk=0x1030
PS: if you have used the correct UCM files then the audio should change between speakers and headphones, but not mic. To enable internal mic:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev DMic
and to enable mic from headset:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev HSMic
3. Tap to click with trackpad
While rootfs is still RW, as root add a file named "50-mixx320.conf" to /etc/gestures:
Code:
Section "InputClass"
Identifier "MIIX320 conf"
MatchUSBID "048d:*"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "Tap Minimum Pressure" "1"
EndSection
PS: for this to work, make sure "tap-to-click" is enabled in trackpad section of system Settings. If you have another device, use "dmesg | grep input:" with "lsusb" to find your device USB id instead of "048d:*".
Still needing fixes:
- chrome://flags is blank for some reason, so any special flags should be added manually to "chrome_dev.conf" instead;
- Trackpad physical button click;
- Brightness control;
- Battery meter;
- Rotation;
- Automatic change between tablet/desktop modes;
- Cameras (hardly they will work as they rely on ATOMISP, which was abandoned and does not work even on newest kernels).
Original post: https://forum.xda-developers.com/showpost.php?p=78978577&postcount=757
reserved
Good news! With chromeos-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
lfom said:
Good news! With chrome-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
Click to expand...
Click to collapse
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
nabil2000 said:
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
Click to expand...
Click to collapse
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-dev in order to successfully build it.
lfom said:
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-devel in order to successfully build it.
Click to expand...
Click to collapse
I am a lazy billy - thanks - I like copy & paste, & think as little as I can afford
Could you help me patching it on my GPD pocket?
it uses cherry tail
https://forum.xda-developers.com/ha...gpd-pocket-t3928828/post79496417#post79496417
thank you

Categories

Resources