Surface [Book/Book2/Pro3/Pro4/Pro2017] – high-dpi multi-monitor optimization regkey for alternate 3:2 aspect ratio resolutions & Intel driver install process


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 DPI-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 Microsoft production line 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 for multi-tasking. 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 the developer intended with this simple & reversible modification!

A handy side-effect of the optimisation presented here 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. All of these changes are 100% reversible though so the risk is minimal.

 

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/SGo)
    • Do NOT download the .exe version from intel.com It won’t install on your system.
    • 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.
    • All Surface devices that contain an NVIDIA GPU also contain a Intel GPU. The changes we’re making are for the Intel GPU and will apply whether your apps are using the enhanced capabilities of the NVIDIA GPU or not.
  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. (Typically, you want to add resolutions that match the effective DPI of your external monitor.  See below for a suggested list of resolutions to try.)
    • 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 export 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 to track registry changes in real-time.

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…”, “Intel Iris 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
  • If the regkey import 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 a link in the comments below

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/Pro3/Pro4/Pro2017] – high-dpi multi-monitor optimization regkey for alternate 3:2 aspect ratio resolutions & Intel driver install process

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 )

Connecting to %s

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: