Down-scaling high-density image for standard density external display

1

I am hitting the common problem with Windows 7, where a laptop has a high-density internal display, but has a standard-density external display attached. Once the (global) DPI setting in Windows is set so that text is the right size on the high-density display, everything is too big on the external display.

I have a theoretical solution in mind: Make the OS think that the external display is high-density, but have the GPU transparently scale down the image before sending it to the display. It may seem like a hack, but I would prefer it to alternatives (having much less usable space on the external display, or reducing the resolution of the high-density display).

The problem is that I could not find a way to achieve this down-scaling (with an NVIDIA card). All I was able to to is forcefully push a high-resolution image to the monitor, and hope that the monitor is able to scale it down (this is for a VGA connection). But this only worked up to a point (2560x1440 instead of 1920x1080). This is better than nothing but not enough. Beyond that, the monitor would not scale down the image but would only display a part of it.

Is there any way to achieve this down-scaling with the currently available NVIDIA drivers for Windows 7?

I know that Windows 8 has some per-display DPI capability, but I am only interested in solutions for Windows 7.

UPDATE: Doing this in Linux is very simple, and should work with any driver supporting RandR 1.3:

xrandr --output DVI-I-2 --scale-from 3840x2400

So the graphics card can certainly do it, the question is how to get the Windows driver to do it?

Ambroz Bizjak

Posted 2014-10-13T17:14:34.823

Reputation: 4 265

Maybe this relates to the specific video card or drivers. However, whenever I added an external display, it recognized each monitor, used default settings appropriate for each, and each was separately customizable for resolution and other settings. As I recall, the issue was accessing the menu needed for that. – fixer1234 – 2014-10-13T18:48:27.657

@fixer1234 The NVIDIA control panel does provide per-monitor configuration. However it does not seem to allow configuring a down-sampling mode, as described. The relevant sections in the control panel are "Change resolution" (for the actual resolution output to the monitor) and "Adjust desktop size and position" (which includes the virtual resolution as the OS sees it). The problem is that that latter section does not allow me to select a larger resolution than the monitor supports. – Ambroz Bizjak – 2014-10-13T18:51:26.967

I misread the question. Not all video cards support that. Some time ago, I found a software solution. I'll see if I can locate it again. – fixer1234 – 2014-10-13T19:09:20.147

@fixer1234 Yes, but it should be understood that "support" is a bit fuzzy here. I think most modern video cards are physically capable of this, the question is whether the drivers can do it. Even if it's not possible via the GUI (apparently not), it could still be possible via a more low level interaction with the driver. – Ambroz Bizjak – 2014-10-13T19:21:14.037

From what I understand, down-sampling is supposed to be available as a native feature on nVidia cards. I found the link I was looking for: http://www.gimespace.com/gms3d.html (haven't tried it myself). It lets you define a workspace larger than the monitor and then zoom out (down-sample) to fit it.

– fixer1234 – 2014-10-13T20:00:16.400

@fixer1234 Thanks, this might do what I want, but at this point I'm hoping for a more "official" solution. – Ambroz Bizjak – 2014-10-13T21:52:16.567

No answers