Higher display resolution – free and in less than 1 minute

Are you using Linux and would like some more screen resolution than your current display offers?

The short version

On a terminal, type

xrandr

In the output look for the first word in the second line (just under „Screen 0“). In my case, that’s „VGA1“. Other common values to look for are „lvds“ and „default“. Then type something like

xrandr --output VGA1 --scale 1.5x1.5

Voila, that’s it!

Some technical details

This is a feature of X.org and is performed on your graphics board. It will create a larger desktop frame buffer, scale that down, and send the scaled output to your monitor. No matter what desktop resolution you were using before, your display will get the same type signal afterwards and won’t even notice that there is something special going on. So there’s practically no risk of damaging your display.

Most graphics boards will get pretty slow when your horizontal resolution is above 2048 pixels. Just calculate 2048 / (current horizontal resolution) to see what’s the maximum factor you should use instead of „1.5×1.5“. Also note that any scaling beyond 1.5 will likely result in unreadable small text.

In case you didn’t already figure it out, I should tell you how to get back to your original settings:

xrandr --output VGA1 --scale 1x1

Pictures

To show you what to expect from this little hack, I made some photos (screen shots wouldn’t give the same impression). What you see is a TFT display from 2005 featuring a physical resolution of 1280×1024.

Factor 1
Factor 1
Factor 1.333
Factor 1.333
Factor 2
Factor 2

[clear]

Right now I’m working with the configuration shown on the second picture: a scaling factor of 1.333 and a desktop resolution of 1707 x 1365. Thats 77% more pixels for 0% more money!

Personal Background

I always wished for that feature, even more so since I had an OQO 1+ ultra portable PC with a tiny 800×480 screen. Most applications just don’t fit. The successor model OQO 2 had the same physical resolution but a built-in scaling mode to use a virtual resolution up to 1200×720 – as well as hardware keys to zoom in and out and resistive touch scroll bars along the display edges -wow.

Now I have a Dell Precision M70 with a physical resolution of 1920×1200. You wouldn’t believe it, but sometimes I’d wish for even more. Did you ever sit in front of an 30″ Apple Cinema Display? You’ll miss the 2560×1600 pixels once you get back. Sadly,  xrandr –scale does not work on my Dell system, neither with the default VESA driver nor with several versions of the Nvidia Quadro driver.

Surprisingly, it works well on one of the cheapest of possible graphics chips: The Intel GMA 950, and for the last 6 months I just did not try it.