Page 1 of 3 123 LastLast
Results 1 to 10 of 26

Thread: NVIDIA, VDPAU, tearing and an XBMC solution?

  1. #1
    Join Date
    Apr 2008
    Location
    hong kong
    Beans
    219
    Distro
    Ubuntu 9.10 Karmic Koala

    Question NVIDIA, VDPAU, tearing and an XBMC solution?

    Hi all,

    I've been following and posting to various forums here, at nvidia, at compiz about the fact that on many nvidia systems video tears when shown with vdpau and with compiz (and thus composite) turned on. I know this is certainly true on my Atom + ION system. There are various posts about how to fix it by setting various things on Compiz, but the only one that I know reliably works on all Nvidia systems with VDPAU is turn composite completely off for the X session.

    I've figured out a workaround that I use that launches a separate X session with composite switched off to watch videos - but it's clunky. That way though I can eye candy in my gnome session.

    Yesterday I installed XBMC on my machine (as a normal program to run within my Gnome session), and discovered something wonderful. Somehow, the inbuilt DVDPlayer within XBMC is able to play back videos with VDPAU enabled, and without any tearing. I was gobsmacked.

    What's going on? This indicates that it's clearly not a problem with X, with composite or with nvidia. So what is the problem, and why can't they fix it in mplayer or xine? What is XBMC's secret sauce for getting this working in XBMC? And is this final confirmation that the problem is with compiz (is it turned off in some way within XBMC?)

  2. #2
    beew is offline I Ubuntu, Therefore, I Am
    Join Date
    Jun 2010
    Beans
    2,783

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    I use vdpau with Smplayer and XBMC with full Compoiz on my laptop. There used to be a bit of tearing with Smplaye, but I opened Compiz Settings Manager (You need to install it from the repo) , went to General Options > General and checked the box "Undirected Fullscreen Window" and the problem disappeared and video playback is really smooth.

    As an aside, I notice that XBMC is actually not very good without vdpau. On my other machines (without Nvidia card) it performs very poorly comparing to both VLC and SMplayer. It struggles to play clips that the other players playback with ease and sometimes audio and video don't sync. But then it may be just my hardware.

    BTW, I install Smplayer and mplayer from this ppa
    https://launchpad.net/~ripps818/+archive/coreavc


    It is a multithreaded version of mplayer, works great with vdpau and also great without vdpau. I didn't bother with coreavc, don't have to install dshowserver if you don't want or need coreavc.
    Last edited by beew; February 11th, 2011 at 06:33 PM.

  3. #3
    Join Date
    Feb 2011
    Beans
    173
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Quote Originally Posted by rossmoore View Post
    What's going on? This indicates that it's clearly not a problem with X, with composite or with nvidia. So what is the problem, and why can't they fix it in mplayer or xine? What is XBMC's secret sauce for getting this working in XBMC? And is this final confirmation that the problem is with compiz (is it turned off in some way within XBMC?)
    Is this when playing a video in XBMC in full-screen mode? Is there any tearing when playing in windowed mode?

  4. #4
    Join Date
    Oct 2008
    Beans
    116
    Distro
    Xubuntu 12.04 Precise Pangolin

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Go to;

    System -> Preferences -> CompizConfig Settings Manager -> General Options -> Display Settings

    Texture Filter - Fast
    Lighting - Checked
    Detect Refresh Rate - Unchecked
    Refresh Rate - SEE BELOW
    Detect Outputs - UnChecked
    Overlapping Output Handling - Smart
    Outputs - SEE BELOW
    Sync to VBlank - Checked

    Your Refresh Rate and Outputs HAS TO be the same freq as your monitor.

    E.g, I am 60hz and 1280x800 thus;

    Refresh Rate - 60
    Outputs - 1280x800+0+0

    The best thing about this, it ONLY works if you have;

    System -> Preferences -> Appereances -> Visual Effects

    Select ANY setting except none.

    This overwrites whatever you have set in NVIDIA X Server Settings.

    I use this on my laptop with an NVidia 8400GS card and on a Revo 3700 (with NVIDIA ION) through SMPlayer and XBMC.

    You can have choppy free and 'break line' free playback AND visual effects on!
    Last edited by buster2209; February 12th, 2011 at 05:57 AM.

  5. #5
    Join Date
    Jan 2008
    Location
    London, UK
    Beans
    474
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Quote Originally Posted by buster2209 View Post
    Go to;

    System -> Preferences -> CompizConfig Settings Manager -> General Options -> Display Settings

    Texture Filter - Fast
    Lighting - Checked
    Detect Refresh Rate - Unchecked
    Refresh Rate - SEE BELOW
    Detect Outputs - UnChecked
    Overlapping Output Handling - Smart
    Outputs - SEE BELOW
    Sync to VBlank - Checked

    Your Refresh Rate and Outputs HAS TO be the same freq as your monitor.

    E.g, I am 60hz and 1280x800 thus;

    Refresh Rate - 60
    Outputs - 1280x800+0+0

    The best thing about this, it ONLY works if you have;

    System -> Preferences -> Appereances -> Visual Effects

    Select ANY setting except none.

    This overwrites whatever you have set in NVIDIA X Server Settings.

    I use this on my laptop with an NVidia 8400GS card and on a Revo 3700 (with NVIDIA ION) through SMPlayer and XBMC.

    You can have choppy free and 'break line' free playback AND visual effects on!
    Tear free video!!!

    This needs to be confirmed by more people and stickied or put on a gold plaque

  6. #6
    Join Date
    Feb 2011
    Beans
    173
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    If you're using nvidia's twinview option you might need a little more love to get compiz to understand which display to sync to vblank.

    Setting these OpenGL environment variables in my .xsession and .gnomerc to be executed before compiz started showed a massive improvement for me.

    export __GL_SYNC_TO_VBLANK=1
    export __GL_SYNC_DISPLAY_DEVICE=DFP-0

    (where DFP-0 is the name of the display device to sync)

  7. #7
    Join Date
    Oct 2008
    Beans
    116
    Distro
    Xubuntu 12.04 Precise Pangolin

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Quote Originally Posted by b0b138 View Post
    Tear free video!!!

    This needs to be confirmed by more people and stickied or put on a gold plaque
    I concur. I thought this only worked on my laptop but I just recently purchased a Revo 3700 (with an NVIDIA Ion card) and the fix works on that too.

    If it indeed works on other machines, maybe the 'tearing with NVidia card' problem can be finally laid to rest.

    I know have personally wasted hours upon hours trying to solve this particular problem.....

  8. #8
    Join Date
    Apr 2008
    Location
    hong kong
    Beans
    219
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Using mplayer or VLC with VDPAU and all those settings from buster2209 in compiz, I still get tearing in that area at the top of my screen on my ION Zotac board. Perhaps it's a bug in that - perhaps it just can't move data about fast enough for some reason.

    No gold star and sticky from me, I'm afraid! Only thing that works for me is Boxee, or switching off composite. Maybe I'm alone in this battle, time for some new hardware.

  9. #9
    Join Date
    Oct 2008
    Beans
    116
    Distro
    Xubuntu 12.04 Precise Pangolin

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    Quote Originally Posted by rossmoore View Post
    Using mplayer or VLC with VDPAU and all those settings from buster2209 in compiz, I still get tearing in that area at the top of my screen on my ION Zotac board. Perhaps it's a bug in that - perhaps it just can't move data about fast enough for some reason.

    No gold star and sticky from me, I'm afraid! Only thing that works for me is Boxee, or switching off composite. Maybe I'm alone in this battle, time for some new hardware.
    Did you enable visual effects?

    Also, ensure you have the right 'output' and freq. They have to be EXACT otherwise you will get tearing.

    BTW, how did you enable VDPAU in VLC?
    Last edited by buster2209; February 14th, 2011 at 02:00 AM.

  10. #10
    Join Date
    Apr 2008
    Location
    hong kong
    Beans
    219
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: NVIDIA, VDPAU, tearing and an XBMC solution?

    I did enable visual effects, yes. Still tearing, full screen or in a window. It's minor, I'll grant you, but it's still there. My frequency is, of course not quite exact - the screen reports a fractional refresh frequency, while in compiz you can only specify an integer...

    You can enable vdpau in vlc by installing the vdpau-va-driver - it's some kind of interface between vdpau and vaapi. With that installed, there are two hardware/GPU acceleration settings in the simple preferences dialogue of VLC - one in Video and one in Codecs. It certainly works, I can work 1080p on my box with minimal cpu usage (in vlc, mplayer or xbmc).

    And I haven't tried boxee, sorry, I mistyped. It was xbmc (although of course they're based on the same code).

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •