Author Topic: Tearing experiences  (Read 9378 times)

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Tearing experiences
« on: March 23, 2009, 03:24:15 pm »
I'd like to share my experiences with tearing incase anyone has any suggestions for fixes or the devs can use the info. I am runing the latest 710 release 32bit DVD install.

In general the tearing I experience occurs only in scenes with fast camera movement. It looks like the top half of the display is on one frame and the bottom half is on the previous frame. The severity of tearing does not change if I switch between UI modes. The severity of tearing does not change if I use my 15" Samsung LCD through the VGA port @ 1024x768, or my Panasonic Plamsa through DVI-->HDMI @ 1080p.

I am using this HD material for testing: http://www.digital-digest.com/articles/highdefdvd_test_page1.html Also some of the WMV HD Content Showcase material

I started out with these system specs:

ASUS M2R32-MVP
AMD 64 x2 3800+
2 GB Corsair RAM
ASUS 8500GT

I found no difference between the stock NVIDIA drivers and the latest (installed following the guide on the wiki). No difference between with and without the NVIDIA card tweaks from the Wiki.

Finally, I read that HD decoding requires a good bit of CPU horsepower since hardware acceleration is not yet supported. I upgraded my CPU to an AMD 64 x2 5400+ and overclocked to 3.11GHz but no discernable difference resulted.

UPDATE: The tearing occurs within Kaffeine as well, so the issue doesn't appear specific to linuxmce

I'm at a loss for things to try.

Note that my testing is based on qualitative observations. I don't know how to run a frame counter in linux.

Thanks in advance,

Dave
« Last Edit: March 23, 2009, 04:58:29 pm by davegravy »

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #1 on: March 23, 2009, 07:39:53 pm »
Have you used nvidia-settings (started as root, not linuxmce) to set both vsync/blank settings? Then run glxgears to confirm this limits your frame rate to 50/60fps?

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #2 on: March 23, 2009, 07:55:04 pm »
Have you used nvidia-settings (started as root, not linuxmce) to set both vsync/blank settings? Then run glxgears to confirm this limits your frame rate to 50/60fps?

I have tried both enabling and disabling "sync to vblank" using the procedure described in the NVIDIA tweaks article (which has recently been deleted). I did not run glxgears, but will try it tonight if it will help diagnose the issue.

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #3 on: March 23, 2009, 08:05:54 pm »
There are two vsync settings in that tool, both must be enabled otherwise the tearing will be unbearable! Then run glxgears and maximise the window....

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #4 on: March 23, 2009, 10:46:38 pm »
Here are the glxgears results. All tests performed @ 1024x768 60Hz

