nvidia geforce 210 resolution issue

I have an EVGA Geforce 210 graphics card working under OpenSuse 12.2. The nvidia control options for vga resolution selection impose a limit of 1024-768 (this value is also selected on ‘auto’) although the 210 specification claims a maximum vga resolution of 2048-1536 As a result of this limiting, the options do not provide for the full resolution of my installed monitor (which is 1680-1050 resolution). I have installed the Nvidia driver 310.32 via the Opensuse repository but I note that a later issue (310.40) is available, although I am not confident that this update would cure the problem. There is no help available at nvidia or evga and I would be grateful for any advice or guidance to documentation to achieve the best resolution performance of the Nvidia graphics card.
**Monitor: **
Fujitsu SCALEOVIEW X22 - LCD Monitor - Maximum Pixel Resolution: 1680 x 1050 - Diagonal Dimension: 55.9 cm ( 22" ) - Brightness: 300 cd/m2 - Contrast: 1000:1 - Latency: 5 ms - Inputs: DVI-D and VGA
O.S.:
OpenSuse 12.2 x86_64 Version:12.2.9 Date:22-10-2012. Linux:3.4.33-2.24
Computer:
Processor:Intel Core2 Duo E4500 2.2GHz L2 Cache 2 MB FSB Speed 1200 MHz- Motherboard: Fujitsu D2314 - Chipset: Intel Q965 - Memory: 6Gb DDR2
**Graphics Card: **
EVGA NVIDIA Model GT200 (GeForce 210) PCI-E - 1 GB - Clock speed: 520 MHz - Memory bus: 64-bit - Outputs: DVI & HDMI & VGA

I tend to guess that it is not the driver which is your problem but
maybe the system suffers from not getting the resolutions as info which
your monitor supports.
Look into /var/log/Xorg.0.log and there keep an eye on EDID related
error messages.
You may want to post your /var/log/Xorg.0.log (it is long) to
susepaste.org and give us the link here.


PC: oS 12.3 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.10.0 | GTX 650 Ti
ThinkPad E320: oS 12.3 x86_64 | i3@2.30GHz | 8GB | KDE 4.10.2 | HD 3000
HannsBook: oS 12.3 x86_64 | SU4100@1.3GHz | 2GB | KDE 4.10.0 | GMA4500

Just to give an idea what I think will help
https://en.opensuse.org/SDB:Configuring_graphics_cards_and_monitor_settings

but let’s wait what your log file says to be sure


PC: oS 12.3 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.10.2 | GTX 650 Ti
ThinkPad E320: oS 12.3 x86_64 | i3@2.30GHz | 8GB | KDE 4.10.2 | HD 3000
HannsBook: oS 12.3 x86_64 | SU4100@1.3GHz | 2GB | KDE 4.10.2 | GMA4500

Thanks to Martin’s excellent advice, I ditched the suspicions about the driver and switched to researching the xorg configure log (/var/log/Xorg.0.log). As he suspected, the xorg log was declaring that it was unable to read the EDID for the display device and then advising that it was using the EDID frequencies on all display devices. In fact, it was using a set of Nvidia defaults and I suspect that much of its behaviour was directed by the Nvidia card…

The problem got me into a hinterland of unfamiliar vernacular and I have recorded the following notes for anyone who experiences a similar problem with a graphics card.

To try and read the EDID, I downloaded read-edid from read-edid. This software comprises 2 programmes (get-edid and parse-edid), the former gets the edid binary file (see glossary), from the monitor, which can be piped to the latter for conversion to a readable display. Unfortunately, using the downloaded gcc configuration file, the get-edid programme did not convert to an executable although parse-edid did and was consigned to sbin. This problem may have been finger trouble by me. I also downloaded the DOS version and ran it on XP, which did confim that the **Fujitsu Scaleoview does not make an edid block available **as the xorg log was rightly claiming.

So I generated a modeline (see glossary) using gtf (ref,1).
Also, I identified, on the web, a couple of statements which I could include in any monitor configuration, namely
Option “PreferredMode” “1680x1050” (ref.2 - hoping to force the resolution)
Option “NoEDID” “True” (ref.3 - hoping to tell Nvidia ‘don’t look for EDID’).

Finally, I found data for the Horizontal Sync frequency and vertical refresh frequency tolerances for similar models of my Scaleoview monitor, These were 30-82 KHz and 56-76 Hz respectively, which I cautiously interpreted as 40-75 KHz and 56-70 Hz (ref.4).

I called the monitor ‘CRT-1’ because Nvidia seemed to give this name as a default.

I entered these data into etc/X11/xorg-conf.d/50-monitor.conf one item at a time, ref.1 to ref.4. Xorg and Nvidia appeared to ignore ref.1 ,2 and 3, but when I entered ref.4, bingo Nvidia displayed a set of resolution options including 1680x1050.

The file finally looked like this:

# Having multiple "Monitor" sections is known to be problematic. Make
# sure you don't have in use another one laying around e.g. in another
# xorg.conf.d file or even a generic xorg.conf file. More details can
# be found in https://bugs.freedesktop.org/show_bug.cgi?id=32430.
#
Section "Monitor"
Identifier "CRT-1"
#
#  ## If your monitor doesn't support DDC (see glossary) you may override the
#  ## defaults here
#  ## Data from Scaleoview look-alike spec sheet HorizSync 30-82 # VertRefresh 56-76
HorizSync 40-75
VertRefresh 56-70
#
#  ## Add your mode lines here, use e.g the cvt tool
Option "PreferredMode" "1680x1050"
Option "NoEDID" "True"
modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync -Vsync
EndSection

I am indebted to Martin, particularly, for his advice and to all those who take the time to subscribe documents and experience to help others. A note of caution - make sure that you de-comment every appropriate line. If you forget to de-comment the last line, the boot hangs and you get a lot of practice with your repair disk (like I did…)

Glossary
The Display Data Channel or DDC is a collection of digital communication protocols between a computer display and a graphics adapter that enables the display to communicate its supported display modes to the adapter and to enable the computer host to adjust monitor parameters, such as brightness and contrast. The standard was created by the Video Electronics Standards Association (VESA).

Extended display identification data (EDID) is a standard, which defines a compact binary file format describing the monitor’s capabilities and supported graphics modes, stored in a read-only memory (EEPROM) chip programmed by the manufacturer of the monitor. The format uses a description block containing 128 bytes of data, with optional extension blocks to provide additional information.

Modeline is a 10 parameter data line which describes the characteristics of a monitor thus:
(Label string) (pixel clock frequency in MHz) (4 parameters of (x-resolution) (4 parameters of y-resolution) plus additional optional data.
With the advent of EDID, the representation is now not widely used but it is retained in Xorg for situations where EDID is unavailable. A modeline can be calculated from the monitor horizontal and vertical resolutions and other data provided by the manufacturer. The executables cvt and gtf provide modelines and there are also a number of calculators on the web (e.g. sourceforge).
The modeline syntax for entry in xorg configurations is:
Modeline “1680x1050_60.00” 147.14 1680 1784 1968 2256 1050 1051 1054 1027 -HSync +Vsync
(The numbers in the above represent the Scaleoview 1680x1050 resolution)