[Nexus 5X General] sfhub:
NEW permanent fix

(thanks trevonn for uploading the npf26f firmware)

As of 11/22/16 Google has finally released a fix for the touchscreen, but only on the beta channel.

Either install Android 7.1.1 DP2 NPF26F (or newer)

or

run the following update-touch-npf26f.zip in TWRP.

DOES require unlocked bootloader

does NOT require you to run beta 7.1.1

does NOT require root/supersu

makes NO modifications to your system nor vendor partitions

you will still be completely stock once the update is done, touchscreen firmware is uploaded to the screen's internal processor

IS persistent, you can install any ROM, custom, stock, doesn't matter, fix will remain
​

=======================

OLD instructions

To make it easier for people to try this fix, I created an update.zip that can be run from TWRP. This will roll back your Synaptics touchscreen firmware to the one that was included with MMB29K - MMB29V and thus fix the problem described above.

The old manual method is still available in the post below.

Update:

On Android N (Nougat) 7.0 in addition to bootloader being unlocked you MUST install SuperSU 2.77 or newer PRIOR to running update-touch-vendor.zip There was a security change in 7.0 that causes data written to /vendor to rollback to original. Changes are physically there but get treated as data corruption and "fixed" automaticaly by reed solomon forward error correction. This auto-correct "feature" is disabled if dm-verity is disabled (installing SuperSU would take care of this for you)

You DO need to unlock your bootloader but you do NOT need to be root, however if you choose the 2nd option (update-touch-vendor) it would be best if you were root or you'll see the RED Android corrupt message.

The reason that happens with the 2nd option (update-touch-vendor) is to allow you to run the older touchscreen firmware with a ROM MHC19J (or newer) the /vendor partition needs to be modified to include the older touchscreen firmware (otherwise upon first boot, your rolled back touch screen firmware will get overwritten with the newer touchscreen firmware in /vendor/firmware). Because of how the Merkel-hashtree verification works, if you touch anything in /vendor (or /system), even just changing the date on a file or mounting r/w, it will complain about corruption. If you are running root, it will disable the dm-verity checks for /vendor (and /system), and you will just see the standard ORANGE bootloader unlocked warning.

This was ONLY tested with TWRP 3.0.2-0 for Marshmallow and TWRP 3.0.2-2 for Nougat and with stock ROMs, though it should work with most if not all ROMs.

I ONLY tested it with TWRP flashed onto the recovery partition (ie did not test temporarily loading twrp using "fastboot boot twrp.img")

There are two files available:

update-touch.zip

- install this file using TWRP if you just want to rollback the touchscreen firmware.

This REQUIRES you first flash a release OLDER than MHC19J, for example MMB29V

and

Do NOT upgrade to MHC19J (or newer) until Google fixes the problem

update-touch-vendor.zip

- install this file using TWRP if you would like to rollback your touchscreen firmware

AND keep your existing MHC19J (or newer) Android system release

I also suggest you DISABLE your lockscreen PIN/Pattern before doing any installing of update-touch-vendor.

It is generally good practice to do this whenever you start modifying partitions that are being verified, otherwise parts of Android can get confused and think your phone is stolen and someone is trying to break in, thus attempt to lock you out.