14

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.

  • 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. – WinEunuuchs2Unix Aug 13 '17 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 '17 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. – WinEunuuchs2Unix Aug 13 '17 at 17:45
  • Which one are you running? Ubuntu 16.10/17.04/17.10? – fosslinux Aug 14 '17 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 '17 at 14:54
13

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.

  • 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. – Lars Haugseth Jul 25 '18 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 at 17:57
  • 2
    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 – Kat Amsterdam Apr 21 at 23:23
  • Thanks so much! Now my videos are flicker-free. – Brian Haak Aug 4 at 17:15
2

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
  • Thanks for the suggestion Sirajus. Unfortunately, that had no effect. – Rsync Sep 6 '17 at 1:31
  • @MBWD, have you set 'Option "DRI" "false"' as mentioned? It was missing from the fixes you listed. – Sirajus Salekin Sep 6 '17 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 '17 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 '18 at 22:35
  • 1
    Option "TripleBuffer" "true" makes high CPU load and Videos, Chrome and Firefox slow video playback. – Eugene Mala Sep 12 '18 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.

  • 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. – Sirajus Salekin Sep 21 '18 at 6:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.