Stock NVIDIA driver
        sync on blank: on
                300 frames in 5 seconds: 59.657fps (don't know if being != 60.000 is a problem)
                considerable tearing on top section of blue gear
        sync on blank: off
                1500 frames in 5 seconds: 300fps
                 no tearing

Latest NVIDIA driver
Exactly the same as above.

Tearing in HD video playback was consistent for each set of settings.

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #5 on: March 24, 2009, 01:10:12 am »
No, its close enough to 60, if the PC is doing nothing else you will probably find it trends very close to 60 eventually.

That is very strange, that it should tear with vsync on (you did find both check boxes didn't you? There is more than just one in nvidia-settings)

Without vsync, 300fps for an 8500 chipset doesn't sound like much... hmmm is this in 1080p?

Perhaps you can post your /var/log/Xorg.0.log and /etc/X11/xorg.conf files? But when you do, please make sure you quote them inside [ c o d e ] [ / c o d e ] by using the # icon in the formatting section so that it doesn't flood the thread...

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #6 on: March 24, 2009, 10:42:55 pm »
That was all done in 1024x768. I can repeat it in 1080p if it'd be useful.

xorg.conf:

Code: [Select]
Section "Files"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "Device"
Identifier "nVidia Corporation G80 [GeForce 8500 GT]"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "XvmcUsesTextures" "true"
Option "renderAccel" "true"
Option "NoDDCValue"
Option "UseEDID" "false"
Option "ExactModeTimingsDVI" "true"
Option "NoLogo" "true"
Option "NoBandWidthTest" "true"
Option "ModeValidation" "NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes"
Option "DynamicTwinView" "false"
Option "UseEvents" "true"
Option "AllowGLXWithComposite" "true"
Option "AddARGBGLXVisuals" "true"
Option "ConnectedMonitor" "CRT"
EndSection

Section "Monitor"
Identifier "570V TFT"
Option "DPMS"
Modeline "1024x768" 60.80 1024 1056 1128 1272 768 768 770 796
HorizSync 20-500
VertRefresh 59-61
EndSection

Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation G80 [GeForce 8500 GT]"
Monitor "570V TFT"
DefaultDepth 24
SubSection "Display"
Modes "1024x768"
Virtual 1024 768
EndSubSection
Option "XvmcUsesTextures" "true"
Option "renderAccel" "true"
Option "NoDDCValue"
Option "UseEDID" "false"
Option "ExactModeTimingsDVI" "true"
Option "NoLogo" "true"
Option "NoBandWidthTest" "true"
Option "ModeValidation" "NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes"
Option "DynamicTwinView" "false"
Option "UseEvents" "true"
Option "AllowGLXWithComposite" "true"
Option "AddARGBGLXVisuals" "true"
Option "TVStandard" "1024x768 (4:3)"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"

# Uncomment if you have a wacom tablet
# InputDevice     "stylus" "SendCoreEvents"
# InputDevice     "cursor" "SendCoreEvents"
# InputDevice     "eraser" "SendCoreEvents"
EndSection
Section "Extensions"
Option "RENDER" "true"
EndSection


davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #7 on: March 24, 2009, 10:53:41 pm »
The first 20,000 characters of xorg.0.log (all that this forum permits, if you need more let me know):

Code: [Select]

X Window System Version 1.3.0
Release Date: 19 April 2007
X Protocol Version 11, Revision 0, Release 1.3
Build Operating System: Linux Ubuntu (xorg-server 2:1.3.0.0.dfsg-12ubuntu8)
Current Operating System: Linux dcerouter 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686
Build Date: 29 September 2007
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar 24 17:29:25 2009
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "570V TFT"
(**) |   |-->Device "nVidia Corporation G80 [GeForce 8500 GT]"
(**) |-->Input Device "Generic Keyboard"
(**) |-->Input Device "Configured Mouse"
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
Entry deleted from font path.
(==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType
(==) RgbPath set to "/etc/X11/rgb"
(==) ModulePath set to "/usr/lib/xorg/modules"
(**) Extension "RENDER" is enabled
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Loader magic: 0x81ea440
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.3
X.Org Video Driver: 1.2
X.Org XInput driver : 0.7
X.Org Server Extension : 0.3
X.Org Font Renderer : 0.5
(II) Loader running on linux
(II) LoadModule: "pcidata"
(II) Loading /usr/lib/xorg/modules//libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.0.0
ABI class: X.Org Video Driver, version 1.2
(++) using VT number 7

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 1002,5952 card 1002,5952 rev 00 class 06,00,00 hdr 00
(II) PCI: 00:02:0: chip 1002,5a34 card 0000,0000 rev 00 class 06,04,00 hdr 01
(II) PCI: 00:05:0: chip 1002,5a37 card 0000,0000 rev 00 class 06,04,00 hdr 01
(II) PCI: 00:12:0: chip 1002,4380 card 1043,81ef rev 00 class 01,06,01 hdr 00
(II) PCI: 00:13:0: chip 1002,4387 card 1002,4387 rev 00 class 0c,03,10 hdr 80
(II) PCI: 00:13:1: chip 1002,4388 card 1002,4388 rev 00 class 0c,03,10 hdr 00
(II) PCI: 00:13:2: chip 1002,4389 card 1002,4389 rev 00 class 0c,03,10 hdr 00
(II) PCI: 00:13:3: chip 1002,438a card 1002,438a rev 00 class 0c,03,10 hdr 00
(II) PCI: 00:13:4: chip 1002,438b card 1002,438b rev 00 class 0c,03,10 hdr 00
(II) PCI: 00:13:5: chip 1002,4386 card 1002,4386 rev 00 class 0c,03,20 hdr 00
(II) PCI: 00:14:0: chip 1002,4385 card 1043,4385 rev 13 class 0c,05,00 hdr 80
(II) PCI: 00:14:1: chip 1002,438c card 1002,438c rev 00 class 01,01,8a hdr 00
(II) PCI: 00:14:2: chip 1002,4383 card 1002,4383 rev 00 class 04,03,00 hdr 00
(II) PCI: 00:14:3: chip 1002,438d card 1002,438d rev 00 class 06,01,00 hdr 80
(II) PCI: 00:14:4: chip 1002,4384 card 0000,0000 rev 00 class 06,04,01 hdr 81
(II) PCI: 00:18:0: chip 1022,1100 card 0000,0000 rev 00 class 06,00,00 hdr 80
(II) PCI: 00:18:1: chip 1022,1101 card 0000,0000 rev 00 class 06,00,00 hdr 80
(II) PCI: 00:18:2: chip 1022,1102 card 0000,0000 rev 00 class 06,00,00 hdr 80
(II) PCI: 00:18:3: chip 1022,1103 card 0000,0000 rev 00 class 06,00,00 hdr 80
(II) PCI: 01:00:0: chip 10de,0421 card 1043,8264 rev a1 class 03,00,00 hdr 00
(II) PCI: 02:00:0: chip 197b,2360 card 1043,8202 rev 02 class 01,06,01 hdr 00
(II) PCI: 03:02:0: chip 14e4,4320 card 1737,0015 rev 03 class 02,80,00 hdr 00
(II) PCI: 03:03:0: chip 1106,3044 card 1043,81fe rev c0 class 0c,00,10 hdr 00
(II) PCI: 03:04:0: chip 11ab,4320 card 1043,811a rev 13 class 02,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,3), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
[0] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:2:0), (0,1,1), BCTRL: 0x000b (VGA_EN is set)
(II) Bus 1 I/O range:
[0] -1 0 0x0000c000 - 0x0000cfff (0x1000) IX[B]
(II) Bus 1 non-prefetchable memory range:
[0] -1 0 0xf8000000 - 0xfbdfffff (0x3e00000) MX[B]
(II) Bus 1 prefetchable memory range:
[0] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 2: bridge is at (0:5:0), (0,2,2), BCTRL: 0x0003 (VGA_EN is cleared)
(II) Bus 2 I/O range:
[0] -1 0 0x0000d000 - 0x0000dfff (0x1000) IX[B]
(II) Bus 2 non-prefetchable memory range:
[0] -1 0 0xfbe00000 - 0xfbefffff (0x100000) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:20:3), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(II) Subtractive PCI-to-PCI bridge:
(II) Bus 3: bridge is at (0:20:4), (0,3,3), BCTRL: 0x0003 (VGA_EN is cleared)
(II) Bus 3 I/O range:
[0] -1 0 0x0000e000 - 0x0000efff (0x1000) IX[B]
(II) Bus 3 non-prefetchable memory range:
[0] -1 0 0xfbf00000 - 0xfbffffff (0x100000) MX[B]
(II) Bus 3 prefetchable memory range:
[0] -1 0 0x88000000 - 0x880fffff (0x100000) MX[B]
(--) PCI:*(1:0:0) nVidia Corporation unknown chipset (0x0421) rev 161, Mem @ 0xfa000000/24, 0xd0000000/28, 0xf8000000/25, I/O @ 0xcc00/7, BIOS @ 0xfbde0000/17
(II) Addressable bus resource ranges are
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
[1] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) Active PCI resource ranges:
[0] -1 0 0xfbff8000 - 0xfbffbfff (0x4000) MX[B]
[1] -1 0 0xfbffd800 - 0xfbffdfff (0x800) MX[B]
[2] -1 0 0xfbffe000 - 0xfbffffff (0x2000) MX[B]
[3] -1 0 0xfbefe000 - 0xfbefffff (0x2000) MX[B]
[4] -1 0 0xf7ff4000 - 0xf7ff7fff (0x4000) MX[B]
[5] -1 0 0xfed00000 - 0xfed003ff (0x400) MX[B]
[6] -1 0 0xf7fff800 - 0xf7fff8ff (0x100) MX[B]
[7] -1 0 0xf7ffa000 - 0xf7ffafff (0x1000) MX[B]
[8] -1 0 0xf7ffb000 - 0xf7ffbfff (0x1000) MX[B]
[9] -1 0 0xf7ffc000 - 0xf7ffcfff (0x1000) MX[B]
[10] -1 0 0xf7ffd000 - 0xf7ffdfff (0x1000) MX[B]
[11] -1 0 0xf7ffe000 - 0xf7ffefff (0x1000) MX[B]
[12] -1 0 0xf7fffc00 - 0xf7ffffff (0x400) MX[B]
[13] -1 0 0xfbde0000 - 0xfbdfffff (0x20000) MX[B](B)
[14] -1 0 0xf8000000 - 0xf9ffffff (0x2000000) MX[B](B)
[15] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B](B)
[16] -1 0 0xfa000000 - 0xfaffffff (0x1000000) MX[B](B)
[17] -1 0 0x0000e800 - 0x0000e8ff (0x100) IX[B]
[18] -1 0 0x0000ec00 - 0x0000ec7f (0x80) IX[B]
[19] -1 0 0x0000d400 - 0x0000d40f (0x10) IX[B]
[20] -1 0 0x0000d480 - 0x0000d483 (0x4) IX[B]
[21] -1 0 0x0000d800 - 0x0000d807 (0x8) IX[B]
[22] -1 0 0x0000d880 - 0x0000d883 (0x4) IX[B]
[23] -1 0 0x0000dc00 - 0x0000dc07 (0x8) IX[B]
[24] -1 0 0x0000ff00 - 0x0000ff0f (0x10) IX[B]
[25] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[26] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[27] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[28] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[29] -1 0 0x00000b00 - 0x00000b0f (0x10) IX[B]
[30] -1 0 0x00007000 - 0x0000700f (0x10) IX[B]
[31] -1 0 0x00008000 - 0x00008003 (0x4) IX[B]
[32] -1 0 0x00009000 - 0x00009007 (0x8) IX[B]
[33] -1 0 0x0000a000 - 0x0000a003 (0x4) IX[B]
[34] -1 0 0x0000b000 - 0x0000b007 (0x8) IX[B]
[35] -1 0 0x0000cc00 - 0x0000cc7f (0x80) IX[B](B)
(II) Active PCI resource ranges after removing overlaps:
[0] -1 0 0xfbff8000 - 0xfbffbfff (0x4000) MX[B]
[1] -1 0 0xfbffd800 - 0xfbffdfff (0x800) MX[B]
[2] -1 0 0xfbffe000 - 0xfbffffff (0x2000) MX[B]
[3] -1 0 0xfbefe000 - 0xfbefffff (0x2000) MX[B]
[4] -1 0 0xf7ff4000 - 0xf7ff7fff (0x4000) MX[B]
[5] -1 0 0xfed00000 - 0xfed003ff (0x400) MX[B]
[6] -1 0 0xf7fff800 - 0xf7fff8ff (0x100) MX[B]
[7] -1 0 0xf7ffa000 - 0xf7ffafff (0x1000) MX[B]
[8] -1 0 0xf7ffb000 - 0xf7ffbfff (0x1000) MX[B]
[9] -1 0 0xf7ffc000 - 0xf7ffcfff (0x1000) MX[B]
[10] -1 0 0xf7ffd000 - 0xf7ffdfff (0x1000) MX[B]
[11] -1 0 0xf7ffe000 - 0xf7ffefff (0x1000) MX[B]
[12] -1 0 0xf7fffc00 - 0xf7ffffff (0x400) MX[B]
[13] -1 0 0xfbde0000 - 0xfbdfffff (0x20000) MX[B](B)
[14] -1 0 0xf8000000 - 0xf9ffffff (0x2000000) MX[B](B)
[15] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B](B)
[16] -1 0 0xfa000000 - 0xfaffffff (0x1000000) MX[B](B)
[17] -1 0 0x0000e800 - 0x0000e8ff (0x100) IX[B]
[18] -1 0 0x0000ec00 - 0x0000ec7f (0x80) IX[B]
[19] -1 0 0x0000d400 - 0x0000d40f (0x10) IX[B]
[20] -1 0 0x0000d480 - 0x0000d483 (0x4) IX[B]
[21] -1 0 0x0000d800 - 0x0000d807 (0x8) IX[B]
[22] -1 0 0x0000d880 - 0x0000d883 (0x4) IX[B]
[23] -1 0 0x0000dc00 - 0x0000dc07 (0x8) IX[B]
[24] -1 0 0x0000ff00 - 0x0000ff0f (0x10) IX[B]
[25] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[26] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[27] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[28] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[29] -1 0 0x00000b00 - 0x00000b0f (0x10) IX[B]
[30] -1 0 0x00007000 - 0x0000700f (0x10) IX[B]
[31] -1 0 0x00008000 - 0x00008003 (0x4) IX[B]
[32] -1 0 0x00009000 - 0x00009007 (0x8) IX[B]
[33] -1 0 0x0000a000 - 0x0000a003 (0x4) IX[B]
[34] -1 0 0x0000b000 - 0x0000b007 (0x8) IX[B]
[35] -1 0 0x0000cc00 - 0x0000cc7f (0x80) IX[B](B)
(II) OS-reported resource ranges after removing overlaps with PCI:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0xfbff8000 - 0xfbffbfff (0x4000) MX[B]
[5] -1 0 0xfbffd800 - 0xfbffdfff (0x800) MX[B]
[6] -1 0 0xfbffe000 - 0xfbffffff (0x2000) MX[B]
[7] -1 0 0xfbefe000 - 0xfbefffff (0x2000) MX[B]
[8] -1 0 0xf7ff4000 - 0xf7ff7fff (0x4000) MX[B]
[9] -1 0 0xfed00000 - 0xfed003ff (0x400) MX[B]
[10] -1 0 0xf7fff800 - 0xf7fff8ff (0x100) MX[B]
[11] -1 0 0xf7ffa000 - 0xf7ffafff (0x1000) MX[B]
[12] -1 0 0xf7ffb000 - 0xf7ffbfff (0x1000) MX[B]
[13] -1 0 0xf7ffc000 - 0xf7ffcfff (0x1000) MX[B]
[14] -1 0 0xf7ffd000 - 0xf7ffdfff (0x1000) MX[B]
[15] -1 0 0xf7ffe000 - 0xf7ffefff (0x1000) MX[B]
[16] -1 0 0xf7fffc00 - 0xf7ffffff (0x400) MX[B]
[17] -1 0 0xfbde0000 - 0xfbdfffff (0x20000) MX[B](B)
[18] -1 0 0xf8000000 - 0xf9ffffff (0x2000000) MX[B](B)
[19] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B](B)
[20] -1 0 0xfa000000 - 0xfaffffff (0x1000000) MX[B](B)
[21] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[22] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[23] -1 0 0x0000e800 - 0x0000e8ff (0x100) IX[B]
[24] -1 0 0x0000ec00 - 0x0000ec7f (0x80) IX[B]
[25] -1 0 0x0000d400 - 0x0000d40f (0x10) IX[B]
[26] -1 0 0x0000d480 - 0x0000d483 (0x4) IX[B]
[27] -1 0 0x0000d800 - 0x0000d807 (0x8) IX[B]
[28] -1 0 0x0000d880 - 0x0000d883 (0x4) IX[B]
[29] -1 0 0x0000dc00 - 0x0000dc07 (0x8) IX[B]
[30] -1 0 0x0000ff00 - 0x0000ff0f (0x10) IX[B]
[31] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[32] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[33] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[34] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[35] -1 0 0x00000b00 - 0x00000b0f (0x10) IX[B]
[36] -1 0 0x00007000 - 0x0000700f (0x10) IX[B]
[37] -1 0 0x00008000 - 0x00008003 (0x4) IX[B]
[38] -1 0 0x00009000 - 0x00009007 (0x8) IX[B]
[39] -1 0 0x0000a000 - 0x0000a003 (0x4) IX[B]
[40] -1 0 0x0000b000 - 0x0000b007 (0x8) IX[B]
[41] -1 0 0x0000cc00 - 0x0000cc7f (0x80) IX[B](B)
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Server Extension
(II) NVIDIA GLX Module  180.29  Thu Feb  5 00:14:00 PST 2009
(II) Loading extension GLX
(II) LoadModule: "freetype"
(II) Loading /usr/lib/xorg/modules//fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
compiled for 1.3.0, module version = 2.1.0
Module class: X.Org Font Renderer
ABI class: X.Org Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.13.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension RECORD
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "nvidia"
(II) Loading /usr/lib/xorg/modules/drivers//nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Video Driver
(II) LoadModule: "kbd"
(II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.2.1
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 0.7
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.2.1
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 0.7
(II) NVIDIA dlloader X Driver  180.29  Wed Feb  4 23:50:44 PST 2009
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) NVIDIA X compatibility module for ABI 1.0 built from X11R7.1
(II) Primary Device is: PCI 01:00:0
(--) Chipset NVIDIA GPU found
(II) NVIDIA(0): Found 1 NVIDIA X Screens
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
compiled for 1.3.0, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "wfb"
(II) LoadModule: "wfb"
(II) Loading /usr/lib/xorg/modules//libwfb.so
(II) Module wfb: vendor="NVIDIA Corporation"
compiled for 7.1.99.2, module version = 1.0.0
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"(II) Module already built-in
(II) resource ranges after xf86ClaimFixedResources() call:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0xfbff8000 - 0xfbffbfff (0x4000) MX[B]
[5] -1 0 0xfbffd800 - 0xfbffdfff (0x800) MX[B]
[6] -1 0 0xfbffe000 - 0xfbffffff (0x2000) MX[B]
[7] -1 0 0xfbefe000 - 0xfbefffff (0x2000) MX[B]
[8] -1 0 0xf7ff4000 - 0xf7ff7fff (0x4000) MX[B]
[9] -1 0 0xfed00000 - 0xfed003ff (0x400) MX[B]
[10] -1 0 0xf7fff800 - 0xf7fff8ff (0x100) MX[B]
[11] -1 0 0xf7ffa000 - 0xf7ffafff (0x1000) MX[B]
[12] -1 0 0xf7ffb000 - 0xf7ffbfff (0x1000) MX[B]
[13] -1 0 0xf7ffc000 - 0xf7ffcfff (0x1000) MX[B]
[14] -1 0 0xf7ffd000 - 0xf7ffdfff (0x1000) MX[B]
[15] -1 0 0xf7ffe000 - 0xf7ffefff (0x1000) MX[B]
[16] -1 0 0xf7fffc00 - 0xf7ffffff (0x400) MX[B]
[17] -1 0 0xfbde0000 - 0xfbdfffff (0x20000) MX[B](B)
[18] -1 0 0xf8000000 - 0xf9ffffff (0x2000000) MX[B](B)
[19] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B](B)
[20] -1 0 0xfa000000 - 0xfaffffff (0x1000000) MX[B](B)
[21] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[22] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[23] -1 0 0x0000e800 - 0x0000e8ff (0x100) IX[B]
[24] -1 0 0x0000ec00 - 0x0000ec7f (0x80) IX[B]
[25] -1 0 0x0000d400 - 0x0000d40f (0x10) IX[B]
[26] -1 0 0x0000d480 - 0x0000d483 (0x4) IX[B]
[27] -1 0 0x0000d800 - 0x0000d807 (0x8) IX[B]
[28] -1 0 0x0000d880 - 0x0000d883 (0x4) IX[B]
[29] -1 0 0x0000dc00 - 0x0000dc07 (0x8) IX[B]
[30] -1 0 0x0000ff00 - 0x0000ff0f (0x10) IX[B]
[31] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[32] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[33] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[B]
[34] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[B]
[35] -1 0 0x00000b00 - 0x00000b0f (0x10) IX[B]
[36] -1 0 0x00007000 - 0x0000700f (0x10) IX[B]
[37] -1 0 0x00008000 - 0x00008003 (0x4) IX[B]
[38] -1 0 0x00009000 - 0x00009007 (0x8) IX[B]
[39] -1 0 0x0000a000 - 0x0000a003 (0x4) IX[B]
[40] -1 0 0x0000b000 - 0x0000b007 (0x8) IX[B]
[41] -1 0 0x0000cc00 - 0x0000cc7f (0x80) IX[B](B)
(II) resource ranges after probing:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0xfbff8000 - 0xfbffbfff (0x4000) MX[B]
[5] -1 0 0xfbffd800 - 0xfbffdfff (0x800) MX[B]
[6] -1 0 0xfbffe000 - 0xfbffffff (0x2000) MX[B]
[7] -1 0 0xfbefe000 - 0xfbefffff (0x2000) MX[B]
[8] -1 0 0xf7ff4000 - 0xf7ff7fff (0x4000) MX[B]
[9] -1 0 0xfed00000 - 0xfed003ff (0x400) MX[B]
[10] -1 0 0xf7fff800 - 0xf7fff8ff (0x100) MX[B]
[11] -1 0 0xf7ffa000 - 0xf7ffafff (0x1000) MX[B]
[12] -1 0 0xf7ffb000 - 0xf7ffbfff (0x1000) MX[B]
[13] -1 0 0xf7ffc000 - 0xf7ffcfff (0x1000) MX[B]
[14] -1 0 0xf7ffd000 - 0xf7ffdfff (0x1000) MX[B]
[15] -1 0 0xf7ffe000 - 0xf7ffefff (0x1000) MX[B]
[16] -1 0 0xf7fffc00 - 0xf7ffffff (0x400) MX[B]
[17] -1 0 0xfbde0000 - 0xfbdfffff (0x20000) MX[B](B)
[18] -1 0 0xf8000000 - 0xf9ffffff (0x2000000) MX[B](B)
[19] -1 0 0xd0000000 - 0xdfffffff (0x10000000) MX[B](B)
[20] -1 0 0xfa000000 - 0xfaffffff (0x1000000) MX[B](B)
[21] 0 0 0x000a0000 - 0x000affff (0x10000) MS[B]
[22] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[B]


« Last Edit: March 24, 2009, 10:55:18 pm by davegravy »

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #8 on: March 24, 2009, 11:39:47 pm »
No, I was thinking a lower resolution to see if that made any difference.

The xorg.conf files looks fine, the only thing I would say is that mine also includes the
        Option "Composite" "false"
option at the very bottom. Never really understood why, seems counterintuitive, but you can put it in and reboot if you want, just in case.

The log file was really only just getting going when it ran out! Use pastebin.com and paste the link here...

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #9 on: March 25, 2009, 04:24:43 am »
Thanks Colin,

First, I changed the resolution to 640x480 and the framerate without vsync increased to 692fps

Tearing was still visible in video playback with and without vsync at this res.

I got a strange error I'd never seen before when I executed nvidia-settings as root:

ERROR: The attribute 'ForceGenericCpu' specified on line 27 of configuration
       file '/root/.nvidia-settings-rc' cannot be assigned (it is a read-only
       attribute).

It went away and I haven't been able to reproduce it since.

Second, I changed back to to 1024x768 and changed the composite option to false in xorg.conf.

The result was that no media would playback from within the orbiter... no videos, no flikr photos, just black screen. The UI was present. I tried playing video from Kaffeine and a strange thing happened. Intermittantly, seemingly randomly, several times a second the hue would flash red.
There was also some distortion in KDE UI. It was very hard to tell through all the red flashing but it looked like the tearing might have dissappeared.

Here is the xorg.0.log with option "Composite" "false": http://pastebin.com/f23dc2582

Here is the xorg.0.log with option "Composite" "true": http://pastebin.com/f7ce22cd2

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #10 on: March 25, 2009, 05:56:09 am »
I'm at a bit of a loss as to what to suggest. There isn't really anything standing out in the log file as unusual and the xorg looks fine. But I still feel the fps is low ... perhaps someone else with an 8500 chip can tell us the ball-park this figure should be in when sync is disabled.

Have you tried any other screens? Also, perhaps you could try a different refresh rate... say 50Hz instead of 60Hz?

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #11 on: March 25, 2009, 06:24:02 am »
I'll try some more resolution/refresh rate settings.

Possibly irrelevant:

I loaded up windows XP on a spare drive and discovered the same tearing resulted using the Quicktime 7.6, but disappeared using VLC 0.9.8a. Even if Quicktime doesn't offload to the GPU shouldn't my CPU still be able to handle it? CPU usage during quicktime playback is well under 30% most of the time.

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Tearing experiences
« Reply #12 on: March 25, 2009, 09:11:01 am »
Generally, tearing isn't a performance (CPU or GPU) thing, its a timing thing. Even if the task is so hard (or hardware so bad) that it cannot draw an entire frame in 1/50 or 1/60 of a second, sync'ing just means that once the image has been drawn to the back buffer, it waits until it receives the vsync interupt before it flips the back to the front buffer ... ie displays the image. A flip takes "no time" at all, certainly the complexity of the image and the hardware have no part to play in the flip process, it is essentially instant. So if it takes more than a frame-time to draw, it will just mean it isn't updating the screen on every refresh and potentially cause jerkiness.... although this seems to be a bit of a black art, so there could be something I am not taking into account...

totallymaxed

  • LinuxMCE God
  • ****
  • Posts: 4660
  • Smart Home Consulting
    • View Profile
    • Dianemo - at home with technology
Re: Tearing experiences
« Reply #13 on: March 25, 2009, 09:23:47 am »
Generally, tearing isn't a performance (CPU or GPU) thing, its a timing thing. Even if the task is so hard (or hardware so bad) that it cannot draw an entire frame in 1/50 or 1/60 of a second, sync'ing just means that once the image has been drawn to the back buffer, it waits until it receives the vsync interupt before it flips the back to the front buffer ... ie displays the image. A flip takes "no time" at all, certainly the complexity of the image and the hardware have no part to play in the flip process, it is essentially instant. So if it takes more than a frame-time to draw, it will just mean it isn't updating the screen on every refresh and potentially cause jerkiness.... although this seems to be a bit of a black art, so there could be something I am not taking into account...

I agree 'tearing' is generally down to timing... when doing the alpha blended UI the GPU cant keep up. With Overlay its no problem. So it seems that unless their is a 'magic bullet' setting we dont know of...there is either a problem in the nVidia driver or there is a problem in our code somewhere...

Andrew
Andy Herron,
CHT Ltd

For Dianemo/LinuxMCE consulting advice;
@herron on Twitter, totallymaxed+inquiries@gmail.com via email or PM me here.

Get Dianemo-Rpi2 ARM Licenses http://forum.linuxmce.org/index.php?topic=14026.0

Get RaspSqueeze-CEC or Raspbmc-CEC for Dianemo/LinuxMCE: http://wp.me/P4KgIc-5P

Facebook: https://www.facebook.com/pages/Dianemo-Home-Automation/226019387454465

http://www.dianemo.co.uk

davegravy

  • Addicted
  • *
  • Posts: 551
    • View Profile
Re: Tearing experiences
« Reply #14 on: March 25, 2009, 02:43:38 pm »
I tried 70Hz refresh and decided to try it in combo with UI1, the tearing went away, even in Kaffeine.

I switched back to UI2 + alpha and the tearing returned in both the orbiter and Kaffeine.

Quote
when doing the alpha blended UI the GPU cant keep up. With Overlay its no problem.

I seem to recall testing UI2 + overlay after watching a youtube video that suggested it as a solution to the tearing problem. I recall that it didn't solve it for me. I will try it again incase my memory is failing me.

If I can be of any assistance please let me know.

Dave