Adding a widescreen monitor in Linux

Jack Wallen
Aug 3, 2009
Updated • Feb 13, 2018

Recently I purchased a 23" wide screen monitor for my primary desktop PC. I had a feeling there would be a bit of an issue when I plugged it into my Elive Compiz installation that isn't as user-friendly as, say, a Ubuntu installation.

When I did plug it in it wasn't horrible. The biggest problem I had was the new aspect ratio of the monitor (16:9) was causing everything on the screen to seem stretched with the previous resolution (1280x1024).

The monitor itself was reporting that the ideal resolution was 1920x1080, so I figured it was just a matter of adding the correct mode to the "Screen" section of my /etc/X11/xorg.conf file (see more about this in my article "Get to know Linux: Understanding the xorg.conf file"). It wasn't that easy.

The first attempt

Normally, when I needed to change a resolution, or just hard-code a resolution, I would add a sub section in the xorg.conf file like:

SubSection "Display"
Modes "1920x1080" "1440x900" "1600x1200" "1440x1440" "1280x1024"      "1280x960" "1280x800" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"

Normally this would work, picking up the 1920x1080 mode first. In this instance, however, this did not work. I will tell you that I am working with an NVidia Geforce 8800 chipset, so support in Linux is quite good. I know this isn't an issue with the video card.  But no matter what resolution I used I was having no luck fighting the aspect ratio. The screen was either stretched too far horizontally, cropped at the bottom, or cropped all around.

I remembered there was an application that would gather information about my monitor and report it back. Maybe that was the key. The application is ddcprobe will give you the following information:

  • Monitor name
  • Monitor VertRefresh values and HorizSync rates range
  • dpms

To install this application issue the command:

sudo apt-get install xresprobe

and you are ready to check. To do this issue the command


which will return something like this:

vbe: VESA 3.0 detected.
vendor: Build    070809.2
product: MCP67 - mcp68-02 Chip Rev
memory: 65536kb
mode: 640x400x256
mode: 640x480x256
mode: 800x600x16
mode: 800x600x256
mode: 1024x768x16
mode: 1024x768x256
mode: 1280x1024x16
mode: 1280x1024x256
mode: 320x200x64k
mode: 320x200x16m
mode: 640x480x64k
mode: 640x480x16m
mode: 800x600x64k
mode: 800x600x16m
mode: 1024x768x64k
mode: 1024x768x16m
mode: 1280x1024x64k
mode: 1280x1024x16m

Notice the edidfail at the end. What happens is sometimes hardware will not respond properly when the EDID is queried. If this happens try to probe a few more times, you should get more information. In my case, the Samsung 2333sw would never report the full information.

Back to square one.


Remember I mentioned I was using an NVidia GeForce chipset? That's a good thing because there is a handy application called nvidia-settings that I had used with much success before. The only reason I hadn't automatically tried this was because I have had issues with the Elive Compiz distribution and X when trying to use tools not standard to the distribution. And besides the Elive resolution tool wasn't picking up the new monitor so there was no hope there.

Installing the new tool was as simple as issuing:

sudo apt-get install nvidia-settings

Running the tool was equally as easy by issuing the command:

sudo nvidia-settings

Figure 1
Figure 1

When this application starts you will see a number of sections in the left pane (see Figure 1) that you can click on. Click on the X Server Display Configuration and you will then see a button for Detect Displays. Click on that and the new resolution should appear. The next step is to click the Save to X Configuration File which will write your changes.Finally click the Quit button to finish up.

In order to actually have the changes take effect you have to log out of X and log back in. Once you do you should see your new wide screen monitor in action.

What did it write?

The results of the nvidia-settings change to the xorg.conf file surprised me. It completely rewrote the "Screen" section of the Xorg configuration file. Here is the "Screen" section:

Section "Screen"
Identifier     "Screen0"
Device         "Videocard0"
Monitor        "Monitor0"
DefaultDepth    24
Option         "TwinView" "0"
Option         "TwinViewXineramaInfoOrder" "CRT-0"
Option         "metamodes" "1920x1080 +0+0; 1440x900 +0+0; 1280x1024 +0+0; 1280x960 +0+0; 1280x800 +0+0; 1024x768 +0+0; 800x600 +0+0; 640x480 +0+0"
SubSection     "Display"
Depth       24

The TwinView option is usually used for dual head displays. In order for Xorg to get the 16:9 aspect ration it must use it and splice the two images together.

Final thoughts

Linux has come such a long way. But when you are attempting to configure a distribution that isn't especially made to be Noobie-friendly don't expect for tasks like attaching a widescreen monitor to be an out of the box experience. The good news is that there are plenty of tools to help you out of little situations such as this.

In the end the new monitor works and is as beautiful a display as I have seen.

Adding a widescreen monitor in Linux
Article Name
Adding a widescreen monitor in Linux
Recently I purchased a 23" wide screen monitor for my primary desktop PC. I had a feeling there would be a bit of an issue when I plugged it into my Elive Compiz installation that isn't as user-friendly as, say, a Ubuntu installation.
Ghacks Technology News

Previous Post: «
Next Post: «


  1. Ian said on September 27, 2009 at 9:56 pm

    Thanks for this.

    The OOB experience isn’t that smooth yet. I’ve had problems with dual monitor ( a laptop with a data projector) in Ubuntu- to the point that a reinstall was the least time-wasting option.

  2. Chris Chinchilla said on August 24, 2009 at 3:57 am

    Thanks, does going through this process help get rid of the weird black bar caused by compiz on an external monitor, or is that something else?

  3. anon said on August 22, 2009 at 1:49 am

    I have a couple of samsung screens, the edid doesn’t seem to come through on XP on laptop, but does if i use DVI on desktop, Gnome has no problem finding monitors and resolutions for either running fedora or ubuntu, both Gnome. The biggest problem I ever had was a sony laptop and the screen, they switched the pins so that they wouldn’t work, needed a BIOS upgrade. There are lots of things that can go wrong but seemingly, linux has better tools to find any problems. My thoughts only though

  4. n0ns said on August 5, 2009 at 10:22 am

    I’ll share my experience with similar problem.
    I work for some time with wide screen monitors.
    My media center connected to LG’s 32″ flat panel (TV) with 1366×768 resolution (Nvidia 9400 IGP).
    The workstation connected to Dell 2408WFP-HC 1920×1200 + Nvidia 9800GT.
    This two working perfect.
    Then, few weeks ago I bought 22″ Samsung monitor for my parents together with 9400GT card.
    Guess what, no matter what I did to xorg.conf, after login, the resolution is always 1280×1024.
    I’ll try what you have said (since I never touched the twinveiw).
    But it seems to be the problem with Samsung’s monitors.
    I was surprised to see that it reports Optimal 1280×1024 and Native 1680×1050

  5. Adam Williamson said on August 4, 2009 at 9:20 pm

    If you meant it to be about your particular distribution, don’t make the title of the post ‘in Linux’.

    Anyway, this has little to do with your distribution, and everything to do with the NVIDIA proprietary driver and its disdain for the standard ways of doing things in xorg.conf. The funny thing is it erally wasn’t any trouble at all, as all you had to do was run the graphical NVIDIA configuration tool, which would probably be the first thing any newbie would try anyway.

    Of course, if you were to use the open source driver – nouveau – the native resolution of the monitor would likely be used out of the box, it would be configurable via gnome-display-properties (if you use GNOME, otherwise krandrtray or xrandr at the console) and in xorg.conf following the RandR 1.2 conventions:

    (though nouveau may not yet be usable in your distribution.)

  6. mark said on August 4, 2009 at 9:17 pm

    You didn’t say how you connected the monitor. I’m guessing you used a VGA cable. Most VGA cables do not have the proper connections for edid to work. Check for continuity on pin 9, pin 12, and pin 15. If there is no continuity then the i2c bus won’t work.

  7. nate said on August 4, 2009 at 6:40 pm

    DId you turn on DPMS? that option spacifically was invented for this, it gets all the information needed from the monitor for xorg to function correctly. Additionally if you had to use twinview, it is possible that your video memory was not large enough to support one screen of that layout

  8. Jack Wallen said on August 4, 2009 at 4:51 am

    Mike: Fortunately the Ubuntu user and the PCLinuxOS (and Linux Mint) users won’t experience this. But, honestly, up until the last few years (I will safely say about the last five years) this was the problem across the board.

    I do remember a few years back having my last CRT monitor die on me and I finally bought an LCD monitor. When I plugged that in I thought it was going to be awesome. Took my about two days and a full install to get the monitor working properly. Fortunately that is not the case now.

    but your point is spot on. if the experience I illustrated were the norm – Linux would in fact be relegated to headless servers and nothing more.

  9. Mike J said on August 4, 2009 at 4:08 am

    Well, I think you are missing the larger point. I was not trying to start an argument or even a colloquy, but just pointing out what I had had happen to me w/ Linux. So I stand by my statement. Anyone who has to go through such complicated maneuvers to adjust a screen rez is above & beyond the average computer user, & that will limit Linux forever.
    All I am saying on this subject.

  10. Jack Wallen said on August 4, 2009 at 2:51 am

    I think people are missing the point here – or at least an underlying point that I tried to make.

    Had I been using Ubuntu, or Mandriva, or PCLinuxOS, or any number of the other new-user-friendly distributions of Linux this would not have been an issue. But since I opt for a fringe distribution that doesn’t enjoy all of the wizards and such that the new-user-friendly distributions have I some times have to do things like this. Plus, I enjoy these challenges.

    So to those that are claiming “see Linux will never be adopted because it is too hard!” This does not apply.


  11. Mike J said on August 4, 2009 at 2:16 am

    Well, I am no PC savant. But I looked long & hard for the printer drivers. Just relating my experience. However, it seems to me, as long as the hoi poloi have trouble with an OS, & only the cognoscenti can handle it, it will not be widely adapted.

  12. Jack Wallen said on August 4, 2009 at 12:42 am

    hybrid-kernel: it wasn’t a problem. it was something i could cover so that other people might not have this problem. also – i use a distribution outside of the norm so it’s not nearly as “drag and drop” as many other distros.

  13. hybrid-kernel said on August 4, 2009 at 12:06 am

    Why does it seem that tasks that are easy and headache free for me, always troublesome for you? I never had any graphic problems, only when I just got the card and the drivers weren’t mature. Since then I’ve always used latest nvidia drivers and it works without a hitch.

  14. Mike J said on August 3, 2009 at 11:56 pm

    I gave Winspire (so I’m not a Linux nerd) a long, sincere try 10-12 months ago, & one of my big headaches was that it couldn’t do my 4:3 19″ monitor rez.At least, I couldn’t figure out how to make it do it. The other main problem was, no drivers for my printer (Canon MP470}. I went back to XP.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.