Surface Book/Book2, Surface Pro 3/4/2017 – high-dpi multi-monitor optimization regkey for alternate 3:2 aspect ratio resolutions

[Can’t decide what Surface docking hardware to buy? Click for a comparison of many popular docking options.]


[Setting up a live Surface demo using the scaling tweak and Vertical Surface Docks at the Seattle Maker Faire (EMP Museum/MoPop)]

Here is the optimization in action with the hi-dpi Surface paired with a regular 1080p monitor. Note how dragging applications across monitors is seamless and all the sizing matches:


The Surface Pro 4, Surface Pro 2017, and Surface Books have 3:2 aspect ratio screens. Certain customers prefer to set the screen to a lower resolution rather than use the built-in Windows 10 scaling feature especially when plugging in an external monitor or using legacy apps/games that don’t behave well with high-DPI screens. [To understand why this works so well, read last year’s article about the same approach on the Surface Pro 3.]

Unfortunately all the resolution options built-in from the factory are 16:9 or 16:10 aspect ratio such as 1680×1050. When you select these options, you’ll see black bar letterboxing which means you’re not using the full screen and it will be difficult to get multiple screens working seamlessly. Also, some games behave poorly in these letterboxed modes where mouse clicks and touch screen presses are offset. Get back your full 3:2 aspect ratio screen and get your games and apps working the way they were meant to with this simple & reversible modification.

A handy side-effect of the modification is that with multiple monitors, your mouse pointer probably won’t get “stuck” between screens blocked by an invisible wall since effective resolutions can be matched properly. Furthermore, sizing artifacts when dragging windows across screens of vastly different DPI can be avoided as demonstrated in this quick demo video.

Disclaimer: modifying the registry directly or installing 3rd-party drivers can have side effects and precautions such as backing up your data should be taken before modifying your PC.

 

Manual method (Intel.com .zip driver install for Surface)

  1. Disconnect all external monitors and set the Surface Pro screen to default scaling settings, then log off and log on
  2. Download the latest 64-bit .zip package for the Intel graphics driver: https://downloadcenter.intel.com/search?keyword=Intel+HD+Graphics+530 (SP4/SB) or https://downloadcenter.intel.com/search?keyword=Intel+HD+Graphics+620 (SP2017/SB2/SL)
    • A typical Intel driver package applies to several different GPU models so even if your device is Intel Iris 640, for example, the same link ought to work.
    • Do NOT download the .exe version. It won’t install.
  3. Unzip the .zip driver package and use the “Have Disk” method to force install over the default Surface Pro driver as follows:
    • right-click the .zip file, select “Extract all” and follow the directions to extract the files to a new folder
    • start Device Manager
    • expand – “Display Adapters”
    • right-click on “Intel HD Graphics”, “Intel Iris Graphics”, or similar entry and select “Update driver”
    • click “Browse my computer for driver software”
    • click “Let me pick from a list of device drivers on my computer”
    • click “Have Disk”
    • browse to the unzipped driver folder \Graphics containing “igdlh64.inf”, igdlh64, or similar file
    • click “Open” then “OK” then “Next”
  4. After the driver installation completes, reboot
  5. After logging in, right-click on the desktop and select “Graphics Properties”
    • click on the word “Display” in the upper-right-hand corner to reveal the drop down menu
    • select “Custom resolutions” from the drop down menu
    • click yes to the warning message
    • add 1080×720, 60Hz, 32-bit color, 0% underscan or any other resolutions you wish
    • Close the custom resolution tool
  6. Reboot
  7. Connect all your desktop monitors and use the Display control panel to switch the Surface screen to the new 1080×720 landscape or 720×1080 portrait mode or whatever your preferred resolution is
    • On the start screen type in “adjust screen resolution” to open the Display control panel
    • Click on the representation of the Surface Pro screen
    • Click the Resolution drop down box and select your newly added resolution, then click “apply”
    • Click on the representation of the external monitor and click the “make this my main display” checkbox and click “apply”
    • Move the representations of the two monitors around to your liking
    • Close the Control panel and enjoy!

 

