I can set the display scaling mode for the internal laptop panel with:xrandr --output LVDS1 --set scaling mode Full aspectThis however does not work for external displays (DP1, VGA1, DP1) because the scaling mode property is not supported:$> xrandr --output HDMI1 --set scaling mode Full aspectX Error of failed request:  BadName (named color or font does not exist)  Major opcode of failed request:  140 (RANDR)  Minor opcode of failed request:  11 (RRQueryOutputProperty)  Serial number of failed request:  47  Current serial number in output stream:  47How can I preserve the aspect ratio when displaying a lower resolution content?
How to set scaling mode for external displays on intel GPU
xrandr;intel graphics
The Scaling mode property is not yet implemented in the intel driver (see here). It is implemented in the proprietary AMD and NVIDIA drivers and since recentlty in the open source radeon driver (here).However you can work around this limitation by performing the scaling manually with xrandr:Assume your screen has a native resolution of 1920x1080 and you want to display an unstretched 1024x768 resolution. The proportion of the aspect ratios is 16/9 to 4/3. so 1.333333 to 1.xrandr --output HDMI1 --mode 1024x768 --scale 1.33333333x1 --panning 1024x768This puts the screen in the right resolution with the right aspect ratio. But it is not centered. To achieve this we need to use the transform option to put it (roughly) in the center of the screen (1024*1.3333333 - 1024 = 342 / 2 = 171):xrandr --output HDMI1 --mode 1024x768 --panning 1024x768 --transform 1.33333333,0,-171,0,1,0,0,0,1Unfortunately the unused screen background is gray and or garbled and not black.