February security update for LG G7

The US Unlocked LG G7 ThinQ has received the February security update for Android. G710ULM

I’m not optimistic that LG will get the Android 9.0 Pie update out before the end of Q1 like they promised, despite the fact that it was already released in South Korea in January. In fact, the Korean software has just received a feature update and bugfix release. LG treats the world outside South Korea as second class customers and then wonders why their mobile division operates at a loss.

September security update and camera+performance patch for LG G7 ThinQ

The carrier-unlocked version of the LG G7 ThinQ (G710ULM) has just received a new patch from LG that promises performance improvements, bug fixes, 4K 60fps video recording, and the September security update for Android.

The new version is v10g

Camera and July security update for LG G7 ThinQ

My LG G7 ThinQ just received the camera update that delivers 4K 60fps and a more responsive camera app. Included in the update is the July security update for Android.

My G7 is the unlocked version, G710ULM. It brings my device to software version G710ULM10f.

Keep it up, LG!


LG G7 ThinQ Review

I ordered the LG G7 ThinQ from Google’s Project Fi as part of their $300 account credit promotion, making the total price for the phone, after trade-in and eventual account credit, less than $400.

I’ve had this phone for a little less than two days. I’m not a professional reviewer, just a techy schmuck. I’m also not a professional photographer, I am a point-and-shoot dummy whose primary subject is a 3.5ft tall blur that will ruin a good photo opportunity if I can’t take the photo fast enough. Coming from a Nexus 6P, my concerns were battery life, camera quality, and software support. Survivors of the Nexus 5X will probably be concerned about quality control from LG, and that’s fair, but realize that ~2015 was an especially bad time for LG phones and their reputation before and since, while not pristine, is comparable to other manufacturers. With that out of the way, I’ll get started.


The camera in low-light, that all the reviewers complained about, is fine. It lets in more light than my 6P, so it doesn’t catch the contrast of the shadows as well, and the resolution of night mode photos is lower because it combines pixels, but overall it’s fine. Wide angle is potato-quality in the dark. Here is a photo sampling:


Nexus 6P night photo
Nexus 6P night photo
LG G7 ThinQ night photo
LG G7 ThinQ night photo
LG G7 ThinQ night photo - wide angle camera
LG G7 ThinQ night photo – wide angle camera






Below, I’ve provided some sample shots for a comparison. I also added in samples from my work-issued iPhone 8.


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8


Nexus 6P
G7 Standard Camera
G7 Wide Angle
iPhone 8













































The camera can be launched quickly with a double tap of the down-volume button. I find that it launches faster than my Nexus 6P’s camera, it focuses just as quickly if not faster, and its automatic point-and-shoot behavior is comparable. The Portrait mode works decently, but occasionally blurs things it shouldn’t; it’s better for ‘staged’ photos than the candid shots I usually do. I like that the record button is right there next to the shutter button, so I don’t have to wait a second or two for the camera app to transition to video mode. An update should bring, or have already brought, 4K 60fps video recording, depending on carrier approval.


I love the size and form factor. Nearly as tall as the 6P, but not as wide, so I can operate it with one hand easily. Very thin, very light. Pocket friendly! Fingerprint sensor is a bit lower than the 6P, so at first I kept tapping my finger on the camera, but I’ve gotten used to it. Notch doesn’t really bother me, except I wish I could see more notifications at once. Button placement is good, no accidental presses, and you’re confident that button presses are registered. I don’t love the headphone jack being on the bottom, but I can live with it because it has one. A lot of the promotional images out there make the phone look like it’s made of cheap, shiny plastic, so here is a photo of the blue matte finish.


Charges absurdly fast, 40->85% while I shower (15 minutes or so), and topping off in the car, with the same 2.4a charger (maybe supports QC?) I used with my 6P, makes a big difference. I never see myself leaving it on the charger overnight. Battery lasted a full day yesterday with me downloading a lot and setting it up. I rarely charge my phone to over 90% (better for long-term battery health), and I started today at ~85%. With 5 hours off the charger, listening to a podcast in the car for 20 minutes, and 1.5hr SOT, it’s down to 71%. A lot of phones seem to have a “learning” period, and if that’s the case here then I don’t think I’m going to have battery anxiety like I did with my 6P.


