Tearing is quite bad on the Nexus 7

Bug #1088372 reported by Daniel van Vugt
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Compiz
Invalid
Medium
Daniel van Vugt
ubuntu-nexus7
Confirmed
Undecided
Alex Chiang
nvidia-graphics-drivers-tegra3 (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Graphics tearing is quite bad on the Nexus 7. However most of time time it's difficult to notice because Ubuntu's slow to respond.

To reproduce: Just open a window and move it around. You will see tearing at the top and the bottom (since the screen is logically rotated 90 degrees).

Changed in ubuntu-nexus7:
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in compiz:
assignee: nobody → Daniel van Vugt (vanvugt)
status: New → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I can't believe no one seems to have logged this bug before now. May as well investigate the cause now I have compiz compiling natively on the Nexus.

Changed in compiz:
importance: Undecided → Medium
milestone: none → 0.9.9.0
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Verified compiz is doing everything right and the problem seems to be the nvidia driver. EGL is reporting:
    EGL_MIN_SWAP_INTERVAL = 0
    EGL_MAX_SWAP_INTERVAL = 1
and glSwapInterval(dpy, 1) is returning EGL_TRUE.

So compiz is doing everything it can. The Nvidia driver is claiming that it's doing vsync but visibly it is not.

Changed in compiz:
status: In Progress → Invalid
milestone: 0.9.9.0 → none
Changed in nvidia-graphics-drivers-tegra3 (Ubuntu):
importance: Undecided → Medium
description: updated
Alex Chiang (achiang)
tags: added: tegra3
Revision history for this message
Sean Feole (sfeole) wrote :

 I have been moving windows much slower than usual for the past 2 weeks on this device. Although the tearing is still noticeable it's easy to reproduce by simply giving any open window a quick swipe up and down. Reassigning this bug to Alex to see if we can get a quick response from Nvidia.

Changed in ubuntu-nexus7:
assignee: Daniel van Vugt (vanvugt) → Alex Chiang (achiang)
status: New → Confirmed
tags: added: mobile nexus7
removed: tegra3
Revision history for this message
Sean Feole (sfeole) wrote :

Daniel , do you notice the same issue while in Portrait mode? just issue ' xrotate' in a terminal window. Want to make sure it's not my eyes playing tricks on me.

Changed in nvidia-graphics-drivers-tegra3 (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Yes, I still get tearing in portait mode. It's less noticeable but you can see it when you:
  1. Unload plugin "unityshell" to make the UI more responsive.
  2. xrotate portait
  3. Open a nautilus window, make it narrow and move it left-right (along the axis of the physical scan lines).

Interestingly the tearing is less severe and only occurs near the bottom of the screen on portrait mode. That usually means the compositor is taking too long to render a frame, but it also means the driver is implementing SwapBuffers by a copy instead of page flipping. Fixing the driver to use page flipping is the preferred solution if possible.

Also, all of this is a bit difficult to test because the touch events become very erratic in portrait mode.

(Tested with raring)

Revision history for this message
Carsten Haitzler (raster-rasterman) wrote :

i get the exact same in e17 - it also asks for eglswapinterval of 1 and still get tearing (even in portrait). though a buffer swap wont magically always cure that as depending on gpu/gfx setup u can do buffer swaps part way through a scanout and you get tearing then without doing blits. i suspect its doing blits because its so abysmally slow. :) it should be faster i think... :)

could we also get dithering options/turned on. 18bpp banding is making my kitty cry. (yes - i know. file another bug!)

tags: added: raring
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.