As described in the title, it occurs when scrolling up and down on a web page, it occurs when watching videos. You can go on youtube and do the screen tearing test and it easily shows up on the test. In general, it is bad in linux, but relatively under control on Manjaro, but it seems to be the worse on elementary OS, at least for me. I do have an nvidia card. I have tried the force full composite pipeline; but that still didn't fix it.
-
I have noticed that the issue happens less in Firefox than Chrome. The video screen tearing is nearly non-existent now on firefox; the scrolling is mostly gone. I would say it is still behind Manjaro; but now usable as I'm liking Elementary OS more.– powerincarnateCommented Apr 19, 2019 at 1:53
-
Can you update your question with your graphics driver version and your card model please?– MaccerCommented Apr 22, 2019 at 19:44
2 Answers
To fix the screen tearing issue, one has to edit or create this file located /usr/share/X11/xorg.confi.d/20-intel.conf as root, then add the following: Section "Device" Identifier "Intel Graphics" Driver "Intel" Option "AccelMethod" "sna" Option "TearFree" "true" Option "DRI" "3" EndSection This should fix the tearing by disabling the graphics card from purging.
-
1I haven't had time to try this out yet, but my question is, why does it include intel graphics? I don't have an Intel graphic card. Commented May 5, 2019 at 1:13
I had the same issue, having two displays, one of them clockwise rotated / vertical. I noted a heavy annoying tearing on the rotated display while almost no tearing on the other.
I usually use chrome, chrome beta or chromium. If you are using one of them go to:
chrome://flags/
or directly to:
chrome://flags/#enable-resampling-scroll-events
set Enable resampling scroll events to any enabled option. The performance and behavior of each option will be different for each hardware and screen rotation.
For example what it performs best for me is Enabled linear_first on my vertical display and Enabled linear_resampling on my other one.
I use chrome beta on the first one and chrome stable on the second one, so i set this options based on where i'm using it. If you are using a single instance of Chrome, set it to what fits best on your vertical screen (if one) as 90 and 270 grades rotated displays (vertical) performs worst on refresh rate than same display at 0 or 180º due to different refresh rate for X and Y axis.
Disclaimer: The performance of this actions depends at the end on your hardware and its capabilities. I'm still having little issues using an intel hd integrated GPU on a laptop with two external displays attached even with this flags (not as many as i had without it but.. still annoying notable tearing).
EDIT I solved this issue on the latop by doing what i found on this issue.
I'll copy-paste it to keep all doc in the same place:
All credits to Sirajus Salekin and thanks for this:
Create a new file
sudo nano /usr/share/X11/xorg.conf.d/20-intel_tearfree.conf
And paste this content inside,
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TripleBuffer" "true"
Option "TearFree" "true"
EndSection
Reboot, should fix your problem.
If it doesn't solve it / you don't want to keep the changes, just remove the file by running
sudo rm /usr/share/X11/xorg.conf.d/20-intel_tearfree.conf
Hope it helps, even a little.