Tuesday 14 August 2018

HOWTO: Add extra display settings permanently to Linux

I have a Veon TV that I use as a display for the bedroom pc and its major problem is that it is detected as a resolution of 1920x1080 but its native resolution is actually 1360x768.

With other computers the instructions I dug up were to use xrandr commands in some of the lightdm config settings so this command would be run each time the computer started. I actually did try that this time around (scaling down from a virtual screen of 1920x1080 to a physical of 1360x768) but couldn't get it to work reliably.

After some more digging I found out how to permanently add the display settings as a modeline. You can make a modeline using the cvt command and then use xrandr --addmode to add this then you can switch to it for testing. For a permanent change you just need to add something like the below to /etc/X11/xorg.conf file:

Section "Monitor"
    Identifier "DP-1"
    Modeline "1360x768_60.00"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync  
    Option "PreferredMode" "1360x768_60.00"
EndSection

So there you also have your modeline for the correct display. DP-1 in this case is the display output name, which presumably is derived from DisplayPort, but is actually an HDMI output on this computer.

Once that was all set up I was able to force the screen to 1360x768 its native resolution and it has stayed there ever since. Thus bringing an end to horrible 1920x1080 being scaled which made everything on screen too small.