Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 03-08-09, 03:48 PM   #1
piotro
Registered User
 
Join Date: May 2007
Posts: 72
Default xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

Hi *

Maybe somebody can help me with following issue:

How can I select via xrandr custom mode which is defined in xorg.conf ?

Some details (xorg7.3, 180.37):

In xorg.cong I have defined following modes:
Code:
    # 1920x1080p @ 50Hz (EIA/CEA-861B)
    ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 60Hz (EIA/CEA-861B)
    ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 24Hz (EIA/CEA-861B)
    ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 23.976Hz (EIA/CEA-861B)
    ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080i @ 50Hz (EIA/CEA-861B)
    Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080i @ 60Hz (EIA/CEA-861B)
    Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080p @ 59.94Hz (EIA/CEA-861B)
    ModeLine "1920x1080@59.94" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080i @ 59.94Hz (EIA/CEA-861B)
    Modeline "1920x1080@59.94i" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080p @ 25Hz (EIA/CEA-861B)
    ModeLine "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 29.97Hz (EIA/CEA-861B)
    ModeLine "1920x1080@29.97" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 30Hz (EIA/CEA-861B)
    ModeLine "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
All above modes are valid in Xorg.log. Part of it:

Code:
(II) NVIDIA(0):   Validating Mode "1920x1080@24":
(II) NVIDIA(0):     1920 x 1080 @ 24 Hz
(II) NVIDIA(0):     Mode Source: X Configuration file ModeLine
(II) NVIDIA(0):       Pixel Clock      : 74.25 MHz
(II) NVIDIA(0):       HRes, HSyncStart : 1920, 2558
(II) NVIDIA(0):       HSyncEnd, HTotal : 2602, 2750
(II) NVIDIA(0):       VRes, VSyncStart : 1080, 1084
(II) NVIDIA(0):       VSyncEnd, VTotal : 1089, 1125
(II) NVIDIA(0):       H/V Polarity     : +/+
(II) NVIDIA(GPU-0):     BestFit Scaled and BestFit AspectScaled are identical;
(II) NVIDIA(GPU-0):         collapsing BestFit AspectScaled.
(II) NVIDIA(GPU-0):     BestFit Centered and BestFit Scaled are identical;
(II) NVIDIA(GPU-0):         collapsing BestFit Scaled.
(II) NVIDIA(GPU-0):     BestFit Centered         1920x1080
(II) NVIDIA(GPU-0):       Horizontal Taps        0
(II) NVIDIA(GPU-0):       Vertical Taps          0
(II) NVIDIA(GPU-0):       Base SuperSample       1
(II) NVIDIA(GPU-0):       Base Depth             32
(II) NVIDIA(GPU-0):       Distributed Rendering  1
(II) NVIDIA(GPU-0):       Overlay Depth          16
(II) NVIDIA(0):     Mode is valid.
(II) NVIDIA(0): 
(II) NVIDIA(0):   Validating Mode "1920x1080@23.976":
(II) NVIDIA(0):     1920 x 1080 @ 24 Hz
(II) NVIDIA(0):     Mode Source: X Configuration file ModeLine
(II) NVIDIA(0):       Pixel Clock      : 74.17 MHz
(II) NVIDIA(0):       HRes, HSyncStart : 1920, 2558
(II) NVIDIA(0):       HSyncEnd, HTotal : 2602, 2750
(II) NVIDIA(0):       VRes, VSyncStart : 1080, 1084
(II) NVIDIA(0):       VSyncEnd, VTotal : 1089, 1125
(II) NVIDIA(0):       H/V Polarity     : +/+
(II) NVIDIA(GPU-0):     BestFit Scaled and BestFit AspectScaled are identical;
(II) NVIDIA(GPU-0):         collapsing BestFit AspectScaled.
(II) NVIDIA(GPU-0):     BestFit Centered and BestFit Scaled are identical;
(II) NVIDIA(GPU-0):         collapsing BestFit Scaled.
(II) NVIDIA(GPU-0):     BestFit Centered         1920x1080
(II) NVIDIA(GPU-0):       Horizontal Taps        0
(II) NVIDIA(GPU-0):       Vertical Taps          0
(II) NVIDIA(GPU-0):       Base SuperSample       1
(II) NVIDIA(GPU-0):       Base Depth             32
(II) NVIDIA(GPU-0):       Distributed Rendering  1
(II) NVIDIA(GPU-0):       Overlay Depth          16
(II) NVIDIA(0):     Mode is valid.
(II) NVIDIA(0):
For xrandr in xorg.log I have following modes avaliable:

Code:
(II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
(II) NVIDIA(0): 
(II) NVIDIA(0): Implicitly adding the following modes to X Screen 0 (these
(II) NVIDIA(0):     will be available via XRandR and XF86VidMode):
(II) NVIDIA(0): 
(II) NVIDIA(0): "nvidia-auto-select" : 1920 x 1080 @  50.0 Hz 
(II) NVIDIA(0): "1920x1080_60_0"     : 1920 x 1080 @  60.0 Hz 
(II) NVIDIA(0): "1920x1080_60_2"     : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 16)
(II) NVIDIA(0): "1920x1080_50_1"     : 1920 x 1080 @ 50 Hz (CEA-861B Format 31)
(II) NVIDIA(0): "1920x1080_24_1"     : 1920 x 1080 @ 23.97/24 Hz (CEA-861B Format 32)
(II) NVIDIA(0): "1920x1080_60i_0"    : 1920 x 1080 @ 59.94/60 Hz (CEA-861B Format 5)
(II) NVIDIA(0): "1920x1080_50i"      : 1920 x 1080 @ 50 Hz Interlace (CEA-861B Format 20)
(II) NVIDIA(0): "1600x1024"          : 1600 x 1024 @  60.0 Hz  
.........................
xrandr -q report following:
Code:
root@FE-Salon:~ # xrandr -q
Screen 0: minimum 320 x 240, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 0mm x 0mm
   1920x1080      50.0*    60.0     24.0     25.0     30.0  
   1600x1024      60.0  
   1400x1050      75.0     60.0  
   1360x768       60.0     50.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1280x720       60.0     50.0  
   1152x864       75.0  
   1152x768       55.0  
   1024x768       75.0     70.0     60.0  
   832x624        75.0  
   800x600        75.0     72.0     60.0     56.0  
   800x512        60.0  
   720x576        50.0  
   720x480        60.0  
   700x525        75.0     60.0  
   640x480        75.0     73.0     60.0  
   576x384        55.0  
   512x384        70.0     60.0  
   400x300        72.0  
   320x240        73.0     60.0  
root@FE-Salon:~ #
So question is following:
How can I select via xrandr mode 1920 x 1080 with 23.97 refresh rate ?

Why I asking for this:
I want to play 23.976fps movie in fluent way.
I selected via xrandr 24Hz refresh rate. Movie is 23.976fps. Result: v.slowly moving tearing line during playback. I suspect this is because mplayer feeding 23.976 fps, but my graphic chip is refresing at 24Hz.

Ideally will be when mplayer will sync playback speed to display refresh rate. How can I do this ?


br
piotro is offline   Reply With Quote
Old 03-08-09, 03:56 PM   #2
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

You forgot to attach a bug report. In the nvidia-settings page for the display device, try disabling the full GPU scaling checkbox. You may also need to enable the ExactModeTimingsDVI option in xorg.conf.
AaronP is offline   Reply With Quote
Old 03-08-09, 05:01 PM   #3
piotro
Registered User
 
Join Date: May 2007
Posts: 72
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

@AronP,
Thx for quick replay.
Bug report wasn't filled as I was thinking issue is because of my config/procedure errors, not drivers bug...

Should I still fill bug-report ?

Quote:
In the nvidia-settings page for the display device, try disabling the full GPU scaling checkbox. You may also need to enable the ExactModeTimingsDVI option in xorg.conf.
as for nvidia-settings page: my hw is network booted appliance with carefully collected only must-have code. I don't have nvidia-settings tool. Is it possible to manipulate this option in xorg.conf ?

as for ExactModeTimingsDVI option in xorg.conf: it is already set on.
Here is my xorg.conf:
Code:
Section "Files"
    ModulePath  "/usr/lib/nvidia/xorg/modules"
    ModulePath  "/usr/lib/xorg/modules"
EndSection

