nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Wrong 130Hz refresh rate in 800x600 and lower resolutions (http://www.nvnews.net/vbulletin/showthread.php?t=110757)

zap 03-29-08 04:45 PM

Wrong 130Hz refresh rate in 800x600 and lower resolutions
I'm not sure when exactly, but not too long ago the applications running in 800x600 and less full-screen resolutions (e.g. games, for example extremetuxracer, nexuiz, xmoto) would run in a broken video mode. What I mean here for "broken" is that the image is a little higher than the screen, so the approximatively bottom 1/5 of the image is not visible.

I have two computers here, one with a GeForce 6200 and other with a 7600GT, both using a DVI cable to connect to the digital input of the monitor.

A friend of mine uses the analog connection to the monitor, and he gets a black screen whether an application switches to full-screen mode. After some time monitors displays a message saying that the monitor can't sync with the input signal.

Then I have disabled the dynamic twin view by adding this to the config file:

Option "DynamicTwinView" "False"

Now xrandr shows the real "supported" refresh rates for all modes. And what do I see?


Screen 0: minimum 320 x 240, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
  1280x1024      60.0*    75.0 
  1280x960      60.0 
  1280x800      75.0    70.0    60.0 
  1280x768      75.0    70.0    60.0 
  1280x720      75.0    70.0    60.0 
  1152x864      75.0    70.0    60.0 
  1024x768      75.0    70.0    60.0 
  960x600      120.0 
  960x540      120.0 
  840x525      140.0    120.0 
  832x624        75.0 
  800x600      130.0    120.0    75.0    72.0    60.0    56.0 
  800x512      121.0 
  720x450      120.0 
  680x384      120.0 
  640x512      150.0    120.0 
  640x480      120.0    75.0    73.0    60.0 
  640x400      151.0    140.0    120.0 
  640x384      150.0    140.0    120.0 
  640x360      150.0    140.0    120.0 
  576x432      150.0    140.0    120.0 
  512x384      150.0    140.0    120.0 
  416x312      150.0 
  400x300      150.0    145.0    121.0    113.0 
  320x240      150.0    146.0    120.0

150Hz? Oh my God, it's a regular LCD monitor, it cannot do more than 75Hz. No wonder it goes out of sync when the game is selecting the 800x600/130Hz.

What's worse, one can't switch the video mode (and even the refresh rate) without starting the application in 800x600 first. So my friend is stuck.

Can anybody explain what are these huge refresh rates and how to disable them? My guess is that these are some interlaced modes (do they work on DFP's anyway?). Besides, these interlaced modes (if my guess is correct) are not available at 1024x768 and higher (seems TV-encoder related?).

Please fix this bug in later releases, it's quite annoying as it affects most games and most people with LCD monitors (I think).

pe1chl 03-30-08 03:40 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
Put this line in the monitor section of your xorg.conf:
VertRefresh 60-75

zap 03-30-08 09:21 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
Nope, this does not help.
It looks like these refresh rates are doubled actual refresh rates (e.g. 130 is 65Hz interlaced, 150 is 75Hz interlaced and so on). So actually it's 75Hz, but it's listed as 150Hz, and application picks up the highest available refresh rate (be it 150Hz progressive or 75Hz interlaced, doesn't matter), which is not supported on my monitor.

Here's my pretty obvious xorg.conf from one of the affected machines, in the case somebody wonders how it looks:


# Xorg configuration created by livna-config-display

Section "ServerLayout"
        Identifier    "Single head configuration"
        Screen      0  "Screen0" 0 0
        InputDevice    "Logitech MX700" "CorePointer"
        InputDevice    "Logitech Keyboard" "CoreKeyboard"

Section "Files"
        ModulePath  "/usr/lib/xorg/modules/extensions/nvidia"
        ModulePath  "/usr/lib/xorg/modules"
        FontPath    "unix/:7100"

Section "Module"
        Load  "extmod"
        Load  "glx"
        Load  "dbe"
        Load  "extmod"

Section "ServerFlags"
        Option      "AllowDeactivateGrabs" "on"
        Option      "AllowMouseOpenFail" "yes"
        Option      "AIGLX" "on"

Section "InputDevice"
        Identifier  "Logitech Keyboard"
        Driver      "kbd"
        Option      "AutoRepeat" "200 40"
        Option      "XkbModel" "logicink"
        Option      "XkbLayout" "zap(us_ro),zap(ru)"
        Option      "XkbOptions" "grp:menu_toggle,grp:switch,grp_led:scroll,altwin:left_me

Section "InputDevice"
        Identifier  "Logitech MX700"
        Driver      "evdev"
        Option      "Name" "Logitech USB Receiver"
        Option      "relBits" "~0-2 ~6 ~8"
        Option      "ZAxisMapping" "4 5 7 6"

Section "Monitor"
        Identifier  "Monitor0"
        VendorName  "NEC"
        ModelName    "20WGX2"
        Option      "dpms"

Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        VendorName  "NVIDIA"
        BoardName  "NVIDIA GeForce 6200"
        Option      "Logo" "off"
        Option      "CursorShadow" "on"
        Option      "CursorShadowAlpha" "64"
        Option      "CursorShadowXOffset" "2"
        Option      "CursorShadowYOffset" "2"
        Option      "TripleBuffer" "1"
        Option      "AddARGBGLXVisuals" "True"

Section "Screen"
        Identifier "Screen0"
        Device    "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth    24

Section "Extensions"
        Option      "Composite" "Enable"

Lethe 03-30-08 09:29 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
I dunno what is going on, but you can force refresh rates in xorg.conf using this (was for my LCD panel):

Modes "1280x1024_60" "1024x768_60" "800x600" "640x480"

The underscores after the mode sizes forces the refresh.


pe1chl 03-30-08 09:41 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
You can try to cut down the huge list of modes using the following options:
Option "ModeValidation" "NoVesaModes,NoXServerModes,NoPredefinedModes"

This should leave only the modes returned by EDID and those written in your config.
Hopefully this removes the incorrect modes in your list.

zap 03-30-08 01:48 PM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
That did the trick! Thank you very much.

In fact, it's enough to have:

Option "ModeValidation" "NoXServerModes"

After this xrandr shows:


  1280x1024      60.0*    75.0 
  1280x960      60.0 
  1152x864      75.0 
  1024x768      75.0    70.0    60.0 
  800x600        75.0    72.0    60.0    56.0 
  640x480        75.0    73.0    60.0

Exactly what I need.
So it seems like the nvidia driver incorrectly validates the list of pre-defined X-Server modes? Since my monitor tells it cannot do more than 75Hz, and I also tried to explicitly limit the vertical refresh frequencies range with the "VertRefresh" option, and it did not helped.

Let's hope the developers will fix this in later releases.

xbobmx 03-30-08 03:35 PM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
Interesting. Can you save your EDID (nvidia-settings can do this) and attach it here, please?

zap 03-31-08 11:11 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
2 Attachment(s)

This happens on both my home monitors. The first is a Samsung 173P 17" flat-panel LCD, and second is a NEC 20" WGX2 LCD panel, both are connected via regular DVI connectors, the Samsung is connected to a 7600GT, NEC to a 6200 AGP card.

I also have a TV connected to the 7600GT through a S-Video cable, and on the 6200 the second output is not connected to anything.

zap 03-31-08 11:26 AM

Re: Wrong 130Hz refresh rate in 800x600 and lower resolutions
By the way, about this DynamicTwinView thing... I know a lot of people who tend to uninstall the nvidia driver because they are seeing "40Hz refresh rate" :) It's rather a psychological thing, but maybe the uniquiness of the metamode could be ensured without using bogus refresh rates? Maybe to put the unique identifier as the fractional part of the refresh rate, say 75.001, 75.002, 60.003 hertz and so on :-) Anyway, just a wild idea.

All times are GMT -5. The time now is 04:54 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.