Monitor resolution issues in Elementary OS


Recommended Posts

Hello,

 

I've had issues with monitor resolutions on Elementary OS, stable and the Freya beta.

 

I have eOS installed on my laptop which has an external monitor plugged in via VGA. Running the external monitor at 1080p makes the laptop run too hot (it is an old core2duo laptop) so I prefer to keep the monitor at 720p.

 

Unfortunately, the monitor configuration tool doesn't list 1280x720 in the list (the only 16:9 resolution is 1080p). No problems though, as I can just xrandr --newmode (cvt 1280x720). The monitor starts to run at 720p and everything is fine and dandy.

 

...until I restart, at which point I get a pop-up telling me that it can't restore the previous display profile, lists every single possible resolution (it's a long pop-up) and defaults to mirroring the monitors at 1024x768.

 

I've tried adding a bash script which sets the external monitor to the right display (including repeating the enter xrandr procedure) with no luck.

 

Can anyone suggest what I can do?

Link to comment
Share on other sites

Use xrandr --addmode to add your own custom resolution.

 

To be clear, you have to use xrandr --newmode with the resolution details generated via cvt, then you have to xrandr --addmode the resolution to the specific monitor, then you have to xrandr --output to set the monitor to the specific resolution.

 

Doing this works fine, however, it doesn't persist after a restart, and instead I get various errors which force me to repeat the process from the beginning. 

Link to comment
Share on other sites

Can't you define a custom X11/Xorg screen/display section?

$ vim /etc/X11/xorg.conf.d/10-monitor.conf
Section "Screen"
    Identifier             "Screen0"
    Device                 "Device0"
    Monitor                "Monitor0"
    DefaultDepth           24
    SubSection             "Display"
        Depth              24
        Modes              "1280x720"
    EndSubSection
EndSection
Link to comment
Share on other sites

To be clear, you have to use xrandr --newmode with the resolution details generated via cvt, then you have to xrandr --addmode the resolution to the specific monitor, then you have to xrandr --output to set the monitor to the specific resolution.

 

Doing this works fine, however, it doesn't persist after a restart, and instead I get various errors which force me to repeat the process from the beginning. 

Sure you first have to add the new mode. It was explained under the link. :)

In order to keep this persistant, create a xorg.conf file and copy it into your X11 folder. Mine looks like this (You'll have to make changes to match your monitor setup / configuration):

Section "Monitor"
    Identifier      "HDMI2"
    Modeline        "1368x768_60.00"  85.86  1368 1440 1584 1800  768 769 772 795  -HSync +Vsync
    Option          "PreferredMode" "1368x768_60.00"
EndSection
Section "Device"
    Identifier      "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
    Driver          "intel"
    Option          "HDMI2"
EndSection
Section "Screen"
    Identifier      "Primary Screen"
    Device          "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
    DefaultDepth    24
    SubSection "Display"
        Depth           24
        Modes   "1368x768"
    EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Primary Screen"
EndSection

Additionally, I made myself a xrandr.sh file, so, that I don't have to always redo everything after a fresh install or update but simply double-click the sh file:

xrandr --newmode "1368x768_60.00"  85.86  1368 1440 1584 1800  768 769 772 795  -HSync +Vsync
xrandr --addmode HDMI2 1368x768_60.00
xrandr --output HDMI2 --mode 1368x768_60.00

Sorry that I was very short in my initial reply. It's always difficult to determine the knowledge level of a user if you don't have communicated / worked with him before. ;)

Link to comment
Share on other sites

This topic is now closed to further replies.