Launchpad has imported 29 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=94987.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2016-04-18T10:50:16+00:00 Arkadiusz Miśkiewicz wrote:

Created attachment 123024
xorg log

Dell XPS 15 9530

kernel 4.6.0-rc3-00182-gb9f5dba (and many older versions)
Mesa 11.2.0
intel driver: SNA compiled from 2.99.917-634-g81029be
xserver 1.18.3


google chrome 49.0.2623.112 (with default flags in flags://) and when viewing 
youtube in fullscreen there is flickering visible depending on mouse movements 
(mouse over youtube overlayed texts/menus).

Problem is visible here:
http://ixion.pld-linux.org/~arekm/p2/intel-bug-x1.avi


This problem is there for many months, so older versions of kernel, mesa, intel 
ddx, xserver, google chrome were also exhibiting this behaviour here.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/0

------------------------------------------------------------------------
On 2016-04-18T10:56:28+00:00 Chris Wilson wrote:

Dirty cache lines are here again. To rule out the ddx mocs, can you
please try

diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index f707d39..a3c5007 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -163,7 +163,7 @@ static const struct gt_info hsw_gt2_info = {
                1 << HSW_PS_SAMPLE_MASK_SHIFT,
        .urb = { 256, 1664, 640, 8 },
        .gt = 2,
-       .mocs = 5,
+       //.mocs = 5,
 };
 
 static const struct gt_info hsw_gt3_info =

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/1

------------------------------------------------------------------------
On 2016-04-18T10:57:31+00:00 Chris Wilson wrote:

See also bug 80948

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/2

------------------------------------------------------------------------
On 2016-04-18T11:12:22+00:00 Arkadiusz Miśkiewicz wrote:

(In reply to Chris Wilson from comment #1)
> Dirty cache lines are here again. To rule out the ddx mocs, can you please
> try
> 
> diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
> index f707d39..a3c5007 100644
> --- a/src/sna/gen7_render.c
> +++ b/src/sna/gen7_render.c
> @@ -163,7 +163,7 @@ static const struct gt_info hsw_gt2_info = {
>                 1 << HSW_PS_SAMPLE_MASK_SHIFT,
>         .urb = { 256, 1664, 640, 8 },
>         .gt = 2,
> -       .mocs = 5,
> +       //.mocs = 5,
>  };
>  
>  static const struct gt_info hsw_gt3_info =

Doesn't help unfortunately.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/3

------------------------------------------------------------------------
On 2016-04-18T11:30:42+00:00 Chris Wilson wrote:

Ok, try patching it out of mesa as well:

diff --git a/src/mesa/drivers/dri/i965/brw_defines.h 
b/src/mesa/drivers/dri/i965/brw_defines.h
index 60b696c..522a75a 100644
--- a/src/mesa/drivers/dri/i965/brw_defines.h
+++ b/src/mesa/drivers/dri/i965/brw_defines.h
@@ -2864,13 +2864,13 @@ enum brw_wm_barycentric_interp_mode {
  * On Ivybridge, the PTEs do have a cache-in-L3 bit, so setting MOCS to 0
  * may still respect that.
  */
-#define GEN7_MOCS_L3                    1
+#define GEN7_MOCS_L3                    0
 
 /* Ivybridge only: cache in LLC.
  * Specifying zero here means to use the PTE values set by the kernel;
  * non-zero overrides the PTE values.
  */
-#define IVB_MOCS_LLC                    (1 << 1)
+#define IVB_MOCS_LLC                    0
 
 /* Baytrail only: snoop in CPU cache */
 #define BYT_MOCS_SNOOP                  (1 << 1)


If that fails, we have to start questioning the kernel.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/4

------------------------------------------------------------------------
On 2016-04-18T12:05:39+00:00 Arkadiusz Miśkiewicz wrote:

Unfortunately it fails (ddx + mesa patches applied).

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/5

------------------------------------------------------------------------
On 2016-04-18T12:16:06+00:00 Chris Wilson wrote:

Can you please try (kernel):

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ce2c31..4caccd2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3926,12 +3926,8 @@ out:
         * object is now coherent at its new cache level (with respect
         * to the access domain).
         */
-       if (obj->cache_dirty &&
-           obj->base.write_domain != I915_GEM_DOMAIN_CPU &&
-           cpu_write_needs_clflush(obj)) {
-               if (i915_gem_clflush_object(obj, true))
-                       i915_gem_chipset_flush(obj->base.dev);
-       }
+       if (i915_gem_clflush_object(obj, true))
+               i915_gem_chipset_flush(obj->base.dev);
 
        return 0;
 }

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/6

------------------------------------------------------------------------
On 2016-04-18T12:57:58+00:00 Arkadiusz Miśkiewicz wrote:

No flickering with this patch (+ ddx + mesa patch).


(I'm seeing some stalls of browser for about half a second but I guess it's 
unrelated)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/7

------------------------------------------------------------------------
On 2016-04-18T19:38:20+00:00 Chris Wilson wrote:

Next up try:

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ce2c31..2897f67 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4491,6 +4491,7 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
 
        obj->fence_reg = I915_FENCE_REG_NONE;
        obj->madv = I915_MADV_WILLNEED;
+       obj->cache_dirtry = true;
 
        i915_gem_info_add_obj(obj->base.dev->dev_private, obj->base.size);
 }

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/8

------------------------------------------------------------------------
On 2016-04-18T21:07:18+00:00 Arkadiusz Miśkiewicz wrote:

mesa patch dropped and i915_gem_clflush_object(obj, true)... patch
applied -> no flickering

mesa patch dropped, i915_gem_clflush_object patch dropped,
obj->cache_dirtry = true; applied -> flickering exists

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/9

------------------------------------------------------------------------
On 2016-04-19T07:39:00+00:00 Chris Wilson wrote:

Does this help ? (xf86-video-intel)

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 80b658a..a7429e8 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -6454,7 +6454,7 @@ sna_page_flip(struct sna *sna,
        if ((sna->flags & (data ? SNA_HAS_FLIP : SNA_HAS_ASYNC_FLIP)) == 0)
                return 0;
 
-       kgem_bo_submit(&sna->kgem, bo);
+       kgem_scanout_flush(&sna->kgem, bo);
 
        sigio = sigio_block();
        for (i = 0; i < sna->mode.num_real_crtc; i++) {
@@ -8789,7 +8789,7 @@ void sna_mode_redisplay(struct sna *sna)
                                        continue;
 
                                sna_crtc_redisplay(crtc, &damage, bo);
-                               kgem_bo_submit(&sna->kgem, bo);
+                               kgem_scanout_flush(&sna->kgem, bo);
 
                                arg.crtc_id = __sna_crtc_id(sna_crtc);
                                arg.fb_id = get_fb(sna, bo,
@@ -8889,7 +8889,7 @@ disable1:
                arg.flags = DRM_MODE_PAGE_FLIP_EVENT;
                arg.reserved = 0;
 
-               kgem_bo_submit(&sna->kgem, new);
+               kgem_scanout_flush(&sna->kgem, bo);
 
                sigio = sigio_block();
                for (i = 0; i < sna->mode.num_real_crtc; i++) {

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/10

------------------------------------------------------------------------
On 2016-04-19T07:39:37+00:00 Chris Wilson wrote:

Sorry, try

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 80b658a..291b8f0 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -6454,7 +6454,7 @@ sna_page_flip(struct sna *sna,
        if ((sna->flags & (data ? SNA_HAS_FLIP : SNA_HAS_ASYNC_FLIP)) == 0)
                return 0;
 
-       kgem_bo_submit(&sna->kgem, bo);
+       kgem_scanout_flush(&sna->kgem, bo);
 
        sigio = sigio_block();
        for (i = 0; i < sna->mode.num_real_crtc; i++) {
@@ -8789,7 +8789,7 @@ void sna_mode_redisplay(struct sna *sna)
                                        continue;
 
                                sna_crtc_redisplay(crtc, &damage, bo);
-                               kgem_bo_submit(&sna->kgem, bo);
+                               kgem_scanout_flush(&sna->kgem, bo);
 
                                arg.crtc_id = __sna_crtc_id(sna_crtc);
                                arg.fb_id = get_fb(sna, bo,
@@ -8889,7 +8889,7 @@ disable1:
                arg.flags = DRM_MODE_PAGE_FLIP_EVENT;
                arg.reserved = 0;
 
-               kgem_bo_submit(&sna->kgem, new);
+               kgem_scanout_flush(&sna->kgem, new);
 
                sigio = sigio_block();
                for (i = 0; i < sna->mode.num_real_crtc; i++) {

instead

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/11

------------------------------------------------------------------------
On 2016-04-19T08:05:30+00:00 Arkadiusz Miśkiewicz wrote:

All patches reverted (from mesa, kernel, ddx). Only patch from comment
#11 applied. Flickering still exists.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/12

------------------------------------------------------------------------
On 2016-04-19T08:25:30+00:00 Chris Wilson wrote:

Drat. Best idea I had so far.

Likely no effect, but do please try:

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ce2c31..1b296e2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -54,6 +54,9 @@ static bool cpu_cache_is_coherent(struct drm_device *dev,
 
 static bool cpu_write_needs_clflush(struct drm_i915_gem_object *obj)
 {
+       if (obj->base.write_domain == I915_GEM_DOMAIN_CPU)
+               return false;
+
        if (!cpu_cache_is_coherent(obj->base.dev, obj->cache_level))
                return true;
 
@@ -1080,7 +1083,6 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
         * perspective, requiring manual detiling by the client.
         */
        if (obj->tiling_mode == I915_TILING_NONE &&
-           obj->base.write_domain != I915_GEM_DOMAIN_CPU &&
            cpu_write_needs_clflush(obj)) {
                ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file);
                /* Note that the gtt paths might fail with non-page-backed user
@@ -3926,10 +3928,8 @@ out:
         * object is now coherent at its new cache level (with respect
         * to the access domain).
         */
-       if (obj->cache_dirty &&
-           obj->base.write_domain != I915_GEM_DOMAIN_CPU &&
-           cpu_write_needs_clflush(obj)) {
-               if (i915_gem_clflush_object(obj, true))
+       if (cpu_write_needs_clflush(obj)) {
+               if (i915_gem_clflush_object(obj, obj->cache_dirty))
                        i915_gem_chipset_flush(obj->base.dev);
        }

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/13

------------------------------------------------------------------------
On 2016-04-19T08:42:48+00:00 Arkadiusz Miśkiewicz wrote:

All patches reverted. #13 applied. Flickers unfortunately :(

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/14

------------------------------------------------------------------------
On 2016-06-21T18:00:33+00:00 Benjamin Gemmill wrote:

This issue is also on the chrome bug tracker:
https://bugs.chromium.org/p/chromium/issues/detail?id=606152

And the ubuntu bug tracker:
https://bugs.launchpad.net/xorg-server/+bug/1586539

The current workaround is to use UXA rather than SNA; something chrome
does makes SNA unhappy.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/23

------------------------------------------------------------------------
On 2016-07-20T09:00:17+00:00 D-freedesktop wrote:

Any chances someone will finally fix this very annoying bug?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/26

------------------------------------------------------------------------
On 2016-07-30T09:57:29+00:00 Arkadiusz Miśkiewicz wrote:

Hm, seems that to reproduce the issue kde "desktop effects" need to be
disabled.

Best to start freshly with that disabled ("enable desktop effects at
startup" off and reboot) already because switching it on/off makes issue
hard to reproduce.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/29

------------------------------------------------------------------------
On 2016-11-06T15:28:32+00:00 Arkadiusz Miśkiewicz wrote:

kernel 4.9rc3
SNA compiled from 2.99.917-722-g714052f (oct 24 2016)
mesa 13.0
google-chrome-54.0.2840.90

and problem is still there.

alt+shift+f12 (enable/disable desktop effects) under kde4 cures the
problem (even after switching it off again)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/35

------------------------------------------------------------------------
On 2016-12-28T23:40:14+00:00 Jacob Doherty wrote:

Just some updated information that I hope is useful. This issue is still
occurring.

See these bugs for more info as well:

Ubuntu Bug here: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-
video-intel/+bug/1586539

Chorimium Bug here:
https://bugs.chromium.org/p/chromium/issues/detail?id=606152#c63

I can replicate with:

X.Org X Server 1.18.4
xorg-server 2:1.18.4-0ubuntu0.2 
Current version of pixman: 0.33.6

Ubuntu 16.04.1 (xenial)
Chrome 55.0.2883.87
Kernel: 3.10.18


MESA info:

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) Bay Trail  (0xf31)
    Version: 11.2.0
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0


Related package information:

http://pastebin.com/6A5ebWTJ


Video information:

 *-display               
       description: VGA compatible controller
       product: Atom Processor Z36xxx/Z37xxx Series Graphics & Display
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 0e
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:104 memory:d0000000-d03fffff memory:c0000000-cfffffff 
ioport:1000(size=8)

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/36

------------------------------------------------------------------------
On 2017-02-21T09:20:50+00:00 Tomeu Vizoso wrote:

Jari, I guess this one can have its priority demoted as there's a few
workarounds as mentioned in this summarizing comment?

https://bugs.chromium.org/p/chromium/issues/detail?id=606152#c132

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/46

------------------------------------------------------------------------
On 2017-02-21T15:24:04+00:00 Benjamin Gemmill wrote:

Without knowing how priorities are set, fresh installs of linux on intel
hardware show this bug, and one of the workarounds needs to be manually
applied for chromium to work properly out of the box.

The chrome devs mentioned driver blacklisting as a possible solution in
the chrome bug report, so prioritizing a fix instead would be amazing.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/47

------------------------------------------------------------------------
On 2017-02-21T15:41:17+00:00 Tomeu Vizoso wrote:

(In reply to Benjamin Gemmill from comment #21)
> Without knowing how priorities are set, fresh installs of linux on intel
> hardware show this bug, and one of the workarounds needs to be manually
> applied for chromium to work properly out of the box.

Fresh installs of which distribution versions?

> The chrome devs mentioned driver blacklisting as a possible solution in the
> chrome bug report, so prioritizing a fix instead would be amazing.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/48

------------------------------------------------------------------------
On 2017-02-21T16:17:04+00:00 Benjamin Gemmill wrote:

The problem seems to affect fresh installs of Ubuntu 16.04 and variants (I use 
Mint):
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1586539

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/49

------------------------------------------------------------------------
On 2017-02-22T08:51:59+00:00 Tomeu Vizoso wrote:

(In reply to Benjamin Gemmill from comment #23)
> The problem seems to affect fresh installs of Ubuntu 16.04 and variants (I
> use Mint):
> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/
> 1586539

Sure, but Highest priority seems to be reserved for regressions that
don't have a workaround yet.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/50

------------------------------------------------------------------------
On 2017-04-05T15:39:53+00:00 Chris Wilson wrote:

commit 7aa6ca61ee5546d74b76610894924cdb0d4a1af0
Author: Chris Wilson <[email protected]>
Date:   Mon Nov 7 16:52:04 2016 +0000

    drm/i915: Mark CPU cache as dirty when used for rendering

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/53

------------------------------------------------------------------------
On 2017-04-07T01:45:43+00:00 Jacob Doherty wrote:

Hey Chris,

Thanks for fixing this - do you know what version/release it has been
resolved in? I want to check with the package maintainers for my distro
to try and get it included.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/54

------------------------------------------------------------------------
On 2017-04-10T13:46:34+00:00 Jani-saarinen-g wrote:

just use drm-tip here.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/56

------------------------------------------------------------------------
On 2019-08-28T09:12:14+00:00 Vignesh-raman-in wrote:

I'm seeing this issue with google-chrome,

kernel 4.14.103-rt55, debian stretch
Mesa 18.2.8-2~bpo9+1 (https://packages.debian.org/source/stretch-backports/mesa)

00:02.0 VGA compatible controller: Intel Corporation 8th Gen Core Processor 
Gaussian Mixture Model
        Subsystem: Intel Corporation 8th Gen Core Processor Gaussian Mixture 
Model
        Kernel driver in use: i915
        Kernel modules: i915

xserver-xorg          7.7+19 
google-chrome-stable  76.0.3809.100-1

Workaround:
Add --disable-gpu-driver-bug-workarounds and --enable-native-gpu-memory-buffers 
flags to /usr/share/applications/google-chrome.desktop.

Exec=/usr/bin/google-chrome-stable --disable-gpu-driver-bug-workarounds
--enable-native-gpu-memory-buffers %U

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1586539/comments/60

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1586539

Title:
  Major screen flickering in Chromium and Google Chrome

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1586539/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to