Hey checkyourlogs.net fans!

I’m a prolific Surface guy, having used them daily from the release of the original, much maligned Surface RT to my current daily driver, the Surface Book 2. I love these devices, but occasionally, particularly after firmware updates, they like to torment me with odd issues. Today’s gremlin was my SB2 not detecting my external monitor, the very same external monitor I’ve used with this SB2 and it’s Surface Dock since day one.

After trying all the usual easy remedies, i.e. disconnect/reconnect the dock, power cycle everything, update the SB2 and the dock, etc… I concluded more drastic measures were necessary. Time to hack the registry!

In this case, the registry hack really isn’t a hack. It’s deleting two, possibly three, registry keys to reset the display cache on the SB2 forcing it to redetect displays after a reboot. This “hack” is so well known, Microsoft has a downloadable registry file available to automate removal of two of the keys: http://download.microsoft.com/download/8/5/5/8554763F-DBF9-41B3-9F12-605FA0A99183/surface%20dock%20registry.zip.

The keys removed using the downloaded file are:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity

For those amongst us who are extra thorough, also remove this key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors

Of course, I prefer to do anything and everything leveraging the power of PowerShell. Since HKLM is exposed by default by the PowerShell Registry provider, this is easy-peezy with a few one-liners. Open an Administrative PowerShell prompt, then enter the following:

Remove-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration" -Recurse

Remove-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity" -Recurse

Remove-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors" -Recurse

Don’t worry if you get an error on the last one. The ScaleFactors key isn’t always present.

Before removing the keys above, using whichever method you choose, disconnect the dock from your Surface. With the dock disconnected, remove the keys then shutdown the Surface. Power the Surface back on and once booted, reconnect the dock. The Surface redetects the external display causing tired eyes like mine to rejoice!

I find joy knowing the registry editing skills I learned years ago still solve problems today, decades after I first learned them!

Enjoy your IT Journey, fellow IT Pros!

John Sr.

Advertisements