yashsingh1/xdaforums huggingface dataset:
[Pixel C Android Development] dkryder:
i'm wondering if you have any desire to make a kernel options app along the lines of boeffla-config/kernel adiutor/ex kernel manager, etc for your kernel on the pixel c? i know it would be a bit in the future but just asking if it has occurred to you as something you would be interested in?
[Pixel C Android Development] superchilpil:
Just want to drop in and say thanks for all of this!

Now if only someone could remove that pesky 30 seconds to boot problem [emoji14]
[Pixel C Android Development] cheep5k8:
Didn't really think about it yet; but seeing that I develop apps as my day job, it's at least technically not far fetched.. interesting idea. The biggest problem will probably be time.

I'd love to have a Pixel C-styled kernel app, though (also it could support all the ChromeOS stuff accessible from Android). I mean CheckR already does that for the USB-C part but of course it's not a full kernel app!
[Pixel C Android Development] DaConcho:
I would love to see an app to control the kernel (and would gladly pay for the app as well to show thanks for all the effort you have put into it). Or if you don't have the time, possibly consider making it compatible with any of the other kernel editing apps out there?

Just a thought.
[Pixel C Android Development] cheep5k8:
Yo dear peoples... could maybe someone test if you get an improvement regarding the WiFi issue (if you have it to begin with) with this test kernel?

Download: TEST boot.img

(Make sure you just boot it in fastboot, "fastboot boot boot.img", don't flash it.. I mean, you could, but no need to)

Thanks!
[Pixel C Android Development] dkryder:
i agree on the 30 sec delay. a fellow named john lewis owns a google+ page on coreboot and he also published this guide on how to get rid of the delay on chromebooks. the unfortunate thing for pixel c owners is the process to physically disable the write protection is not a good thing. but maybe somebody who wants to try it might want to read this. as i see it the big hitch is having to disable physical write protect.

https://johnlewis.ie/neutering-the-developer-mode-screen-on-your-chromebook/
[Pixel C Android Development] cheep5k8:
The physical write protect on the Pixel C is the front camera flex; you'd have to use a heat gun to the display bezel to heat up the adhesive, take off the display, disable the WP and then later on even reattach the whole thing. I doubt you can really do this at home, especially the reattaching.
[Pixel C Android Development] dkryder:
yeah. not for the faint at heart.
[Pixel C Android Development] DaConcho:
Since flashing the latest boot.img my pixel has failed to wake from sleep 4 times now. Seems like almost every time I leave it sitting I have to do force reboot to get it to come back.

Any one else?
[Pixel C Android Development] cheep5k8:
Hmm hmm still? Then better revert to the previous one, I'll add the link to the OP. I'll try to find out what causes the problem, I just thought I had reverted the relevant changes.
[Pixel C Android Development] DaConcho:
Already flashed the original one you posted that I had downloaded an no more issues so far.

Thanks,
[Pixel C Android Development] beardymcgee:
So I'm on the lastest #2 for today and is locking on suspend still...

Flashing via flashify not sure if relivent

Let me know if you need logs or something
[Pixel C Android Development] cheep5k8:
Ah bloody hell ;)

First off, I'm sorry about this. Second thing, I've been running #2 all day now and it works for me, so if you could make a log of the device until the point where it locks up (basically just keep an "adb logcat" running until it locks up), that'd be great. Thanks!
[Pixel C Android Development] dkryder:
this issue with being locked after being left for a time being is well discussed in several user discussion areas . i experienced it myself before i even started flashing different kernels. so it is quite possible that the changes made in your kernel have nothing to do with what users are experiencing. so, it could, and has, happened with your kernel, it could, and has, happened with the stock kernel. so it has not really been established that changes made to your kernel are the source of the problem.
[Pixel C Android Development] beardymcgee:
So my only basis for kernel being issue was that I was on unmodified stock since I got it on release with none of reported issues by others, then yesterday unlocked unencrypted and changed kernel and that was when locks started.

Logcats in coming...
[Pixel C Android Development] beardymcgee:
so odd thing is that if connected to PC or charger, it never locks up only when running on battery does it lock up..
[Pixel C Android Development] M_Cheevy:
BeardyMcGee,

That's exactly the experience I had today. I'm still running 100% stock, untouched... virginal if you will. I'm still waiting on my cable to arrive.
[Pixel C Android Development] beardymcgee:
Only thing is that it every time consistently, and only since modified

I'm going to flash back to stock tonight see if that fixes it
[Pixel C Android Development] cheep5k8:
Yeah, because the device is not really sleeping when charging. But with the current build I'm not having the problem anymore, I've reverted all patches that were added since the last working kernel for the moment, to be on the safe side.

In fact I've just picked it up after it had been sleeping all night to check XDA, no problem... So this is a bit curious.
[Pixel C Android Development] beardymcgee:
fixed it... so im a muppet... forgot about the fwtool stuff.. and flashify wasnt mentioning failed flash....

so all good now on the latest, sorry for the hassle and confusion.

could you update the first post to mention the need to do the whole fwtool process and will we have to run that each time we flash or is it once off?
[Pixel C Android Development] cheep5k8:
No, it should be once off. It might happen again that the Pixel C disables fastboot under some circumstances, but normally it shouldn't happen and resetting it once with fwtool should be enough.

I'll add the relevant info to the OP... I've been planning on making a flashable ZIP for TWRP to fix fastboot so people don't need to meddle with the command line. Or perhaps even making it an additional option inside TWRP for the Pixel C. I just didn't have the time for that and was down with a flu so..

Actually I'm sort of planning a whole Pixel C toolbox including documentation (it would include various utilities ported from ChromeOS to Android, so we can manipulate the underlying ChromeOS firmware stuff, when neccessary, from Android). But, time, time, time... is of the essence.
[Pixel C Android Development] cheep5k8:
Uploaded a new TWRP. You can now fix the Fastboot issue directly in TWRP, no need for commandline (Advanced -> Fix Fastboot).
[Pixel C Android Development] tw1tch175:
The 1-19 build is giving me random reboots when rapid charging using a wall adapter. Rolled back to 1-18 to double check and it stopped.
[Pixel C Android Development] cheep5k8:
OK I'm checking it; the desciption is really helpful btw, so I know where to start looking. Thank you.
[Pixel C Android Development] ZiggSVO:
question. If we are already rooted and all with the previous fastboot killing version lol, can we just flash the kernel image over and still be rooted?
[Pixel C Android Development] dkryder:
yes. i had flashed the first xceed kernel to test but went back to the original modified stock and maintained root.
[Pixel C Android Development] cheep5k8:
[MENTION=5458181]dkryder[/MENTION] It was flashing SuperSU that killed fastboot, which I've originally advised against, not the kernel. You can't handle the boot partition like on other, pure Android devices, and systemless SuperSU modifies boot.

OK I'm trying to narrow down what the issue is. Hopefully someone better at developing kernels makes a kernel for this thing :(

For now I'll add the 01-18-2016-1 img to the OP as it doesn't seem to give any issues.
[Pixel C Android Development] teshxx:
Hey,

Would you be kind enough to post the stock rooted img as well please?
[Pixel C Android Development] dkryder:
yeah, i know about supersu.. flashing the boot.img is ok. i learned that from the other root thread. my point was that for me root was maintained after i returned to your original stock modified boot image from your first xceed boot image. which is what i thought the poster was asking. i'm not interested in new boot images at this point, i only wanted a modified stock to allow root, it was a mistake on my part to try the xceed so i went back. i flashed your dragon-boot-encryptable-rooted-01092016-1.img which was i think about the first image you put up, and when i did root was still there. it is all good. thanks for the modified boot and twrp. i learned a lot in this and your other thread.
[Pixel C Android Development] cheep5k8:
Good idea, will do.

EDIT: It's there. 01092016-1, is just stock MXB48K w/ root enabled and forced encryption disabled.
[Pixel C Android Development] cheep5k8:
DT2W

Hey,

So, I know, some (or most?) of you expressed that they're not interested in a custom kernel, and I respect that of course, so I've added the stock rooted boot image to the OP.

And I must admit that I've been developing a bit hastily in the end, with maybe not enough testing. I will take more time for testing before uploading a new build from now on.

That said, if you are interested in a custom kernel, then there's good news: wake/sleep gestures are coming (dt2w, s2w, s2sleep, etc.)!

So far I've disabled the built-in i2c-hid driver, and put Synaptics DSX driver in place, it's just easier to deal with. Wake gestures also *basically* work, except that I can't get the touch panel to stay powered on while the screen is off; it's far from trivial in the Pixel C's case, apparently. But I'm optmistic.

In any case, there is no new build now because I wasn't able to test enough yet, and because simply the switch to the DSX driver makes no difference for the end user without actual wake gestures.

Let's hope I can get this last quirk ironed out, then a couple of days testing, and we'll have double tap to wake.

Cheers.
[Pixel C Android Development] oRAirwolf:
Man, you are single handedly making the Pixel C a pleasure to own. I was really disappointed with the lack of development on this tablet and I was starting to regret buying it and selling my Nexus 9. You have fixed that problem. Enjoy this $20 USD donation: 8X771347XR071803W.
[Pixel C Android Development] bill3508:
Definitely interested in a custom kernels here. Keep up the good work. Thanks.
[Pixel C Android Development] brando56894:
I'm interested in a custom kernel also, keep up the good work.
[Pixel C Android Development] bill3508:
Is the mount/data and move su.img to data still valid?

---------- Post added at 02:25 PM ---------- Previous post was at 01:59 PM ----------

Got it running, thanks.
[Pixel C Android Development] cheep5k8:
I want to make it a bit easier so you basically just have to flash a ZIP in TWRP that does that all for you but right now I'm still busy with DT2W (as long as my flu allows it).
[Pixel C Android Development] bill3508:
That's okay I just didn't know if everything in the OP was still current. Everything is running great.
[Pixel C Android Development] cheep5k8:
OK, so for those who want to get a first taste of DT2W: I've got it working now, just minor quirks need to be ironed out (check to make it as power efficient as possible, and small bugs)

If you want to try it, and please read the full instructions FIRST:

- Download the ALPHA test kernel

- Download the framework overlay APK

ALPHA DT2W boot.img

framework-res overlay APK

Yes, the overlay APK is very tiny because it just overwrites one framework boolean, so you can enable DT2W in the Android settings.

The name says it: it's an overlay APK. Yes, just like Layers. That means it goes to /vendor/overlay, and NOT anywhere into /system. Maybe even Layers manager will let you install it but I doubt it and haven't tried that.

So:

- Install the overlay APK to /vendor/overlay (make sure the permissions are correct: "chmod 644 framework-....apk")

- Reboot into fastboot, boot the test kernel image (no need to flash it, just "fastboot boot <the-image>.img")

Then once you're in Android, go to Display settings and enable tap to wake.

For now, you additionally have to install something like Kernel Adiutor and enable DT2W there too. Select "half screen" in Kernel Adiutor, it somehow doesn't detect the possible options correctly.

(Or you can run "echo 1 > /sys/android_touch/doubletap2wake" in a root shell)

That's it. Enjoy, but remember it's just a PREVIEW. I DON'T recommend leaving this on full time until I have the remaining quirks fixed.

EDIT: Just realized it will only properly work when charging. Great. Now there's not only tethered root, but also tethered DT2W... :silly:

Updated the link with a boot.img where dt2w also works when off the charger.
[Pixel C Android Development] cheep5k8:
OK, I've got it working. Essentially just need to clean it up now.
[Pixel C Android Development] cheep5k8:
Forgot one thing, sorry:

In order to stop DT2W from working after a while, you need to run this in a root shell for the moment:

echo 1 > /sys/devices/7000c000.i2c/i2c-0/0-0020/input/input0/interactive
echo 1 > /sys/devices/7000c000.i2c/i2c-0/0-0020/input/input0/wake_gesture

Sorry again! 'S all good!
[Pixel C Android Development] hiCharles:
how to fix notification: The su binary needs to be updated after root

Hi guy, you done a great job. thanks for your post. I follow your post and root my pixel. Now it works good. however i got a warning notification from supersu:

the su binaary needs to be updated. how to fix it? or update binary correct?

Thanks.
[Pixel C Android Development] cheep5k8:
Hey,

Did you just follow the instructions, or did you additionally install the regular (non-systemless) SuperSU afterwards, maybe through TWRP (?)
[Pixel C Android Development] hiCharles:
Hey, i did follow your instruction, mount sd card, copy su.img to data folder, then unmount, then restart pixel and install supersu. I don't install any su script through TWRP.

Thanks for quick reply
[Pixel C Android Development] beardymcgee:
[MENTION=4867279]cheep5k8[/MENTION], sorry to ask but what's new in the new kernel today, was about to blind flash it but thought I'd ask as i cant fully understand the commits log on git...
[Pixel C Android Development] cheep5k8:
I cleaned it up, i.e. removed all patches that I couldn't definitely say they had a specific purpose or were problematic stability-wise and rebased on official chromeos-3.18 git, which means it contains Google's latest changes.

Among them are fixes for WiFi, Bluetooth has been completely upgraded to code from the latest Linux kernel, fixes for the Tegra SoC, fixes for I/O, and fixes for graphics.
[Pixel C Android Development] beardymcgee:
Awesome flashing now, Thanks for all your work!
[Pixel C Android Development] beardymcgee:
That made an improvement.....

(combined with those interactive tweaks, from my thread thats in process of swaping over here in dev thread)
[Pixel C Android Development] cheep5k8:
I don't use AnTuTu very often, but now I'm curious: what was your score before? ;)
[Pixel C Android Development] beardymcgee:
so your stock kernel unencrypted before was 88k-90k,

previous 19-01 build + interactive gov tweaks 96k-98k

today's build + tweaks 100k-102k

also note i have zram disabled, deadline I/O(w/2k read ahead).

not sure the level of ask it is, but is it possible to get the other extended family of io schedulers added (eg sio, row, etc) and TCP alogrithms (eg highspeed, westwood, vegas, etc) in a future update?

Also in the interest of comparing somewhat unnecessary benchmark results I present to you basemark OS 2.0 compared with anandtech review model

Anandtech Review Device

overall	1859

system	2701

mem	879

gfx	5699

web	885

New Kernel + Tweaks

overall	2342

system	2899

mem	1671

gfx	6166

web	1007

massive improvement to the memory score with this new kernel, as i think i got 1000 before in this section before flashing
[Pixel C Android Development] cheep5k8:
Sure, I can add the other TCP algorithms easy. About other CPU schedulers, I'll have to see whether I can port the required patches easily.
[Pixel C Android Development] Scarfacez2007:
HELLO!!

Google Pixel C with 6.0.1 will work on root???? ASAP!!!!
[Pixel C Android Development] cheep5k8:
Well, that is pretty cool :)

Just wanted to add that while the focus on performance is honorable, let's not forget that the patches from Google, and a few that I've researched myself, also aid in stability and fix bugs (which often results in improved performance, but is not always directly measurable as a performance improvement)

:cool:
[Pixel C Android Development] beardymcgee:
agreed, but it always nice when it does show up in the limited and relatively meaningless use-cases of benchmarks
[Pixel C Android Development] bill3508:
Very nice with the new kernel. Thanks. I would try to add fiops to the scheduler list if it's possible, maybe bfq and sio plus also.
[Pixel C Android Development] Boal:
This is a complete non-issue, but out of curiosity: does anyone else get prompted by Superuser to update the su binary? It still works fine, so is there a way to disable the prompt?
[Pixel C Android Development] bill3508:
Have not had that.
[Pixel C Android Development] Boal:
Thanks for the response. I should add, I have the paid Superuser from the Play Store, maybe that explains the difference.
[Pixel C Android Development] bill3508:
I just wondered if you had any information on how they have the a53 cores disabled on the Pixel C. I'd been searching but not much talk on that yet.

Thanks.
[Pixel C Android Development] followmsi:
I have updated the superuser.apk via ADB to version 2.67.

Then I got the "binary update" message as well.

Reverted back to Superuser.apk from this thread and su was fine again, but on 2.66 ;)
[Pixel C Android Development] cheep5k8:
I'll update SuperSU for the next kernel build, and will probably make it a single-flash installation, i.e. you only have to flash the kernel image which then will handle everything (hope that works out).
[Pixel C Android Development] cheep5k8:
I've got no idea yet how exactly the cores are disabled; given the type of board, and modern boards in general, it's safe to assume that it isn't "hard" hard disabled, i.e. not like the cores are disabled physically on the board. Rather it will be the EC ROM that disables the cores at boot; I haven't yet read all of the EC code (just some parts really), so I don't know how easy it will be to re-enable them. Also I think at this point that we are not able to flash a custom not-Google-signed EC ROM unless we disable the Write-Protect (infamously below the screen); everything indicates that this isn't possible but I'm looking into it.
[Pixel C Android Development] cheep5k8:
If anyone is having problems with spontaneous reboots with the build from yesterday, I've uploaded a second build [01-29-2016-2] with minor changes (no SuperSU 2.67 yet) that fixes the reboots if they should happen to you.

[MENTION=1610074]beardymcgee[/MENTION]
[Pixel C Android Development] followmsi:
Yes, had the first reboot this afternoon.

And already fixed ! :)

Thanks a lot !
[Pixel C Android Development] cheep5k8:
Just in case someone is still experiencing reboots, it's possible that you need an update to some Android components (hwcomposer.drm, libhwui). I have to diagnose this a little bit more, and will most likely create a small flashable ZIP that updates these few components.

To be honest, I had additional reboots even with the latest xceed kernel image; then I've updated those Android components by compiling them in the Android source and installing on my Pixel, since then no reboots anymore, so... stay tuned.
[Pixel C Android Development] beardymcgee:
No reboots yet, on the -1 but I'll flash to -2 to be safe.

Cheers
[Pixel C Android Development] followmsi:
Thanks for 01-30-2016-1.

Just had a spontaneous reboot, only one ;)

Cheers
[Pixel C Android Development] cheep5k8:
Hey,

I've restarted even more from scratch to make sure there are no spontaneous reboots now. I've very carefully based on upstream chromeos-3.18, hand-picked individual commits (or groups of commits, if they are related) and patches from chromium gerrit, and tested to make sure there are no occasional reboots.

I've uploaded an RC1 compiled as a result of this process.

A few things to note about the RC1:

- It was not compiled with Linaro, but instead with the default Google 4.9.x gcc

- It does not yet contain SuperSU 2.67, nor any additional CPU schedulers or I/O schedulers, and no additional TCP algorithms

I've done this in order to keep the debugging complexity at a minimum in case that reboots should occur.

It would be awesome if someone else could also flash (or boot) it, and see over the course of a day or so if they have any reboots.

Once I'm confident that the kernel is stable as is (and maybe have confirmation from some of you, additionally), the following will happen, with individual tests after each step:

- I will upgrade root-related ramdisk stuff to SuperSU 2.67

- I will add the additional TCP algorithms (those should be the lowest stability risk but we should not rule them out as such a priori)

- I will add the requested I/O schedulers

- I will add some additional CPU schedulers

- I will rebuild the kernel using Linaro gcc 5.x

If the kernel passes the stability test after each step (I have not yet fully decided on a formal test, but it will be something like 4 hours, maybe 8 hours, without any glitches, reboots or lockups), I will move to the next step.

If the kernel passes all the steps, it will move on from RC status to release, at which point I will move to a release number scheme instead of a date-based scheme, but I haven't yet decided on one so the RC1 build right now is unfortunately a mix of both, and doesn't make quite sense, but I hope you get the idea. It will subsequently also serve as the basis for future versions of the kernel.

The RC1 kernel is available as download in the OP. I would like to thank everyone who has tested the kernels so far. Thank you very much!
[Pixel C Android Development] tw1tch175:
Did you get a chance to test this kernel with the feb factory image yet?
[Pixel C Android Development] cheep5k8:
I've just flashed the new factory image a few minutes ago; only system and vendor, as I want to keep TWRP and the custom kernel of course.

So far everything works well, there don't seem to be any problems. Nothing out of the ordinary.
[Pixel C Android Development] followmsi:
Yes, I am happy to test RC1.

Should we wait until you adapt your kernel to the latest firmware, if needed at all ?

---------- Post added at 12:16 AM ---------- Previous post was at 12:11 AM ----------

Just saw your answer .. Will do the same, just system and vendor.

Will report back regarding "reboot frequency" ;)

Thanks
[Xiaomi Mi 4] arthur_shug:
Hello, I installed a custom firmware on my mi4, based on android 6 (CM13, AOSP 6 by Ivan), after that I wanted to install a custom kernel (StellAR Kernel for MI3, God's Kernel, ZeurionX), but after install, the phone will not turn on, what should I do to install a custom kernel?
[XDA Assist] god_hand:
After waiting a year micromax(cheepo) still fails to provide promised upgrade :(:(:(,i came to xda for help.Please xda team build a rom for hue.:rolleyes::rolleyes::rolleyes:

thanks in advance:good:
[XDA Assist] god_hand:
Ohk thanks anyway
[8125, K-JAM, P4300, MDA Vario ROM Development] brianmay27:
ok i have wm6 i got it here like 3 mounths ago. i dont know what kind it is. but i need a new one. my calls arnt comming in and my e-mail is not working too well. i want something that is stabel, nice, and one thing that is a must is have the phone contacts thing. on mine there is a bar on the top when you opent the phone where your contacts are. thanks
[8125, K-JAM, P4300, MDA Vario ROM Development] kegobeer:
There are already tons of "what should I use" threads - read them and then experiment. No one can tell you what you should use.