Screen looks crisp, very pretty. Lots of customization with a Flux-like night mode feature, game resolution and fps options, and its outdoor brightness is great. Putting it on auto mode, it keeps the brightness a little dimmer than I would like. Not being AMOLED means dark mode in apps is pointless (beyond aesthetics), and AOD (Always-On Display) feels like a waste of battery- the notification light will do for my needs. The screen’s lowest brightness isn’t quite as dark as the 6P, which makes sense because it’s LCD rather than OLED. Screen rotation is lightning fast. You can change the tone of the screen to suit your color palette preference.

LG Software and Skin

The LG skin, once you turn on the app drawer, will behave like a conventional Android home screen. I like how the app groups/folders can be given colors to differentiate them, and I like how a group has a little ‘add’ button that gives you the full app list and you can tick which app you want to add to the group. No more hunting for apps and dragging into groups… or maybe I need to remove some apps (300+ isn’t too many, right?).

You can change the grid dimensions for apps, change icon shapes, the provided widgets aren’t atrocious, and bind the keyboard to one side or the other for easier one-handed use. I have my Home screen setup where dragging up brings up the app drawer, and dragging down brings up a recent activity type screen showing my latest texts, upcoming appointments, latest emails, most recent browser tabs and apps, etc.

The LG skin makes theming easy, provides access to an online catalog of skins (some are paid), and with a lot of options to theme based on your favorite K-pop star (there’s no Brown Eyed Girls ­čśó). They have 360 wallpapers, AOD customizations, blah blah blah. I don’t really care about this crap. You can make the “Second Screen” a.k.a. area around the notch a solid color, like black, if you don’t like it trying to blend in with your apps.

If some apps don’t natively support the aspect ratio of the screen, there’s a button at the bottom-left to re-launch them to fit. That might be because I transferred the apps from my old phone. This same spot is also home to a button that you can long-press to make the screen’s back/home bar go away entirely (swipe up from the bottom to get it back).

LG doesn’t pre-load this thing with too much garbage, just a few items beyond the basics. It came with Facebook and Instagram, but I disabled them right away.

  • LG Health is a lightweight step tracker for those of us who aren’t really committed enough to fitness to buy a fitness tracker or bother with Google Fit.
  • LG Mobile Switch worked very well to transfer my apps and settings from my 6P.
  • Quick Memo (launchable from double-tap of volume up) is pretty nice writing pad but doesn’t sync anywhere.
  • Smart Cleaning is actually pretty cool: it clears up temp files/cache and closes background apps. It’s in the Settings menu, too.
  • SmartWorld is their store for themes, icon packs, wallpapers, AOD skins, and most of them are free.
  • Update Center is obvious.
  • HD Audio Recorder is obvious. High quality recordings that work with no setup required.
  • Music player – This is stupid. It has a “Boombox Show” that brings up early 2000s style visualizations while you play music, while also making the flashlight and vibration blink/vibrate to the tune of your music. It only works when your music is played from the app, as far as I can tell. It’s dumb.
  • Smart Bulletin – phone context setting screen to the left of the home screen. It’s like Google Now but phone-only and useless. Can be disabled in the settings.
  • NextRadio – an Internet radio app, but most importantly: it lets you use the phone’s FM Tuner. I had glossed over the fact that this phone has a built-in FM tuner (only usable when headphones are plugged in). Being a data-conscious Project Fi customer, having the option to tune into local radio instead of stream it sounds great. My only qualm is that this app is just a free app normally available on Google Play, and it’s ad-supported. As far as I can tell, there’s not much of a market for good FM tuner apps, so this will have to do.

My one major complaint: I wish I could make the bottom navbar black, or adjust to the current app’s color. Having a dark app up with that light-grey bar at the bottom is ugly. I could hide it, but I’m a notorious multitasker.

