109

My laptop is a 15" wide screen running at 1600x1050, and in addition to that I connect an external 19" LCD which runs at 1280x1024. The problem with this setup is that if I increase the text size to make the laptop screen readable, the text on the external LCD is huge. Normal text on the LCD results in tiny text on the laptop.

What options do I have to get around this?

2

11 Answers 11

43

DPI settings affect the entire desktop, regardless of number or arrangement of monitors. You cannot have two different DPI settings on two monitors.

Update:

This is untrue as of Windows 8.1, which adds many DPI scaling enhancements, including per-display DPI settings. Although some may not find the implementation offers enough control.

12
  • 8
    Imagine what a program would have to try of it spans both monitors. Or is moved from one to the next ...
    – Joey
    Aug 26, 2009 at 7:16
  • 5
    I figured this was going to be impossible, but was hoping there was some third-party solution out there. If anyone wants to make some money, here is a problem that need solving. :)
    – dlux
    Aug 26, 2009 at 13:26
  • 3
    This is the correct answer - the answer is "no". And imagine if a program's window was spanning 2 or 3 monitors at once - it is essentially impossible for a program to draw parts of itself at different DPI/Font settings. Windows would have to be resigned - getting rid of the notion of font and DPI preferences in order for this to ever work.
    – Ian Boyd
    Aug 31, 2009 at 11:40
  • 14
    You can have different dpi depending on screen, but apparently not on Windows. I'm having this problem with the Retina Macbook Pro hooked up to another screen. It works perfectly in Mac OS X as it scales according to screen's native DPI and resolution but not in Windows 7/8 as it wants the same dpi on the whole desktop. This is an issue in Windows because either you have to live with too large text in one display or too small text in the other.
    – Spoike
    Jan 28, 2013 at 14:09
  • 4
    Funny that a lot of these answers are "that's impossible" when it is done in Windows 8, although it still isn't perfect. As for spanning monitors, it simply picks the DPI of the monitor where the top-left of the window is positioned. The problem I have is with RDP to windows 7. The retina display is too small and moving it to a 1920x1080 tv as the second display makes it look even smaller. Sep 10, 2013 at 0:26
27

A bit of a hack is:

If you are always using a certain application on one screen, you can set that application to ignore DPI settings. For example, I have Visual Studio on my big monitor set to ignore DPI (100%). Everything else on my retina laptop monitor is at 145%.

The setting "Disable display scaling on high DPI settings" is under compatibility under the properties menu of the application exe.

1
  • Interestingly, I understand chrome doesn't do the display scaling properly since it's rendering the fonts off-screen or something. So the 145% thing for chrome is probably not that great (still probably pretty good though) :-) Jan 31, 2014 at 9:13
19

It finally does work in Windows 10 although many apps still would not scale correctly. It works almost as good as on OSX.

For higher DPI 1st monitor (200% scale)

enter image description here

For lower DPI 2nd monitor (100% scale) enter image description here

It is important NOT to use following scaling (it should be set to 100%). By default using MacBook retina driver pack it would be set to 150/200%. enter image description here enter image description here enter image description here enter image description here

2
  • That's good news about Windows 10, and thanks for a very well written answer!
    – dlux
    Aug 10, 2015 at 17:25
  • 1
    Is there also way to get it sorted with different ratio? I need to set my laptop display (15" full HD) to 125%, to be able to see anything. But my external display (27" full HD) I want to keep to 100% text size, to utilize big screen. But on this configuration the external display got blurry text. Is there a fix for that? Thanks
    – mimo
    Aug 2, 2016 at 18:06
8

Note: Windows 8.1, contrary to Microsoft's claims, does not truly support running multiple DPI's on separate monitors.

I have a laptop with windows 8.1 and 3840x2160 16" screen. In order for dialog boxes, windows etc. to be a usable size it must run at 200% scale (comparable real estate to a typical 16" 1080p display but with UI elements, text, and photos all rendered sharper).

When apps are moved from the laptop monitor onto the external monitor, as soon as more than half of teh window is dragged over the window is resized. The problem with this is the menu bars, cursor, etc. are not natively redrawn at the new DPI setting, the entire application window, toolbars and all is drawn at 200DPI then bitmap resized to 50% in order to fit on the external monitor. Only the 200% DPI scale is being used at once, whereas other DPIs for external monitors are [poorly] virtualized. A very blurry bilinear scaling is used, and text is completely unreadable on the external monitor. This means the benefit of things like cleartype text (which relies on 1:1 pixel rendering and actually uses sub-pixel anti aliasing) is not achievable when mixed DPIs are used.

A select few applications (IE, powerpoint) are listed per-monitor DPI aware. In this case, the contents of the windows are redrawn at the correct size and cleartype within the apps still functions but the menu bars, title bar, even the cursor are still drawn at 200% scale -- rendering them unusably large on external monitors. I suspect this exception was made so that fullscreen presentations could still be done without the blurry bitmap scaling. With 200% scale toolbars though, these apps are not usable for anything other than fullscreen mode.

At this point there is no getting around having to restart the computer to change DPI every time you plug into external monitor and use external monitor only.

2
  • This looks to be the case in Windows 10 as well. The only way I could fix the blurred text on the external monitor, was to plug in the external display, and then sign out/in, or restart the computer.
    – levi
    Jan 8, 2017 at 21:51
  • See here for MS explanation - blogs.windows.com/buildingapps/2016/10/24/…
    – levi
    Jan 21, 2017 at 21:15
3

I solved this issue by changing the "apparent DPI" (and thus text size) of the monitors. Placing the external 19" LCD further away will reduce the apparent size of the font.

If you don't want to/can't place the displays like that, you can also use the Thinkpad screen at a lower resolution to increase the apparent font size. Calculate the DPI here and make sure they match.

2
  • A common mistake people make is to take the resolution of the monitor (in pixels) and divide it by the size of the monitor (in inches), and use that number as the DPI setting for Windows.
    – Ian Boyd
    Apr 8, 2011 at 19:59
  • Setting to matching resolutions (as opposed to the manufacturer recommended ones) has had the best results in terms of matching size, although there's an impact in font blockiness and smoothing. Feb 12, 2016 at 11:19
3

You (should) be able to. In Linux you could do it like this:

  1. Create a X VNC Server with the size of two times the smaller screen. For example: you have two monitors, same size, but 1920 and 1600 pixels wide: you make a virtual server of two times the better one: 3840px wide (1080px height).

  2. Open two VNC clients against the server you just created. Put one in each screen. Full screen. Scale 1:1. Scroll the window on the right to show the rightmost part of the Vnc server. Since the pixels are different size, everything will look bigger in the screen of 1600px. Zoom out that one until sizes fits.

This is obviously very simple and has grave drawbacks (no direct rendering, probably slow, etc). But if you could do the same with proper framebuffers and such...

1
  • but it won't work for dpi settings like 125% or 150%
    – phuclv
    Jun 28, 2017 at 8:37
2

A workaround (although I haven't found how to do it in Windows 7) is enabling desktop panning/scrolling, that way it could be possible to set any resolution in smaller displays so font size would be similar.

1
  • panning/scrolling is not relevant. If a display and its driver is capable of changing resolution, then it is the resolution change (sacrificing the full detail of the display) that makes this approach work. Such a workaround can be done today, where supported by hardware, without panning/scrolling. Jun 17, 2015 at 17:38
1

As other answers have pointed out, DPI settings can't be adjusted per-monitor (or per-application).

If you need specific applications running in a different DPI than the rest of the desktop, consider using a virtual machine.

2
1

I've solved the issue with setting a custom resolution to the second monitor. That way, you can effectively "fake" the different DPI-setting. But note that it depends on the actual monitor, whether it displays non-standard resolution at all. Also, it might produce a terrible, blurry image, but you can decide if you can live with it. It's far from optimal, but at least solves the "different size"-issue... (Of course the graphics driver has to support it too. Nvidia does, others I don't know.)

2
  • 1
    Are you using Windows 8.1? If so, you're just restating information that has been presented here multiple times already. If you're not using Windows 8.1, please provide specifics (what OS are you using, and how did you set different resolutions on two monitors?). Because people have been trying to do that for the past 5+ years without success (until eight months ago). Nov 7, 2014 at 17:58
  • 3
    @G-Man: he's saying he changed the resolution on the second monitor. Giving up on using the monitor's full native resolution. Most (all?) discrete graphics cards driving external monitors can be run at lower resolutions. (An extreme example would be dropping a 3840 x 2160 display by half, to 1920 x 1080.) Depending on the monitor, the result may be horrible blur, or quite useable. Changing the resolution implicitly changes the DPI. It means sacrificing some of the quality of the higher DPI device, in order to have two screens with similar characteristics. Jun 17, 2015 at 17:27
0

The procedure by changing simply text size on each monitor works fine (Windows 10), but there is a huge problem by blurring!. See this topic

-1

I had a similar issue, realizing that font was set at 125% across my 2 monitors. So I simply lowered the laptop resolution from 1920X1080 to 1600X900 and then reduced the font to 100% in the Control Panel\All Control Panel Items\Display. This kept the font readable on the laptop while also reducing its size as I wanted on my external monitor, which is still set at 1920X1080.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .