Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I was happily dual-booting Windows 7 and Ubuntu 10.10 a year or two ago, with, as in the title, an Nvidia GeForce 9800 GT graphics card (on a Gigabyte GA-MA790XT-UD4P) outputting VGA to an HP w1907v monitor (1440x900).

I then put my PC in storage for a month or so, all peripherals disconnected, and when I reassembled it and booted it up again, both Windows and Linux failed to allow me to use a 1440x900 resolution. I managed to fix Windows, though I don't remember how - it was all within the regular graphics interface as far as I remember, maybe installing updated drivers.

However, to this day I've not been able to make Linux recognise resolutions larger than 1024x768. I went through several versions of Ubuntu and many different guides, played with my xorg.conf file, and most recently installed Fedora 17, with the same results - no resolutions greater than 1024x768. I followed this guide in particular to install Nvidia drivers, but no luck. I then tried installing the drivers from Nvidia's website (it was necessary to stop X using init 3, install the drivers, then startx), but the only outcome of that was removing all options except 640x480.

After playing around with drivers for so long, I'm beginning to wonder if the problem isn't with the video card/drivers, but with the monitor. To that end, I have a few questions:

  1. Are there known issues with Nvidia drivers in Linux, especially for the 9800 GT? I've seen comments indicating varying levels of success with any guide I've tried.
  2. Would I see better support for a different series of Nvidia card, or an AMD card? (I've been thinking of upgrading.)
  3. Could this sort of issue be caused by the monitor, and not a fault with the graphics card?
  4. Might the monitor need drivers of its own?

Thanks for anything you can tell me! I really want to be Linux-ing it up, and I'm coming to a point where I really need it for university and non-university work, but I just can't seem to deal with this issue.

EDIT:

Contents of /var/log/Xorg.0.log

xrandr output:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 320 x 240, current 640 x 480, maximum 640 x 480
default connected 640x480+0+0 0mm x 0mm
   640x480        50.0* 
   320x240        51.0 
share|improve this question
    
Could we see the contents of /var/log/Xorg.0.log ? Please use pastebin.com and link it here. Also try 'xrandr' (in a terminal) and see what does it reports about supported resolutions. –  tripledes Aug 9 '12 at 14:18
    
Sorry for the slow response! Added to question. –  Daniel Buckmaster Aug 22 '12 at 9:31
add comment

1 Answer 1

An easy way to rule out software problems is to use an Ubuntu or Fedora LiveCD. A modern distro should have no problems with basic mode setting on a nvidia card, using the open source nouveau driver.

It is definitely possible that the monitor is the problem. Monitors contain a small EEPROM memory chip that reports EDID information, telling the computer about which modes they support. The communication with this chip happens over its own pair of wires, so if there is a problem in the cable or connector, it's quite possible that you would stop getting EDID information even though the monitor is otherwise working fine. You may have found an option to override that detection in Windows.

The full output of xrandr --prop should show your monitor's raw EDID information, if everything's working. If it's being misdetected, it's possible to add modes manually and switch to them. The nouveau Wiki has some troubleshooting tips about this problem that gives a brief overview of how to add modes manually.


Edit:

Your Xorg.0.log confirms that this is because you're not getting EDID information from the monitor, so the driver is falling back to a safe default range of resolutions that it assumes your monitor can support. Try switching the monitor cable, if possible. I suppose that the original driver (that gave you 1024x768) has slightly more liberal defaults than the reinstalled Nvidia driver (that gave you 640x480). Either way, it sounds like you'll need an Xorg configuration file to tell the driver what your monitor is capable of, if you can't fix the EDID detection.

A basic /etc/X11/xorg.conf with this info, if you don't already have one, would look something like this. This sets a very wide range of supported horizontal and vertical sync frequencies, which should let basically any mode work. You could adjust them to match your monitor's specs.

Section "Device"
        Identifier      "Configured Video Device"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
        HorizSync       30 - 120
        VertRefresh     50 - 160
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection
share|improve this answer
    
xrandr --prop gives the same output as xrandr, added to my question. –  Daniel Buckmaster Aug 22 '12 at 9:21
1  
The Xorg.0.log output confirms my suspicion -- the monitor is not reporting EDID data. My guess is that there is a cable or connector problem, so you should try replacing the monitor cable if it's detachable. See also my edited answer above. –  Jim Paris Aug 22 '12 at 13:58
    
Thanks for you help with this! I tried switching the monitor cable, but it doesn't seem to have changed anything yet. I will try maybe using an Ubuntu live USB with the new cable. I will also at some point try to use a different monitor, and a different connector between the VGA cable and the video card. –  Daniel Buckmaster Aug 30 '12 at 3:19
    
Or just set the monitor ranges manually as described in my answer. –  Jim Paris Aug 30 '12 at 3:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.