site

files for beauhilton.com
git clone https://git.beauhilton.com/site.git
Log | Files | Refs

pixel6screen.md (5736B)


      1 # Pixel 6 DIY screen replacement, with fingerprint reader calibration using Linux
      2 
      3 <time id="post-date">2023-09-19</time>
      4 
      5 <p id="post-excerpt">
      6 The internet, up to now, says you need Windows or MacOS to calibrate the Pixel's fingerprint reader after installing a new screen and digitizer.
      7 The internet, up to now, was wrong.
      8 </p>
      9 
     10 ## Physical install
     11 
     12 My wife's Pixel 6's screen stopped working.
     13 Phone seemed to be ok otherwise.
     14 
     15 We looked at the cost of replacing the phone vs repairing the screen.
     16 
     17 A similarly capable phone would cost quite a bit more than the replacement screen kit, 
     18 which was ~$130 from [iFixit](https://www.ifixit.com/products/google-pixel-6-screen-genuine).
     19 
     20 So we bought the replacement screen, 
     21 watched a few videos on YouTube,
     22 and were off to the races.
     23 
     24 The tear-down and physical installation were easy.
     25 Kudos to Google for making the Pixels easy to work on.
     26 I won't give much detail here: just use the videos, 
     27 whichever ones have a bunch of views.
     28 
     29 I did waste the included screen adhesive on the first go-around,
     30 because I didn't realize that the broken screen I removed had been separated from its frame
     31 (so the old frame was still installed and I installed the adhesive to the its top,
     32 rather than in the phone casing where it belongs,
     33 and found out when the phone wouldn't click back together with the new screen). 
     34 It was about $10, including shipping, for a second adhesive (also iFixit). Fit like a glove.
     35 
     36 Total $140, and Verizon sent us a free new Pixel 7 anyway (long story), 
     37 so now my wife has the 7 
     38 and I upgraded from my old Pixel 2XL to this refurb'd 6. 
     39 Dang, what an upgrade. 
     40 Even though the Pixel 6 is widely considered the dud of the group,
     41 I'm loving it.
     42 
     43 ## Fingerprint reader calibration is needed
     44 
     45 After it was all installed and working well,
     46 the next hurdle was recalibrating the fingerprint reader.
     47 The fingerprint reader is part of the new screen, and needs calibrated, 
     48 or it will not even attempt to work (seems more an "activation" than a "calibration," no?).
     49 
     50 The website Google provides for calibration is <https://pixelrepair.withgoogle.com/udfps>.
     51 If you look around the internet for troubleshooting related to this tool,
     52 you'll see a number of old posts recounting various problems,
     53 most of which seem to have been ironed out by this writing.
     54 
     55 However, the one problem I couldn't find a fix or happy update for was how to use that website
     56 if you're not running Windows or MacOS.
     57 
     58 [This Redditor couldn't get it working on Linux or Windows, bad luck?](https://www.reddit.com/r/GooglePixel/comments/xq82ri/pixel_6_fingerprint_calibration/).
     59 
     60 [Anon is very angry at Google for not supporting Linux for the calibration (ctrl-F "linux" to find)](https://issuetracker.google.com/issues/217589152?pli=1).
     61 
     62 We no longer have anything but Linux/OpenBSD systems in the house 
     63 (while I love FOSS and feel glee in this,
     64 it is not entirely on purpose, and I don't hate Windows or MacOS - 
     65 my wife's MBP met an early demise at the thrown milk cup of a boisterous toddler, 
     66 or I would have tried that machine first 
     67 to avoid the possible headache of ironing out a solution for Linux for a [hopefully] one-time computing event.).
     68 
     69 The udfps website was finding my phone, but refusing to go further.
     70 I was in fastboot.
     71 Browser didn't matter (tried OG google-chrome-stable, vivaldi-stable, firefox).
     72 USB-A vs USB-C computer-side connection didn't matter (some folks mentioned needing USB-A, so I tried).
     73 Activating Android developer mode didn't help,
     74 and activating USB debugging within the developer options didn't either.
     75 
     76 I saw some posts talking about installing USB drivers to get udfps to work for Windows machines, 
     77 so decided to poke around and see if maybe it was a driver issue on Linux as well.
     78 
     79 It (probably) was.
     80 
     81 ## Android build tools to the rescue
     82 
     83 On Arch Linux 
     84 (these tools are widely available, 
     85 distro doesn't matter, 
     86 this is just what I used):
     87 
     88 ```sh
     89 # enable multilib - see link below
     90 paru # make sure things are up to date generally
     91 paru -S android-tools android-sdk-build-tools # includes adb and other goodies
     92 reboot
     93 ```
     94 
     95 Re multilib - not sure if this is strictly needed - 
     96 see <https://wiki.archlinux.org/title/android#Android_Emulator>.
     97 
     98 After grabbing the Android build tools listed above and rebooting,
     99 the website found my phone and ran the calibration software without a hitch.
    100 The website didn't seem to work prior to rebooting,
    101 and I'm a lazy cretin/wizened ol' wannabe sysadmin,
    102 so fancy a reboot to fix all of life's woes.
    103 
    104 The phone does need at least one reboot 
    105 to activate the calibration and enable the fingerprint reader,
    106 but the calibration software tells you that, no secret magic here.
    107 
    108 I don't recall if I used vivaldi-stable or google-chrome-stable to run udfps, 
    109 but I think it was the prior 
    110 (I bet any Chromium-based browser would work, 
    111 provided the right system tools are in place).
    112 
    113 I also can't remember if I used USB-A to USB-C or dual-sided USB-C, 
    114 but I think it was the dual USB-C. 
    115 
    116 I do think developer mode and USB debugging active on the phone are required, 
    117 but I'm not completely certain.
    118 
    119 I did this all on a Thinkpad T14s.
    120 
    121 In any case, fingerprint unlock is a go!
    122 
    123 Almost too easy.
    124 
    125 ## Manual clean up - what, you think this is NixOS?
    126 
    127 You probably won't need these tools again,
    128 at least not for a long while, so:
    129 
    130 ```sh
    131 paru -R android-tools android-sdk-build-tools # about 156MiB, not much, but it's the principle of the thing
    132 sudo pacman -R $(comm -12 <(pacman -Qq | sort) <(pacman -Slq multilib | sort)) # undo the multilib stuff
    133 sudo sed -i 's/\[multilib\]/\#\[multilib\]/' /etc/pacman.conf # undo more of the multilib stuff
    134 paru # finish undoing the multilib stuff
    135 ```
    136 
    137 ## Next steps
    138 ### ? 🦒 ?
    139 
    140 idk, maybe.