Announcement

Collapse
No announcement yet.

Screen tearing with NVidia driver

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Screen tearing with NVidia driver

    I have a GTX 670 and have always had issues with tearing under Linux, both with video playback and desktop effects. In the past, I could work around the issue by disabling compositing and using the VDPAU plugin of whatever video player I was using. With Kubuntu 15.04 and/or KDE 5 this no longer appears to work. I've temporarily "solved" the problem by installing an old Radeon 5750 and using the Catalyst feature "Tear Free Desktop", which works great. However, performance is way below what a GTX 670 can do. So is there any way to fix the tearing issue with KDE 5?

    #2
    Tearing under any OS is almost always because the card is outputting 100 FPS and the screen is doing 60Hz. FPS is limited by Hz so either enable vsync or get a faster display. I bet if you plug into a (true, not doubled) 120Hz HDMI monitor the problem goes away.

    Comment


      #3
      Originally posted by InsideJob View Post
      Tearing under any OS is almost always because the card is outputting 100 FPS and the screen is doing 60Hz. FPS is limited by Hz so either enable vsync or get a faster display. I bet if you plug into a (true, not doubled) 120Hz HDMI monitor the problem goes away.
      Sorry but investing in a new $300+ monitor is not an option at present. I've looked in the NVidia settings for V-Sync, and the closest thing I can find is "Sync to V-Blank". Is that the same thing as v-sync? If so, it's already enabled.

      On the same topic, why does my ancient Radeon 5750 have absolutely no problems displaying video w/o tearing and the nvidia does? I've always had problems with nvidia cards tearing, all the way back to my 5600 Ultra.

      Comment


        #4
        Well, for 2D stuff there's a vsync setting in KDE's "system settings" somewhere. Mine was turned on and set to "automatic". I guess some drivers are more automatic than others. I don't have an nVidia card handy but "tear free desktop" sounds like the same thing. For 3D games it's different though... you can sometimes configure OpenGL setting in the game itself.

        Comment


          #5
          There is a vsync setting in the Compositor, um, "Control Panel". However, the various options don't seem to help. "Full-screen repaint" is supposed to take care of the problem, but even with it set I still see screen tearing.

          Comment


            #6
            Probably a driver glitch, seems the newer your hardware the more likely that is nowadays. I'd try getting getting help on an nVidia forum. Hopefully you won't have to wait until the hardware is obsolete to get it working under Linux. I hate it when that happens.

            Comment


              #7
              Originally posted by InsideJob View Post
              Probably a driver glitch, seems the newer your hardware the more likely that is nowadays.
              That's why keeping one's kernel up to date is very important.

              See this example:http://thread.gmane.org/gmane.linux.acpi.devel/74165. It provides some insight into the challenges posed by kernel developers trying to keep pace with hardware changes and how hardware manufacturers sometimes intentionally force machines to behave differently under Linux.

              Comment


                #8
                I currently have a GTX 780 which replaced a pair of 8800 GTs (ran one or both over the years). I've been through four different monitor combos - from dual Dells (1905+1901), single and dual Samsung S24C200s, and now a Dell U2414H with a single Samsung S24C200. This chain goes back to summer 2008. I've done tons of fiddling with xorg.conf, overclocked my video cards, just about everything you can imagine. I even used an older 7100 card in there for a bit to enable a third monitor. Never once seen screen tearing., not once. I've never had to disable compositing.

                Point being: I doubt Kubuntu, KDE or Plasma 5 is to blame. Some web searching reveals YEARS (seriously) of complaints about the GTX 670 and tearing with linux. I doubt nVidia is going to fix this ever, since they haven't bothered to do so when the complaints started in 2013.

                The way I see it, you only have two choices:
                1. Buy a new video card (checking first on it's Linux performance).
                2. Roll up your sleeves and start digging into the issue and trying real solutions. Nvidia-settings and xorg.conf literally have dozens if not hundreds of options to start playing with. Lose the nifty GUI interface and start learning how to make changes using the command line, start reading every thread you can find about causes/solutions for this issue (I did see some some solutions taht worked for some people).

                Once you get it solved (if you ever do), freeze your driver version and make backups of your configs.

                You might start by installing nouveau or older nvidia drivers or going over to xorg-edgers and seeing what cutting-edge stuff they have. I don't know enough about it to say for sure, but maybe even leaving xorg behind and switching to Wayland might solve it too. The only distro that I'm aware of that runs Wayland is Rebecca Black and QT isn't fully implemented so you might not be able to switch yet. However, you might be able to test it out.

                Please Read Me

                Comment


                  #9
                  While testing after a 14.04 to 14.10 upgrade I discovered an easy way to verify whether vsync is enabled:
                  Code:
                  ~$ glxgears
                  Running synchronized to the vertical refresh.  The framerate should be
                  approximately the same as the monitor refresh rate.
                  305 frames in 5.0 seconds = 60.873 FPS
                  302 frames in 5.0 seconds = 60.300 FPS
                  If you get a few hundred FPS your problem is clearly tearing. If your running vsync and you're getting blocky glitches, it's probably the driver. And if it happens under Windows too I'd worry about bad RAM on the video card itself. Those things are pretty bleeding edge. Yours probably cost more than my new Acer laptop.

                  Comment


                    #10
                    Checking vsync with glxgears is a good idea.

                    FYI, if you want a performance check, try gtkperf.

                    Please Read Me

                    Comment


                      #11
                      I solved this problem by adding
                      Code:
                      export KWIN_TRIPLE_BUFFER=1
                      to a "Tearing.sh" script in /etc/profile.d. However, another problem cropped up where the PC wouldn't boot at all. I had to add "nomodeset" to the kernel boot options in GRUB to get to the desktop. Then my fonts wigged out and became so tiny as to be unreadable. So for now, I've thrown in the towel on the GTX 670. I'm tired of fighting it. I do still have the 5750/fglrx install on another hard drive, but I'm hardly using it. I've switched my Kubuntu efforts to my laptop (Dell Precision M6600 w/ Firepro M6100). I'm still running into bugs with the fglrx driver, but they're less intractable than the issues I've been having with my GTX 670. Tear free desktop does work, but I'm getting crashes in various apps at bootup and logoff, but that's a topic for a different thread. I just wish it was as stable as the 5750...

                      Comment


                        #12
                        Good catch. I still use an xorg.conf and have triple buffer enabled in there. Too bad about the other part. Seriously, you have a flawed card there. You want my two 8800GTs? They're sitting in a box.

                        Please Read Me

                        Comment


                          #13
                          Originally posted by oshunluvr View Post
                          Good catch. I still use an xorg.conf and have triple buffer enabled in there. Too bad about the other part. Seriously, you have a flawed card there. You want my two 8800GTs? They're sitting in a box.
                          I still have my 8800GT. Sadly, it doesn't like doing 3D any more. I don't know that the 670 is flawed. It performs very well under OS X and Windows. The problem seems to be a subpar driver. Does Nouveau offer a better experience? Is 3D acceleration anywhere close to what the proprietary driver can do?

                          Comment


                            #14
                            Well, researching your issues I came across several threads about the GTX 670 and linux problems including people complaining that nvidia wouldn't own up to it or fix it. I'd look for the most compatible driver version you can find and fine-tune your xorg.conf and be happy. IMO, that's about a good as you can get. AFAIK the nouveau driver doesn't do 3D if that's what you're after. Good luck.

                            Please Read Me

                            Comment


                              #15
                              Well I fixed the font issue by adding
                              Code:
                              Option "DPI" "96 x 96"
                              to the Monitor section of xorg.conf. I'll drive this for a while and see if anything else blows up.

                              Comment

                              Working...
                              X