Regkey method:

This approach does not require installing the intel.com driver. Instead, it makes changes to the registry that get picked up by the existing Surface-specific GPU driver. It may not work for all systems. If it doesn’t work for your system please help the community by performing the changes per the manual method and providing a registry dump showing what was changed by the Intel driver. For most systems, the changes will reside in a single regkey described below but this isn’t guaranteed. To ensure all changes are tracked you can use Process Monitor.

If the regkey doesn’t work please let us know the specs of your machine:

    • Follow the manual steps to add resolutions but before actually adding resolutions, run process monitor and enabling registry change tracking
    • add the resolutions
    • With Process Monitor confirm which regkeys were modified.
    • Typically the following regkey is the only one modified:
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e968-e325-11ce-bfc1-08002be10318
    • Use regedit.exe to export this regkey and any other changed regkeys from your system and post it somewhere for the community to examine

If you want to try a pre-baked regkey that works for many surface devices:

  • Backup your system
  • Download .reg file
  • Rename .txt file to .reg then double-click the .reg file and click OK to import
    • Having trouble importing a .reg file when downloading via the MS Edge browser in Windows 10? That’s probably because it is auto-renaming to .txt for safety. You can rename it back to .reg or import the .txt file from within regedit.exe. Or just download with Internet Explorer or FireFox instead.
  • Reboot OR follow these steps to reset the Intel display driver
    • Open Device Manager
    • Open the Display Adapters
    • Right-click “Intel HD Graphics…” or similar and click “disable”
    • Click “Yes”
    • After the monitors stop flashing, right-click the Intel GPU again and click “enable”
  • Open System – Display – Advanced display settings in control panel and choose your preferred resolution

Select list of resolutions you may want to add:

  • 2704×1800 (* not quite 3:2 – limited by TCON)
  • 2400×1600
  • 2304×1536
  • 2160×1440
  • 2056×1368
  • 2040×1360
  • 1920×1280
  • 1800×1200
  • 1728×1152
  • 1620X1080
  • 1600×1066
  • 1536×1024
  • 1504×1000 (* not quite 3:2 – limited by TCON)
  • 1496×1000 (* not quite 3:2 – limited by TCON)
  • 1440×960
  • 1368×912
  • 1200×800
  • 1152×768
  • 1080×720

Some resolutions are only applicable to certain devices.

References:

Back to the main blog https://dancharblog.wordpress.com

Reg file download link (may not work on all systems)

Advertisements

86 thoughts on “Surface Book/Book2, Surface Pro 3/4/2017 – high-dpi multi-monitor optimization regkey for alternate 3:2 aspect ratio resolutions

Add yours

  1. Hey man, as a head’s up, as Phil said, the reg file hasnt worked since the last January Windows 10 update.. So here is a registry file with the manual resolutions as you suggested.. Keep on doing your awesome work! These files really make the difference with DX11+ gaming on the Surface~

    Like

      1. Hi AEtharr, thanks for posting the .reg file. It appears to have all the same information that is already in the .reg file posted in this blog. What I and other users need is an export of the regkey after manually adding the resolutions via the Intel control panel customer resolution UI. My hope is that by taking these steps, a new code in the regkey node in the pattern of C_MODES_LFP_******** will be revealed. Another thing that may be helpful is deleting all the C_MODES_LFP_***** nodes and start fresh. Make the changes in the Intel control panel and to quickly highlight the changes. Yet another approach would to be use sysinternals tools to monitor registry changes in real-time while running the Intel control panel custom resolution UI.

        Like

          1. I can’t seem to get either the Registry key from this webpage, or your file AEtharr to work on a new deployed Surface Book or Surface Book 2. The intel driver with custom resolutions still works however. I will re-image both of my machines and dump the registry for you to review.

            Like

    1. Thank you for this. I’m going to research the Surface Book 2 resolution situation and get to the bottom of this. Just too many projects lately.

      On Thu, Feb 15, 2018 at 2:01 PM, Dan S. Charlton wrote:

      >

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: