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

Newegg Daily Deals

Reply
 
Thread Tools
Old 08-01-10, 06:18 AM   #1
ciobi
Registered User
 
Join Date: Aug 2010
Posts: 3
Default Incorrect or no vsync on GT240

Hello,

I use openSUSE 11.2. I have an HDMI-connected TV (Sony KDL-46X4500) and a DVI-connected monitor (Dell U2711). Playing movies on either of them doesn't work very well. The issue is I can't get vsync to work correctly on the TV, while on the monitor it only works with 195.36.15 if playing with SMPlayer with the "gl2" output driver. What happens is that either the vsync doesn't work at all, or it's timed incorrectly, so the video is torn somewhere around 100 pixels from the top of the screen. The position of the tear usually varies from one frame to the next, but it remains around that place.


Here are my results with various output drivers in SMPlayer:

256.35, monitor:
no vsync: x11 (slow)
incorrect vsync: vdpau, xv*, gl2
correct vsync: <none>
black screen, garbage or crash: xover, gl*, dga, sdl, fbdev*, v4l2, zr*, bl, directfb, dfbmga, xvidx, cvidx, xvmc, mpegpes, yuvmpeg,

256.35, TV:
no vsync: vdpau, gl2
incorrect vsync: xv*, x11 (slow)
correct vsync: <none>
black screen, garbage or crash: xover, gl*, dga, sdl, fbdev*, v4l2, zr*, bl, directfb, dfbmga, xvidx, cvidx, xvmc, mpegpes, yuvmpeg


195.36.15, monitor:
no vsync: x11 (slow)
incorrect vsync: vdpau, xv*
correct vsync: gl2
black screen, garbage or crash: xover, gl*, dga, sdl, fbdev*, v4l2, zr*, bl, directfb, dfbmga, xvidx, cvidx, xvmc, mpegpes, yuvmpeg

195.36.15, TV:
no vsync: vdpau, gl2
incorrect vsync: xv*, x11 (slow)
correct vsync: <none>
black screen, garbage or crash: xover, gl*, dga, sdl, fbdev*, v4l2, zr*, bl, directfb, dfbmga, xvidx, cvidx, xvmc, mpegpes, yuvmpeg


Other notes:

When replacing my card with a GTX260 or GT8800 it worked fine without any change in settings (well, I couldn't connect the 8800 to the TV, due to lack of cables/adapters, but it was fine on the monitor). When putting my card in another computer that was working fine before, videos were torn as they were in my computer.

All the drivers prior to 256.35 have an issue when playing movies: occasional (usually) blue "flashes". 256.35 seems fine in this respect, though.

This is also an issue in Windows. The only way to get the vsync to work from SMPlayer was with driver 196.21 using the "directx" output driver. The support thread for that is http://nvidia.custhelp.com/cgi-bin/n...&p_cv=&p_srch=
Attached Files
File Type: gz nvidia-bug-report.log.gz (104.7 KB, 79 views)
ciobi is offline   Reply With Quote
Old 08-02-10, 10:00 AM   #2
mavit.org.uk
Registered User
 
Join Date: Aug 2010
Posts: 5
Default Re: Incorrect or no vsync on GT240

I see similar tearing around 3.5cm from the top of the screen on my GT240 connected to a Dell U2410 monitor under Fedora 13.

The tearing is easiest to observe with glxgears, but most annoying when watching video.

I didn't observe the problem under Windows using VLC with the default settings.

I'd be interested to hear if you find a solution.
mavit.org.uk is offline   Reply With Quote
Old 08-02-10, 10:11 AM   #3
Stephen Warren
Moderator
 
Stephen Warren's Avatar
 
Join Date: Aug 2005
Posts: 1,327
Default Re: Incorrect or no vsync on GT240

For VDPAU, to guarantee tear-free presentation on all monitors at once, you need to make sure that VDPAU is using the overlay-based presentation queue and not the blit-based presentation queue. See the Appendix H (VDPAU) in the README for details on when each is used. When in blit mode, if using TwinView, sync-to-vblank can only work on one monitor at a time. You can set an environment variable to select which. Again, this is described in more detail in the README.
Stephen Warren is offline   Reply With Quote
Old 08-02-10, 10:44 AM   #4
mavit.org.uk
Registered User
 
Join Date: Aug 2010
Posts: 5
Default Re: Incorrect or no vsync on GT240

Quote:
Originally Posted by Stephen Warren View Post
For VDPAU, to guarantee tear-free presentation on all monitors at once, you need to make sure that VDPAU is using the overlay-based presentation queue and not the blit-based presentation queue. See the Appendix H (VDPAU) in the README for details on when each is used. When in blit mode, if using TwinView, sync-to-vblank can only work on one monitor at a time. You can set an environment variable to select which. Again, this is describe in more detail in the README.
Hmm, yes, if I both select VDPAU in MPlayer and disable the composite extension in xorg.conf, I find that the tearing goes away.

TwinView would appear to be a red herring, here, since I have only one monitor connected. Is it possible that sync-to-vblank could be syncing to the correct frequency for my monitor but the wrong phase?
mavit.org.uk is offline   Reply With Quote
Old 08-02-10, 02:52 PM   #5
ciobi
Registered User
 
Join Date: Aug 2010
Posts: 3
Default Re: Incorrect or no vsync on GT240

Quote:
Originally Posted by Stephen Warren View Post
For VDPAU, to guarantee tear-free presentation on all monitors at once, you need to make sure that VDPAU is using the overlay-based presentation queue and not the blit-based presentation queue. See the Appendix H (VDPAU) in the README for details on when each is used. When in blit mode, if using TwinView, sync-to-vblank can only work on one monitor at a time. You can set an environment variable to select which. Again, this is describe in more detail in the README.
Thanks, Stephen

I don't care about "all monitors at once". Getting the TV to work as the secondary monitor is good enough for me. Also, Appendix H is not really meant for end users. Shouldn't there be something more user-friendly somewhere?

Well, I switched SMPlayer to use VDPAU and ran "nvidia-xconfig --no-composite", and now the tear seems to be gone, and there is also correct syncing on all monitors. I'm not sure what are the implications of disabling the composite, though.

Another option could be to switch to "gl2", but I don't know if that is possible. It looks like OpenGL's "Sync to VBlank" only cares about the primary monitor, while my TV has to be secondary. The monitor has no tear with "gl2". So, is it possible to sync OpenGL to the secondary monitor?

Then there's the thing that the card doesn't work well in Windows either, or that putting the card in other computers that were fine before results in tearing, while putting other cards in my computer makes the tearing disappear (without disabling Composite). To me this strongly suggest that there's a driver, or perhaps hardware, issue. I'm glad that VDPAU works, but why don't the other modes work as well with this particular card?
ciobi is offline   Reply With Quote
Old 08-02-10, 03:12 PM   #6
hl_
Registered User
 
Join Date: Feb 2009
Posts: 138
Default Re: Incorrect or no vsync on GT240

Quote:
Originally Posted by ciobi View Post
Another option could be to switch to "gl2", but I don't know if that is possible. It looks like OpenGL's "Sync to VBlank" only cares about the primary monitor, while my TV has to be secondary. The monitor has no tear with "gl2". So, is it possible to sync OpenGL to the secondary monitor?
It is possible to select which output OpenGL should sync to, check the documentation.
By the way, the "gl" output should work fine on your GPU. If something really bad (image corruption or crash) happens, it is likely that you have a hardware problem.
"gl" is also a much better and more capable driver than "gl2", despite the name.

Anyway, xv should also avoid tearing if no compositing manager is running. Something must be seriously broken.
hl_ is offline   Reply With Quote
Old 08-03-10, 12:54 PM   #7
ciobi
Registered User
 
Join Date: Aug 2010
Posts: 3
Default Re: Incorrect or no vsync on GT240

Quote:
Originally Posted by hl_ View Post
It is possible to select which output OpenGL should sync to, check the documentation.
OK, for gl2 on TV I need to set __GL_SYNC_DISPLAY_DEVICE . Unfortunately this results in the tear I was complaining about, although there's no tear on the monitor. Well ...

Quote:
Originally Posted by hl_ View Post
By the way, the "gl" output should work fine on your GPU. If something really bad (image corruption or crash) happens, it is likely that you have a hardware problem.
"gl" is also a much better and more capable driver than "gl2", despite the name.
Do you have some links to additional info that supports this? I suspect that there's something wrong with my particular card, but it's hard to get it exchanged, since it sort of works. OTOH if that's how a GT240 is supposed to work, there's no point in exchange it. At any rate, I have 4 Linuxes installed, with several driver and mplayer versions and trying to use "gl" on any of them invariably leads to crashes.

Quote:
Originally Posted by hl_ View Post
Anyway, xv should also avoid tearing if no compositing manager is running. Something must be seriously broken.
Yes, after disabling the compositing manager xv doesn't show the tear, but for some reason the playback isn't smooth. Good thing VDPAU works.
ciobi 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 04:48 PM.


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