Announcement

Collapse
No announcement yet.

Intel Linux Driver Still Working To Address Tearing

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by ChrisXY View Post
    I have a 3632qm.


    I have tearing, especially on flash video with kwin xrender compositing.


    Now that kwin has fixed the "MSAA bug" I can use opengl compositing again. It seems intel's driver bug where the gpu hangs isn't triggered anymore either. But instead now the graphical output freezes completely when putting a flash video on fullscreen with opengl compositing. with gles compositing it works but there are massive redraw issues. I still have screen corruption issues with tooltips or when I open the menus of chrome extensions.


    Probably not all the issues I have are intel issues. But they are all issues I have since I use intel and that I didn't have when using radeon on a HD 6550M. Maybe intel just doesn't try to keep git master stable...
    I haven't yet tried kwin on my ivybridge machine (an intel i5-3210m), but on my ironlake machine (i5-460m) I had no issues with tearing, flash, or any kind of corruption. I've only used compiz on ivybridge which seems to work with zero issues, I can watch flash videos fullscreen with no problems, and I can watch videos in vlc using vaapi with no issues.

    From what I can see the gles issue is a mesa bug that only cropped up with a recent update and was working before, so perhaps it will be fixed quickly:
    https://bugs.archlinux.org/task/31956
    Last edited by bwat47; 11-01-2012, 10:00 AM.

    Comment


    • #17
      Originally posted by bwat47 View Post
      I don't like the idea of losing power savings
      Me too. I think I'll stay with 3.7 unless this new feature can be disabled.

      Comment


      • #18
        What about tearing on older Intel graphics?! Like the GM45 / 4500MHD. It started a year ago and is still present. On gnome shell the best results I get are with: environment
        CLUTTER_PAINT=disable-clipped-redraws:disable-culling
        CLUTTER_VBLANK=True
        20-intel.conf
        Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        # Option "TearFree" "true"
        # Option "SwapbuffersWait" "true"
        Option "AccelMethod" "sna"
        EndSection
        But the desktop is laggy then. Is there anything more I could do?

        Comment


        • #19
          Originally posted by ickle View Post
          You will get tearing if any of the following are true:

          1. Not using a compositor or the application (for Xv, DRI apps) itself requests tearing.
          2. Not using SNA
          3. Not using a kernel >= 3.8
          4. vsync disabled through xorg.conf
          Originally posted by ickle View Post
          Originally posted by enteon View Post
          Will it eliminate tearing for multi-monitor setups, too?

          Because right now I get almost tear-free playback on my main monitor (DVI) via kwin vsync (except for a bug in 4.9) but lots of tearing on the second (HDMI).
          No. The way to achieve that is to use pageflipping. Otherwise you will need to process a synchronized update on one pipe, then a synchronized updated on the second pipe, which is very likely miss the vblank every time and so lead to stuttering. Unlike pageflipping which is asynchronous and saves power. (The latter being a major issue on more recent chipsets.)
          What is the required combination of kernel/desktop/compositor/appconfig to eliminate tearing on a multiple monitor setup? Can it be done? Is there any page flipping compositor that properly supports multiple monitors?

          I have "TearFree" enabled in the Intel driver, and I still see tearing when dragging windows around in both Gnome and XFCE (with XFWM/Compton). My main complaint is that tearing is very noticeable when scrolling a page up and down in Firefox/Iceweasel. I do not get the message "Kernel page flipping support detected, enabling" in Xorg log, is that still relevant? I am using Debian Testing, SNA and TearFree are enabled in xorg.conf, Ivybridge i5 laptop HD4000 graphics with triple external DVI monitors connected via passive 1x HDMI>DVI and 2x DP>DVI cables.

          Originally posted by droste View Post
          I don't think so. My workaround is to switch the primary display via xrandr to the display I'm actually using. So when I work or browse the internet I use 'xrandr --output DVI-0 --primary' to get no tearing with the DVI monitor and when I watch movies/videos I use 'xrandr --output HDMI-0 --primary' to get tearfree video output.
          This does not seem to make any difference.
          Last edited by chrisb; 05-19-2014, 12:56 PM.

          Comment


          • #20
            Originally posted by chrisb View Post
            What is the required combination of kernel/desktop/compositor/appconfig to eliminate tearing on a multiple monitor setup? Can it be done? Is there any page flipping compositor that properly supports multiple monitors?

            I have "TearFree" enabled in the Intel driver, and I still see tearing when dragging windows around in both Gnome and XFCE (with XFWM/Compton). My main complaint is that tearing is very noticeable when scrolling a page up and down in Firefox/Iceweasel. I do not get the message "Kernel page flipping support detected, enabling" in Xorg log, is that still relevant? I am using Debian Testing, SNA and TearFree are enabled in xorg.conf, Ivybridge i5 laptop HD4000 graphics with triple external DVI monitors connected via passive 1x HDMI>DVI and 2x DP>DVI cables.



            This does not seem to make any difference.
            TearFree works correctly with multiple monitors, rotated, transformed, cloned or just extended. As always, you need to be using recent drivers to avoid bugs, and in particular you should be using at least 2.99.908, and I have been working on optimising TearFree itself just last week (by reducing the required copies for tracking damage). debian testing is not tracking the relevant bug fixes for SNA / TearFree.

            Comment


            • #21
              Hm, old thread.

              I actually have tearfree disabled, but use kwin's "fullscreen repaint" vsync with opengl compositing with one laptop display and one DVI/HDMI display and I don't see any tearing with this setup at all.

              But it's still not really stable, I have been getting random hangs for months.

              Code:
              [drm] stuck on render ring
              [drm] GPU HANG: ecode 0:0xf5f7fffe, in kwin [26522], reason: Ring hung, action: reset
              [drm] Enabling RC6 states: RC6 on, RC6p on, RC6pp off
              But mostly it recovers fine after a few seconds. Only sometimes it's hanging the chromium gpu process and I have to restart chromium...

              Comment


              • #22
                Originally posted by ickle View Post
                TearFree works correctly with multiple monitors, rotated, transformed, cloned or just extended. As always, you need to be using recent drivers to avoid bugs, and in particular you should be using at least 2.99.908, and I have been working on optimising TearFree itself just last week (by reducing the required copies for tracking damage). debian testing is not tracking the relevant bug fixes for SNA / TearFree.
                Thanks, I didn't realise that Debian was so far behind. Good to know that it works. I tried Ubuntu and Firefox seems much better.

                Suppose the user has a modern distribution (recent kernel+Intel drivers), and does not set TearFree, do you know which compositors (if any) will still do multi-monitor without tearing on an Intel GPU? I often see people recommending Compton with some particular vsync option, and it looks like xfwm4 git now has a wait_vblank() function which does
                Code:
                 ioctl (screen_info->dri_fd, DRM_IOCTL_WAIT_VBLANK, &vblank);
                And I have also seen people recommending environment variables like
                Code:
                __GL_YIELD="USLEEP"
                Does any of this work? Or perhaps work but synced to only one monitor? Is Unity/Gnome Shell/Kwin now tear free even without the TearFree option (since afaik they all have OpenGL compositors)?

                I do not mind using TearFree since I do not do any intensive graphics work, but I am curious what the current state of play is - the list ("1. Not using a compositor or the application (for Xv, DRI apps) itself requests tearing.2. Not using SNA 3. Not using a kernel >= 3.8 4. vsync disabled through xorg.conf") suggests that most people now should be tear free by default as long as they use Gnome, Unity, or KDE? Are there still any important apps that default to request tearing?

                Comment


                • #23
                  Originally posted by chrisb View Post
                  What is the required combination of kernel/desktop/compositor/appconfig to eliminate tearing on a multiple monitor setup? Can it be done? Is there any page flipping compositor that properly supports multiple monitors?

                  I have "TearFree" enabled in the Intel driver, and I still see tearing when dragging windows around in both Gnome and XFCE (with XFWM/Compton). My main complaint is that tearing is very noticeable when scrolling a page up and down in Firefox/Iceweasel. I do not get the message "Kernel page flipping support detected, enabling" in Xorg log, is that still relevant? I am using Debian Testing, SNA and TearFree are enabled in xorg.conf, Ivybridge i5 laptop HD4000 graphics with triple external DVI monitors connected via passive 1x HDMI>DVI and 2x DP>DVI cables.



                  This does not seem to make any difference.
                  Probably just an issue with your compton settings, its been a while since I used compton, but I recall you could set it up to use opengl + full page-flipping for total tear-free on intel. I'll see if I can dig up the settings I used to use.

                  Comment


                  • #24
                    Originally posted by chrisb View Post

                    I have "TearFree" enabled in the Intel driver, and I still see tearing when dragging windows around in both Gnome and XFCE (with XFWM/Compton).



                    ugh, I love phoronix's ridiculous 5 minute edit limit, anyway this in your compton config file should give totally tear-free output on intel, using full opengl page-flipping:

                    backend = "glx";
                    paint-on-overlay = true;
                    glx-no-stencil = true;
                    glx-no-rebind-pixmap = true;
                    vsync = "opengl-swc";
                    the bolded ones are the most important. first one enables opengl backend for compton, other one tells it to use the page-flipping vsync method.

                    I had written a bit of a guide on this a while back: http://ubuntuforums.org/showthread.php?t=2144468
                    Last edited by bwat47; 05-26-2014, 06:55 PM.

                    Comment


                    • #25
                      Originally posted by bwat47 View Post
                      ugh, I love phoronix's ridiculous 5 minute edit limit, anyway this in your compton config file should give totally tear-free output on intel, using full opengl page-flipping:



                      the bolded ones are the most important. first one enables opengl backend for compton, other one tells it to use the page-flipping vsync method.

                      I had written a bit of a guide on this a while back: http://ubuntuforums.org/showthread.php?t=2144468
                      I had those options already (are they the defaults?). I just tested again and I still get tearing on all three monitors (Iceweasel on XFCE / Debian Testing). I wish Debian wasn't so far behind with their Intel drivers.

                      Comment

                      Working...
                      X