[Droid Incredible Android Development] swm5126:
Hi everyone,

I've decided to start a thread dedicated to my SDK port of ICS. I want to extend a thank you to Joel, who initially got this booting on our device.

Some of you may know that I've made some progess on one of the biggest issues with the port on our phone (and many many other HTC phones actually), which was the touchscreen. I've ported the driver from the Samsung Nexus S (uses the same touchscreen sensor as the Inc) and gotten it to work with the CM7 kernel (from cuviper). And now the touchscreen works in ICS as well!

This ROM is not a daily driver, although if we did get that far it would rock :D, but since we don't have the source yet I'm not expecting anything too incredible ;). My goal for this ROM is to get as much of our hardware working with what we have, which is existing files from GB that may or may not help, as well as kernel and driver hacking. Once the source drops for ICS, with any luck our work here will enable ICS to be ported sooner because of tweaks and modifications to the kernel that may very well be needed with a source port anyways. My idea is to get as much work done ahead of time as possible, I suppose.

So PLEASE, do not complain about features that aren't implemented yet, or other parts that don't work as you would expect. I don't expect anything to work as we expect! That's the whole point of this. And also keep your negative comments about SDK ports to yourselves if possible. As I said, this is not to create a 100% functional SDK port. It's to make as much functional as possible so that ourselves and others will perhaps have fewer hurdles and headaches to overcome when the ICS source becomes available. Especially since we can't really expect an ICS update for the Incredible or many other similar HTC phones, meaning we may never see kernel source from them to help us.

Current download links:

Here's the link to my current progress: incredible_ics_v0.01-signed.zip

This is a flashable zip for CWM. You'll need to wipe data/cache as usual.

The touchscreen currently works in "pointer" mode, meaning it acts as if its a trackball/touchpad to move the cursor on the screen. Pressing with two fingers is interpreted as a touch to select things. This is not ideal.

If you'd like to try and help out, try messing with the .idc files. I was able to get rid of cursor mode by using some others from other devices, but the touch seemed very...ehh...not correct. Messing with the values in the files seemed to change how it behaved, but we need a correct .idc file to make things work the way they should. If you find one and want to try it, you'll have to create the directory (/system/usr/idc) and push the file to it through ADB. Android loads it upon boot. Also, it must be named "mxt224_ts_input.idc" otherwise it wont load the file. I plan to work on the .idc predicament myself at some point soon, but I'm still trying to hash out a few touchscreen driver ideas that may be a better solution.

Please read:

If you figure anything out, please post here! Or if you have trouble with something, post here with a logcat and a dmesg dump. They're pretty simple to do. To get a logcat, turn off your device, then turn it on. Once the white Incredible screen is up, type "adb logcat > logcat.txt" into your terminal/command prompt. Once it's done booting you can CRTL+C to stop it from logging. After this, back on your terminal, enter "adb shell /system/bin/dmesg > dmesg.txt" to get the dmesg dump. Grab those and zip them up and post them here for someone to look at.

Source:

Incredible kernel github repo: github.com/swm5126/cm-kernel

ROM github repo: github.com/swm5126/Incredible_Ice_Cream_Sandwich

Everything else:

And finally if you're interested in the progress being made on touchscreen drivers, take a look here. Currently, I'm trying to see if instead of using the Samsung driver, we can use the HTC driver with some modifications to make it work correctly for ICS.

*This is by no means only just "my" port and work here. I encourage anyone with any knowledge, from our device or even others to add to the discussion and help out as they please. I only aim to manage mine and others progress in one place.

*I am not all that knowledgeable with kernel/driver programming and modifications. I'm versed in programming a few languages, but I've never done any system level stuff, and I'm learning (A TON by the way) of things as I go by tweaking and testing things. Which means that I may, or may not know what I'm talking about. If I've provided inaccurate information, please tell me so I can correct it!

Phew. Anyways, please try it out if you'd like.

I also added a donation email in my profile, if anyone would like to donate. I wont be hurt if you don't, but if you do, THANK YOU!