This question already has an answer here:

I have two fullHD monitors, one of which is a 15" Laptop screen. How can I change the DPI of only that particular screen, to read text more comfortably?

marked as duplicate by bain, Mitch Aug 2 '14 at 5:30

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • What do the words "separately" and "particular" mean here? How are the two monitors even related? Is the non-laptop screen used as a second monitor for the laptop? – Run CMD Aug 1 '14 at 10:24
  • @bain While the other question might be older it doesn't have a valid answer (chronological order is secondary when assigning duplicate status). In this case I would argue for marking the other question a duplicate of this one or, perhaps, merging your answer into the other Q&A (something only a moderator could do). – Glutanimate Aug 2 '14 at 4:03

Ubuntu does not handle this very well yet - you can not have two monitors with drastically varying DPI and drag windows between them and have it work as it should. It is a limitation of Xorg and the widget toolkits. The problem is that they use a single DPI value, and then a window is sized in pixels, so if you have a 400 pixel wide window on your external monitor and drag it onto a hiDPI display, it will still be 400 pixels wide, but due to the increased pixel density will look far too small.

In Unity you can change the scaling of the Unity interface with "Scale for menu and title bars" in Display Settings, but this scaling does not affect applications.

What you might be able to do to mitigate this issue for applications is to lower the resolution of your hiDPI display using xrandr or Display Settings. The downside of this approach is that LCD displays look best at their native resolution, and using an alternative resolution can appear blurry. If this is a problem, you might be able to choose a resolution that is an integer scale of your original resolution (e.g. QHD => HD, 1920x1080 => 960x540 for FHD, 2560x1600 => 1280x800, 2880x1800 => 1440x900 etc.), but in practice you might not be able to do this because there is no exact integer scale resolution available.

Relevant bug reports:

  • Thanks. Are you implying that wayland/Mir will be able to handle that better? – Andreas Hartmann Aug 1 '14 at 12:53
  • That is the idea. – bain Aug 1 '14 at 12:56
  • some years later ... so my xrandr -q calls my screens XWAYLAND{0|2}. Am I thus using wayland? Cause I'm now struggling with exactly this issue and the standard settings do recognize that one screen is twice as big as the other with equal pixel count but renders stuff bigger as in OP. – Giszmo Mar 19 '18 at 2:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.