My one minor complaint: by default, the share button tries to find nearby devices to beam to, as well as bring up the usual share options. This slows down the share menu and probably unnecessarily wastes battery. It can be toggled off in the Share menu settings.

Hidden gem: the Capture+ tool. Its interface looks like Quick Memo, but it’s something available as an Action icon in the status bar. It’s a quick screenshot tool that can also make short gifs, quickly crop a screenshot, or mark on it.

The LG keyboard is actually really nice. The number row is on by default, you can swap around the positioning of some of the characters, it learns very quickly, and it’s suggestions and autocorrect, even on its aggressive setting, is not as aggressive as Gboard’s autocorrect.


The ring is loud and crisp, you can’t miss it. When playing music while sitting the phone on a table, the speaker is impressively loud. Better than a cheap portable Bluetooth speaker. The vibration is fantastic, especially compared to the Nexus 6P where vibration might as well mean silent. Haptic feedback is solid.

There’s been a lot of positive commentary made about its Quad DAC and DTS 3D Surround, but I mostly listen to podcasts, audiobooks, and audio dramas in the car. They definitely seem louder and clearer. After tweaking the digital filter, voices are crisper and easier to hear. Nifty.

AI button

“OK Google” or other keywords have always been difficult because, at least on my old phone, there was such a delay between saying the keyword and the ‘ding’ to start talking that my small human being would often start talking and botch my search query. And it would usually want me to unlock the phone, which defeats the purpose of voice search (I don’t use Smart Unlock). Now, I can pick my phone up, tap the fingerprint reader, press the button and start talking. It’s definitely more convenient, but I still find voice search to be more of a gimmick than legitimately useful.

micro SD slot

Since this phone comes with 64GB of storage, the same that my 6P had, I knew the ability to use external storage was going to be a necessity, so I popped in a 64GB UC3 micro SD card. While not every app supports it, and those that give you options to save into directories sometimes complain they can’t write to it, the biggest storage hogs can take full advantage of it: Camera, Google Play Music, Netflix, Plex, Amazon Video, Pocketcasts, LibriVox, Audible, and Google Maps. Some apps can be moved to External Storage, too.


This is just my hot take, but this phone exceeded my expectations. I ordered with a bit of apprehension, not sure if I was making the right choice, but 2 days with this phone have made me feel confident that it should last another 2+ years like the 6P did, despite its flaws. With Project Fi’s recent $300 account credit promotion, and with doing a trade-in, I now have a new flagship-tier phone for less than $400, beating that classic Nexus price point with a powerhouse of features. I just popped it into a Spigen Rugged Armor case and it feels like I’m continuing to own a phone that does what I want.

If you do order this phone, register for the LG Second Year Promise within 90 days of purchase. It’s a free warranty extension for your second year of ownership. While I decided to get Device Protection from Google (well, Assurant), there’s no harm in having an extra layer of warranty from LG. It also helps reinforce to LG that providing long-term support is a great way to earn customers.

Comparing night photos of the LG G7 ThinQ to a Nexus 6P

Professional reviews of the LG G7 ThinQ often mention that the LG G7 ThinQ can produce mediocre low-light photos. Having one in hand, I decided to make a quick comparison with a Nexus 6P.

Nexus 6P night photo
Nexus 6P night photo
LG G7 ThinQ night photo
LG G7 ThinQ night photo
LG G7 ThinQ night photo - wide angle camera
LG G7 ThinQ night photo – wide angle camera

The LG G7’s standard camera produces comparable night photos to the Nexus 6P.  The G7’s photos are brighter and catch more detail, however they tend to lose the contrast between the light and the shadows. They also have a lower resolution, which makes sense given that the G7’s low-light camera mode, which is on by default in low-light, combines pixels to produce a better image.

The G7’s wide-angle camera performs very poorly in low light, but considering that many other phones don’t have this camera to begin with, it’s still a beneficial option for daylight shots.

Lesson learned: be careful flying a drone in the city, and at night, especially together and for the first time

So I tried to fly my drone, a Syma X5C, for the first time at night, and for the first time in the city… all in one night. It went rather poorly. The drone was nearly lost.

For one, my control range was very short – I assume due to RF interference. And once it got above the roof line, the wind swept it away. I spent the entire flight trying to get it to come back.

Luckily, I was able to slow the descent a little, I think it hit a roof, and then landed on the ground outside someone’s house. I was so lucky that I found it. It went about four streets over!

See video below.


Project Fi recommendation

I’ve been a Project Fi customer for over 2 years. We went from a Verizon bill of $140+ per month for 2 phones with 800 minutes, 100 texts, and unlimited data to Project Fi with unlimited talk and text and $10/GB on data, with an average bill of $50-55/mo. There’s bill protection, too, so if you go above 10GB (with 2 lines), they won’t charge you any more than $135. If you’re always on Wi-Fi, it’s a no-brainer.

Project Fi uses towers from Sprint, TMobile, and US Cellular, switching when the signal from the current carrier gets low. Also, Wi-Fi calling and texting works flawlessly – I’ve even taken calls over satellite Internet.

The only caveat with Project Fi is that you pay for your phone up front (which is becoming more common, anyway), and it has to be a phone that gets its updates directly from Google: the Pixel 2, Pixel 2 XL, Moto X4 Android One edition, Pixel, Pixel XL, Nexus 6P, and Nexus 5X. That’s because traditional carriers do not include the network-switching software piece in the handsets they sell.

Here’s a referral code to get a $20 credit when you join Project Fi! Redeem it at https://g.co/fi/r/JFD22V

Android cannot delete emails from IMAP server

I’ve been having an odd problem with being unable to delete emails from the Inbox of my self-hosted email account from my Android phone, using the Gmail app, using IMAP. When I would delete a message, a copy would be created in the Trash folder, but the original would remain in the inbox – when viewed from webmail. When I refreshed the inbox, the original would reappear on my phone.

At first, I thought the problem was permissions on /var/mail – so I did various changes such as chmod 1775, but to no avail.

I then remembered that I had recently re-setup my mail account on my phone, and realized that maybe it wasn’t using IMAP previously. So, I deleted the account, set it up again as POP3, and enabled server-side deletion. It worked!

It turns out that most mobile IMAP clients do not support the ability to achieve true server-side deletion. Using POP3 is an easy alternative and there is no harm. Yes, POP3 is an outdated and cruddy protocol, but in the end, it works.

Android Pay not working on Nexus 6P with Android Oreo

After sideloading Android 8.0 Oreo on my Nexus 6P, I found that Android Pay no longer considered my device secure. There’s apparently a bug in the OTA version Google posted publicly on their website, OPR6.170623.017. Luckily, the OTA that went out to most people, OPR6.170623.019, does not have this bug. You can wait for an OTA notice from Google, which might take a couple of weeks, or you can sideload OPR6.170623.019.

Here’s the download link: https://android.googleapis.com/packages/ota-api/google_angler_angler/fa6c32666b341b882089fc8e1207f435921723f9.zip

If you are running a version of Android other than OPR6.170623.017 DO NOT install the above-linked update

Crouton and Steam on a Chromebook Setup Guide

Update: I recently updated this walkthrough for Ubuntu Xenial instead of Trusty because that’s what I’m using now.

Update #2: A Chrome security update necessitates running a command on the Crouton script before running it the first time.

You might think that ChromeOS cannot run games that aren’t browser-based, and by itself you would not be wrong. But, with Developer Mode, a script called Crouton developed by a Google employee in his off-time, and a bit of effort, you can have a low-end laptop that runs both ChromeOS and an Ubuntu Linux desktop at the same time – without dual-booting. The way this works is that your device is always using ChromeOS’s Linux kernel, but you’re running a chroot (essentially a fake root file system) that contains everything needed to run software from Ubuntu.

This should be possible on any Intel-based Chromebook. On my Acer R11 CB5-132T-C1LK with an Intel Celeron N3150, 4GB RAM, 32GB Flash storage, I can smoothly play:

  • ┬áCrusader Kings II
  • ┬áGemini Rue
  • ┬áPapers, Please
  • ┬áPillars of Eternity
  • ┬áTyranny
    I haven’t tried anything twitchy, but I would assume only older titles will perform well. The newer (and cheaper) model of the Acer R11 has an Intel Celeron N3160 with Intel HD Graphics 400, making for a cheap, fast, long battery, netbook-like device that can still play games on the lower end of the spectrum.

Getting Started: Developer Mode

Note that Developer Mode completely wipes your Chromebook, so back up any files to Google Drive or elsewhere before getting started.

  1. Power your Chromebook off. Then press and hold ESC+Refresh+Power until you get a screen that says ChromeOS is missing.
  2. Press CTRL+D. Then press Enter. This turns OS verification off.
  3. The next screen will say that OS verification is off. You will see this screen every time you boot your Chromebook in Developer Mode. If you are concerned that another person will press the Spacebar and then Enter and destroy your little experiment, press the left arrow key a few times to change the language on this screen to something like Korean – this change will be saved for future boot-ups. Now only you will know how to boot your Chromebook and there won’t be instructions on the screen. To restore your Chromebook, all you need to do is press Spacebar then Enter on this screen.

Setting up Crouton

  1. Install the Crouton chrome extension. This lets you share a clipboard between ChromeOS/Linux and open URLs in Chrome.
  2. Go to this page and click the goo.gl link toward the top to download Crouton. Do not ever delete this file from your Chromebook’s Downloads directory and do not overwrite it. I’ll show you how to update it below.
  3. Press CTRL+ALT+T to open a terminal window. Type shell and press Enter.
  4. Type this command to bypass ChromeOS’s security lockdown on the Crouton file:

    sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton

  5. Type in the following command to install Ubuntu Xenial with some Crouton targets (sort of like parameters):

    sudo crouton -r xenial -t xfce,keyboard,touch,extension

This will install the XFCE desktop environment, which is very lightweight. The ‘touch’ target is for if your Chromebook has a touchscreen – if yours doesn’t, omit this target. The ‘extension’ targets allows Ubuntu to talk to that Chrome extension you installed in step 1. The ‘keyboard’ target lets you use the Chromebook’s function keys – you will have to press the Search key before pressing VolUp/VolDown/BrightUp/BrightDown keys. I had some trouble getting audio while in the chroot, so I added the ‘audio’ target after the fact in my setup.

If you have a beefier Chromebook, you could use Gnome or Unity instead of XFCE, but because you’re wanting to game, the desktop environment with the lowest memory overhead would be best, and that’s XFCE.

Here is a Cheat Sheet of Crouton commands, which includes adding targets to existing chroots, backing up your chroot, and updating Crouton. Bookmark this!

Linux aficionados might ask why I recommend Ubuntu – because it’s the most commonly used and widely supported in the Crouton community, and because game developers primarily seem to target Ubuntu for Linux game development. Personally, I prefer Fedora on my Thinkpad, but I use Ubuntu on my Chromebook. You might also wonder why I don’t recommend xiwi (X in a Window) instead of having the full overhead of a XFCE environment: game performance in xiwi is absolute crap. Only Papers, Please and Gemini Rue were playable in xiwi.

The Ubuntu installation can take a long time, depending on your Internet connection.

Starting Crouton and installing Steam

  1. Once your chroot is set up, from the terminal tab type in: sudo startxfce4
    You will need to type this into a terminal tab each time you want to enter Ubuntu!!!!
  2. Congratulations, you’re in Ubuntu! To switch back to ChromeOS, press CTRL+ALT+Forward on your keyboard. You can use this to switch back and forth from Ubuntu to ChromeOS.
  3. Disable the screensaver in XFCE. It can cause graphical glitches and resume problems.
  4. Download TrueType fonts by entering into Xterm: sudo apt-get install ttf-ubuntu-font-family
  5. Update Ubuntu’s software: sudo apt-get update && sudo apt-get upgrade
  6. Install some basic tools (text editor, archive manager): sudo apt-get install file-roller gedit
  7. (Optional) Install VLC media player: sudo apt-get install vlc browser-plugin-vlc
  8. And Finally, install Steam:

 wget http://media.steampowered.com/client/installer/steam.deb

sudo apt-get install gdebi-core

sudo gdebi steam.deb

If you’re a Linux regular, you can also install games from .deb files, compile from source, or install Wine and run Windows executables, but I won’t cover that here because other guides on how to do this in Linux will cover it better.

Updating Crouton

You should update Crouton after each ChromeOS update. Since I’ve been using it, I’ve never had a ChromeOS update actually cause a problem with running Crouton, but it might and it’s best to keep it up to date. Because the developer essentially builds this on his free time, it might take a couple of days for an update to come out after a ChromeOS update with major changes. To update both Crouton and your chroot:

 sudo crouton -u -n chrootname

Adding Additional Storage

Most other guides don’t cover this, but I find it critical to running Steam games on a Chromebook. Your chroot environment is taking up a fair amount of space on your Chromebook’s internal storage, so you’re probably going to want to install your Steam games to an SD card. I’m using a 64GB SDXC UHS Speed Class-1 card and it performs fairly well, and was only about $25. Before you can add the SD card as a Library Folder in Steam, however, there are some hoops to jump through because ChromeOS does not mount SD cards in executable mode – so you can’t run games off of them.

  1. Insert your SD card and make sure it’s a format that ChromeOS can write files to. Format it if necessary.
    2. Eject the SD card from ChromeOS, but leave it in the slot. Enter Crouton.
    3. On the desktop, find the see-through icon for your SD card (they should be listed by size), double-click it to mount it. Open the SD card and make note of the mount location in the address bar. It should be something like: /media/[linuxusername]/[letters and numbers]
    4. Open an Xterm window and type: mount
    5. Find your SD card in the listing there by looking for the Device ID and where it mounts. The line looks like something like this:
    “/dev/mmcblk1p1 on /media/[your username]/[sequence of letters-and-numbers]”
    You want both the /dev/ information and the /media text!
    6. Back on the desktop, right-click it and Dismount
    7. Back in the Xterm window, type: vi mountsdcard
    8. Press the letter ‘i’ on your keyboard, modify the following to match your variables from above, and write it into the file:

sudo mkdir /media/[linuxusername]/[letters and numbers]

sudo mount -o rw,nosuid,nodev,relatime,seclabel,data=ordered,uhelper=udisks2 /dev/[deviceid] /media/[linuxusername]/[letters and numbers]

  1. Press Esc. Press : and enter: wq
  2. Enter into the terminal window: chmod +x mountsdcard
  3. To mount your SD card, enter: sudo ./mountsdcard

So, to recap, the process you need to follow every time –┬á before launching Steam needs to be:

  • Dismount the SD card from ChromeOS
  • Press CTRL+ALT+T to open a terminal tab.
  • Enter: shell
  • Enter: sudo startxfce4
  • Open Xterm and enter: sudo ./mountsdcard
  • Open Steam.

From this point, you can create a Steam Library Folder on the SD card and install your games. Once you’re done playing your game, log out of Crouton and physically eject and re-insert your SD card to see it again in ChromeOS. If your Chromebook goes to sleep, it will dismount your card, so do not allow your Chromebook to go to sleep while Steam is running or otherwise you will have to close Steam, Dismount, run mountsdcard, and possibly re-add your Library Folders.

Please refer to the Crouton Command Cheat Sheet to learn how to backup your chroot. Backing up from time to time can save you if an update breaks something, but I’ve been running my chroot since December without a backup and haven’t had any trouble.

If you want help with your specific situation and setup, you can ask me here and I can try to help you, or you can ask the collective minds at the Crouton subreddit – they will probably be able to help with more complex questions than just me.