20

Several users (one, two, three, four, five) have reported that Intel graphics cards cause severe screen tearing/flickering on Ubuntu >= 16.10. The oft-proposed "solution" is to add the boot parameter i915.enable_rc6=0.

However, while fixing the screen flickering/tearing, this "solution" causes the fan to run constantly (as in it never, ever turns off) and at an excessively high speed. I am posting this question to see if anyone has a remedy to the fan issue (or, in the alternative, to the flickering/tearing issue but without causing the fan issue).

For completeness, I am running Ubuntu 16.10/17.04/17.10 using kernel 4.11.0-10-generic on a Lenovo 910 (Kabylake) and my graphics card is VGA compatible controller: Intel Corporation Device 5916 (rev 02).

Note: I just confirmed that this problem still exists with the upstream kernel (v4.13.0-041300rc4). Reverting the kernel to the 16.04 LTS kernel fixes the screen tearing, but that is just a workaround. I recently (09.03.2017) tried the default Debian install with kernel 4.9.0-3-amd64, and there is no screen flickering (though the screen is rotated 90 degrees).

Note 2: Using the boot parameter i915.enable_rc6=0 leads to system degredation over extended use. I tried to watch a streaming video for 3 hours and the machine starting acting sluggish and unresponsive.

Note 3: I filed a bug report.

Note 4: This may not be relevant, but the screen tearing stops completely when the pointing device (trackpad) or the keyboard is in use.

9
  • Are you getting these warning messages when your kernel is updated with sudo update initramfs -u? I have an Ivy Bridge and had screen tearing but fixed it with other methods using Xorg options. Aug 13, 2017 at 17:14
  • Nope, I don't get those messages when issuing sudo update-initramfs -u. But that is likely because I manually installed those drivers from Intel ( 01.org/linuxgraphics/downloads/firmware). Care to share the options you used? I'll try them.
    – Rsync
    Aug 13, 2017 at 17:18
  • I didn't document them at the time and it was a year ago so don't remember every step. My primary source for fixing things came from Arch Linux. Additionally I used Thermald, Powerclamp and TLP for fan control and CPU frequencies. Here is a comprehensive list I wrote a few weeks ago. Aug 13, 2017 at 17:45
  • Which one are you running? Ubuntu 16.10/17.04/17.10?
    – fosslinux
    Aug 14, 2017 at 0:06
  • I ran each for about a week. Now I'm just on 17.10 on that partition - and 16.04 for my daily driver until this is remedied.
    – Rsync
    Aug 14, 2017 at 14:54

3 Answers 3

22

The correct solution would be to create the following file:

/etc/X11/xorg.conf.d/20-intel-graphics.conf

having the following content:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TripleBuffer" "true"
   Option      "TearFree"     "true"
   Option      "DRI"          "false"
EndSection

Do not create these files in /usr/share/X11/xorg.conf.d. That is the location for example configuration files for X, not the ones that are actually loaded.

8
  • 1
    I had to set DRI to true, otherwise certain apps using OpenGL would fail to run. Probably caused by DRI being enabled during compilation. I still get tear-free scrolling and video playback when it is enabled with these other options also enabled, though. Uncertain why it is suggested disabled in the answer. Jul 25, 2018 at 15:42
  • 1
    This fixes some constant diagonal tearing on my Dell XPS 13 9350 when I have portrait-mode external monitors, but it causes extremely slow screen redraws (~10 fps?) and extremely high gnome-shell CPU use.
    – Nick T
    Jan 27, 2019 at 17:57
  • 4
    note that the directory /etc/X11/xorg.conf.d doesn't exist by default in Ubuntu. You have to create it with sudo mkdir /etc/X11/xorg.conf.d Apr 21, 2019 at 23:23
  • Thanks so much! Now my videos are flicker-free. Aug 4, 2019 at 17:15
  • @Fabby are you sure about your edit? The documentation says "Files ending in *.conf in the /usr/lib/X11/xorg.conf.d/ directory (NOTE: will be changed to /usr/share/X11/xorg.conf.d for 10.10) are automatically loaded by X at start prior to reading the xorg.conf" hasn't been updated since 2014 though.
    – user677955
    Oct 4, 2019 at 12:46
3

I used these steps to fix screen flickering,

sudo gedit /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf

paste these lines,

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "TripleBuffer" "true"
  Option      "TearFree"     "true"
EndSection

save, reboot.

If it still doesn't fix it, you can remove is using

sudo rm /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf
11
  • Thanks for the suggestion Sirajus. Unfortunately, that had no effect.
    – Rsync
    Sep 6, 2017 at 1:31
  • @MBWD, have you set 'Option "DRI" "false"' as mentioned? It was missing from the fixes you listed. Sep 6, 2017 at 7:07
  • Yes, I implemented your entire solution above (sudo gedit /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf and pasting the lines, including DRI). It didn't work. Was there something else I should do?
    – Rsync
    Sep 6, 2017 at 17:51
  • Running Ubuntu 18.04, if I add any conf file similar to this one, on every logon I get an error about outputs not found, outputs "not disconnected" but with no modes, or something. The session appears to be configured correctly, even though the error dialog warns that it might not be, but errors at every logon clearly means something is wrong.
    – dgw
    Jul 7, 2018 at 22:35
  • 1
    Option "TripleBuffer" "true" makes high CPU load and Videos, Chrome and Firefox slow video playback. Sep 12, 2018 at 21:57
0

I am not sure what solved the problem. I initially thought it was installing Ubuntu 17.10, which runs kernel 4.13.0-16. But I just returned to a backup of 17.04 and the 4.10.0-37-generic kernel ran fine.

I am going to guess that the fix was actually upgrading the Lenovo firmware, which you can only do (to my knowledge) through Windows. I accidentally booted into Windows partition at one point, and endured the upgrade process. But I think that had to be what fixed it.

Note: I also "solved" the problem before 17.10 was released by compiling and using the Kali Linux kernel.

1
  • 1
    is ther by any chance you're using wayland? When I switched to wayland I saw almost all the problems disappeared, without needing any configs. Sep 21, 2018 at 6:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .