Wednesday, September 24, 2014

Making Screen Resolution Persist on a Linux Machine after Restart

I encountered a situation with a low powered Linux machine wherein the screen resolution would not persist after restart. I used to change the screen resolution under 'Monitor Settings'. The Linux distro in question was a custom build based on OpenSUSE Xfce. That's when I took to creating a new xorg.conf file with necessary parameters!


Steps Involved

Generate a 'modeline' for the most suitable resolution of your monitor. In my case it was 1680 x 1050. The modeline can be generated using:

cvt 1680 1050

Create a file by name xorg.conf with the following contents:


Section “Monitor”
Identifier “Default Monitor”
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
EndSection
 
Section "Screen"
    Identifier "Default Screen"
    Device "Card"
    Monitor "Default Monitor"
    SubSection "Display"
        Modes "1680x1050_60.00"
        Depth 24
    EndSubSection
EndSection

The xorg.conf must now be copied to /etc/X11. Use the below command to do that:

sudo cp xorg.conf /etc/X11

Now restart the machine to see the changes persist.

Note: I did try to directly create the file in /etc/X11 folder but the text editor failed to come up when invoked as 'root' through terminal. As I mentioned above, it was a custom Linux with lot of features absent!