Open Bug 827866 Opened 11 years ago Updated 2 years ago

Disable smooth scrolling on Linux

Categories

(Core :: Widget: Gtk, defect, P5)

x86_64
Linux
defect

Tracking

()

People

(Reporter: ehsan.akhgari, Unassigned)

Details

Smooth scrolling on Linux results in terrible tearing.  Perhaps we should not do that.  Chromium also disables smooth scrolling on Linux.
Which window manager are you seeing this with?  Tearing should only be visible when not using a compositing window manager or if the window manager/compositor is not syncing to vsync.  Even the tearing that I do see when disabling compositing doesn't seem so awful to me, but different people may perceive this differently.

The worst thing with smooth scrolling for me is the way it slows down at the end of the page and the pixel snapping becomes obvious.  Jumping from one pixel to the next seems to happen at different times in different parts of the page, as if we are scrolling in pixel-fractional increments.
(In reply to comment #1)
> Which window manager are you seeing this with?  Tearing should only be visible
> when not using a compositing window manager or if the window manager/compositor
> is not syncing to vsync.  Even the tearing that I do see when disabling
> compositing doesn't seem so awful to me, but different people may perceive this
> differently.

I'm using metacity.

> The worst thing with smooth scrolling for me is the way it slows down at the
> end of the page and the pixel snapping becomes obvious.  Jumping from one pixel
> to the next seems to happen at different times in different parts of the page,
> as if we are scrolling in pixel-fractional increments.

That sounds to me like a description of tearing.  ;-)
The issue I'm seeing is what is described in bug 756400, bug 767710, and bug 810274.

Ubuntu uses metacity when disabling window manager compositing.
(metacity can do compositing, but I don't think that is the default.)

We could disable smooth scrolling when the window manager is not compositing, but IMO tearing from not waiting for vsync is minor compared to bugs like bug 756400.
Gnome Shell seems to have some trouble using vsync, at least with some NVIDIA drivers.
CLUTTER_PAINT=disable-clipped-redraws:disable-culling in the environment works around that.
Disabling smooth scrolling doesn't seem to help when scrolling with the scrollbar thumb.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.