Section "ServerFlags"
    Option      "DefaultServerLayout" "Layout1"
    Option      "XkbDisable"          "false"
    Option      "AllowMouseOpenFail"  "true"
    Option      "BlankTime"           "0"
    Option      "StandbyTime"         "0"
    Option      "SuspendTime"         "0"
    Option      "OffTime"             "0"
    Option      "NoPM"                "true"
    Option      "Xinerama"            "false"
    Option      "AIGLX"               "false"
    Option      "AutoAddDevices"      "false"
    Option      "AllowEmptyInput"     "true"
EndSection

Section "Module"
    Load        "dbe"
#    Load        "dri"
    Load        "extmod"
    Load        "freetype"
    Load        "glx"
    Load        "int10"
    Load        "record"
EndSection

Section "Extensions"
    Option      "Composite" "Disable"
EndSection

Section "InputDevice"
    Identifier "event1"
    Driver     "evdev"
    Option     "Device" "/dev/input/event1"
EndSection

Section "InputDevice"
    Identifier "event2"
    Driver     "evdev"
    Option     "Device" "/dev/input/event2"
EndSection

Section "InputDevice"
    Identifier "event3"
    Driver     "evdev"
    Option     "Device" "/dev/input/event3"
EndSection

Section "Monitor"
    Identifier  "Monitor1"
    DisplaySize 524 393
    HorizSync 10.0-120.0
    VertRefresh 20.0-80.0
    Gamma 0.8
    # 1360x768 @ 50Hz
    Modeline "1360x768@50" 67.86 1360 1392 1648 1680 768  784  791  807 +hsync +vsync
    # 1360x768 @ 60Hz
    Modeline "1360x768@60" 84.75 1360 1432 1568 1776 768  771  776  798 +hsync +vsync
    # 1920x1080p @ 50Hz (EIA/CEA-861B)
    ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 60Hz (EIA/CEA-861B)
    ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 24Hz (EIA/CEA-861B)
    ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 23.976Hz (EIA/CEA-861B)
    ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080i @ 50Hz (EIA/CEA-861B)
    Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080i @ 60Hz (EIA/CEA-861B)
    Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080p @ 59.94Hz (EIA/CEA-861B)
    ModeLine "1920x1080@59.94" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080i @ 59.94Hz (EIA/CEA-861B)
    Modeline "1920x1080@59.94i" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
    # 1920x1080p @ 25Hz (EIA/CEA-861B)
    ModeLine "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 29.97Hz (EIA/CEA-861B)
    ModeLine "1920x1080@29.97" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    # 1920x1080p @ 30Hz (EIA/CEA-861B)
    ModeLine "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection

Section "Device"
    Identifier  "Device_nvidia"
    Driver      "nvidia"
    Option      "NoLogo"              "true"
#    Option      "ConnectedMonitor"    "CRT"
    Option      "TVStandard"          "NTSC-M"
    Option      "TVOutFormat"         "AUTOSELECT"
    Option      "TVOverScan"          "0.0"
    Option      "UseEdidFreqs"        "false"
    Option      "UseEDIDDpi"          "false"
    Option      "DynamicTwinView"     "false"
    Option      "UseEvents"           "true"
    Option      "ExactModeTimingsDVI" "true"
    Option      "ModeValidation"      "NoDFPNativeResolutionCheck"
    Option      "DPI"                 "85x85"
EndSection

Section "Screen"
    Identifier  "Screen1"
    Device      "Device_nvidia"
    Monitor     "Monitor1"
    DefaultDepth 24

    Subsection "Display"
        Depth       24
#        Virtual     1920 1080
#        ViewPort    0 0
        Modes      "1920x1080@50" "1920x1080@60" "1920x1080@24" "1920x1080@23.976" "1920x1080@50i" "1920x1080@60i" "1920x1080@59.94" "1920x1080@59.94i" "1920x1080@25" "1920x1080@29.97" "1920x1080@30"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "Layout1"
    Screen      "Screen1"
    InputDevice "event1" "SendCoreEvents"
    InputDevice "event2" "SendCoreEvents"
EndSection

Section "DRI"
    Mode 0666
EndSection
piotro is offline   Reply With Quote
Old 03-08-09, 06:20 PM   #4
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

Quote:
Originally Posted by piotro View Post
as for nvidia-settings page: my hw is network booted appliance with carefully collected only must-have code. I don't have nvidia-settings tool. Is it possible to manipulate this option in xorg.conf ?
Yeah, you can do it with
Code:
Option "FlatPanelProperties" "Scaling = Centered"
If that still doesn't work, please attach a bug report with a verbose mode validation log as described in the forum sticky posts.
AaronP is offline   Reply With Quote
Old 03-08-09, 10:26 PM   #5
jyavenard
MythTV developer
 
Join Date: Mar 2006
Posts: 413
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

Quote:
Originally Posted by piotro View Post
Hi *

Maybe somebody can help me with following issue:

How can I select via xrandr custom mode which is defined in xorg.conf ?

Why I asking for this:
I want to play 23.976fps movie in fluent way.
I selected via xrandr 24Hz refresh rate. Movie is 23.976fps. Result: v.slowly moving tearing line during playback. I suspect this is because mplayer feeding 23.976 fps, but my graphic chip is refresing at 24Hz.

Ideally will be when mplayer will sync playback speed to display refresh rate. How can I do this ?
I described the xorg.conf there on my site:
http://www.avenard.org/media/Patches...esh_rates.html

More specifically , you want the following option to be on:
Option "ExactModeTimingsDVI" "True"
Option "UseEDIDFreqs" "False"

Also, you want to have dynamic twinview activated ; otherwise 24Hz or 23.976Hz will appear just as 24Hz (xrandr doesn't handle non-integer refresh rate).

From there, the value returned by xrandr will be something like 50, 51, 52, etc..
On my xorg.conf, 50 is 50Hz, 51 is 60Hz, 52 is 24Hz, 53 is 23.976Hz and so on
jyavenard is offline   Reply With Quote
Old 03-09-09, 04:18 AM   #6
piotro
Registered User
 
Join Date: May 2007
Posts: 72
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

@jyavenard

Thanx for replay.

Well, at this moment it seems to me that root cause of my problem is that xrandr can't handle ini-integer refresh rates.
Also I believe there is also design compromise in nvidia drivers.

Look: in my case (described in my original post), xorg successfully validated all modes which I need: these reported by TV + these added in xorg.conf. So they are available to use.

Assuming that xrandr can't handle non-integer refresh rates - it is clear why 23.976 or 59.50 aren't available in xrandr.
Now nvidia can choose few approaches to solve this issue:
1.ignore all non-integer rates from xrandr modes pool
2.map continuously all to consecutive integer values
3.convert only non-integer values into integer
4.allow user to select between 1 & 2.

I see that nvidia designers choose method 4. Switch for selction here is TwinView option.

I believe however option 3 might be better compromise: if we assume non-integer->integer conversion as simple integer=integer part of non-integer - it will cover all cases exept cases when we have 2 non-integer rates with the same integer part i.e. 23.976 and 23.978. In this case - for simplification - I propose to take first one, and ignore second.

Advantage of this approach is that apps using xrndr will be able to ask for explicite refresh rate (assuming app will also implement the same conversion algorithm).

Comparing this to approach 1: my issue with approach 1 is that some rates are validated, but unavailable in xrandr.

Comparing this to approach 2: my issue with approach 2 is how to reliable (system independent) ask for particular, absolute refresh rate ?. I already wrote mplayer wrapper script which uses xrandr to set refresh rate to the movie fps. Only issue I have there is lack of some refresh rates in xrandr....

BTW: BIB BIG thanx for Your effort with vdpau in 0.21-fixes. I'm using it with great success !!!


br
piotro is offline   Reply With Quote
Old 03-09-09, 04:20 PM   #7
piotro
Registered User
 
Join Date: May 2007
Posts: 72
Default Re: xrandr=24Hz, movie=23.976fps-> v.slow tearing line...

@AronP

Quote:
Originally Posted by AaronP View Post
If that still doesn't work, please attach a bug report with a verbose mode validation log as described in the forum sticky posts.
Changing my config accordingly to Your suggestions changes nothing. Issue of missing custom modes in modes reported by xrandr is still present.
Please find:
-xinit verbose 6 log
-nvidia bug report

thx
Attached Files
File Type: log nvidia-bug-report.log (68.8 KB, 95 views)
File Type: zip Xorg.log.zip (17.7 KB, 89 views)
piotro is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 12:45 PM.


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