Screen Tearing in Linux with Intel Chipset

Reads: 15  | Likes: 1  | Shelves: 0  | Comments: 0

More Details
Status: Finished  |  Genre: Non-Fiction  |  House: Booksie Classic


A brief proposal describing a potential means of eliminating visual artifacts affecting a Linux system with AMD-compatable Intel video card.

Submitted: September 14, 2018

A A A | A A A

Submitted: September 14, 2018

A A A

A A A


I spent some time, a while back, resolving the issue of consistent screen tearing on a Linux system with an Intel video card, so I thought I would share my findings in case anyone else should confront this problem.

 

Virtualdub.org defines screen tearing thusly:

 

Tearing is a display artifact that occurs when images are presented to the screen without regard for the current status of the output circuitry. It occurs because pixels are sent to the screen gradually in book order rather than instantaneously. What happens is that the output DAC reads across the same area of the screen that is bring written to, so the monitor ends up showing a half-updated image. The result is a momentary frame that has half of an old frame and half of a new one, with a clean horizontal split across (the tear).

[http://www.virtualdub.org/blog/pivot/entry.php?id=74]

 

This fix is specific to Intel (TM) graphics cards and should apply to the following series: i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45, 4 Series, G45/G43, Q45/Q43, G41, B43. On Debian-based systems, assuming it is accessible via your repositories, you can acquire the appropriate driver with the following command:

sudo apt install xserver-xorg-video-intel

If your X Window System is utilizing a DRI3 client, this will override the TearFree option, thus superceding Vsync even if it is enabled. You will want to verify that your rendering infrastructure is operating upon the DRI2 framework.

 

Furthermore, the specific method of hardware acceleration may lead to incompatibilities. To determine whether these issues may apply, simply peruse your Xorg logs, which should be contained within the /var/log/ directory.

 

If none of these factors pertain, you can try adding clutter environment variables. To do this open your /etc/environment file and append the following:

 

CLUTTER_PAINT=disable-clipped-redraws:disable-culling

CLUTTER_VBLANK=True

 

In my case, the solution was a simple matter of performing the subsequent steps to overcome a conflict with SNA acceleration:

 

1. Create a directory:

 

sudo mkdir /etc/X11/xorg.conf.d

 

2. Create a configuration file, “20-intel.conf” with your choice of text editor; i.e.:

 

sudo vim /etc/X11/xorg.conf.d/20-intel.conf

 

3. Insert this text into the file:

 

Section "Device"

Identifier "Intel Graphics"

Driver "intel"

Option "AccelMethod" "uxa"

Option "DRI" "2"

Option "TearFree" "true"

EndSection

 

4. Save


© Copyright 2018 C.A. Exline. All rights reserved.

Add Your Comments: