Bug 91105

Summary: [xf86-video-intel] font/image rendering is broken with sna accel method: incorrect detiling
Product: xorg Reporter: Michael Vogt <michaelvogt>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: ejsheldrake, mail, pavel+bzilla
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Screenshot
none
Xorg.0.log
none
Xorg log
none
example screenshot
none
xorg log none

Description Michael Vogt 2015-06-25 08:02:01 UTC
Text and images are blurred; not possible to type text anymore
as letters are blurred, desktop images are blurred, too.

Additional info:
only with version 1:2.99.917+364+gb24e758-1,
after downgrade to version 2.99.917-5 everything ok again.

I am on Lenovo thinkpad t400
Linux 4.0.5-1-ARCH #1 SMP PREEMPT Sat Jun 6 18:37:49 CEST 2015 x86_64 GNU/Linux
XFCE

Steps to reproduce:
just upgrade and downgrade

similiar to 76804
Comment 1 Michael Vogt 2015-06-25 08:07:26 UTC
Using acceleration method UXA instead of SNA worked
Comment 2 Chris Wilson 2015-06-25 08:19:17 UTC
Blurred? A screenshot would be very descriptive. And please attach your Xorg.0.log.

If you can manage a bisect, since you have two close versions you should be able to track down the mystery commit in a few minutes.
Comment 3 Michael Vogt 2015-06-25 08:46:23 UTC
Created attachment 116710 [details]
Screenshot

Screenshot shows blurring
Comment 4 Michael Vogt 2015-06-25 08:47:23 UTC
Created attachment 116711 [details]
Xorg.0.log
Comment 5 Chris Wilson 2015-06-25 08:51:45 UTC
Hmm, that is not using the -intel driver. Mind double checking the setup corresponds with the error?

[  1047.491] (EE) Failed to load module "intel" (module does not exist, 0)

Building from -intel.git would also be a useful verification step.
Comment 6 mohlerm 2015-06-25 09:18:12 UTC
Created attachment 116712 [details]
Xorg log

I'm experiencing a similar issue.
My terminal emulator has very poor performance and some programs don't show text.
General system performance is way worse.

Using version: 1:2.99.917+364+gb24e758-1, Thinkpad X1 Carbon, Intel Core i7 3667U with an Intel HD Graphics 4000 
Downgrading to 2.99.917-5 helped as well.
Comment 7 Chris Wilson 2015-06-25 09:27:28 UTC
(In reply to mohlerm from comment #6)
> Created attachment 116712 [details]
> Xorg log
> 
> I'm experiencing a similar issue.
> My terminal emulator has very poor performance and some programs don't show
> text.
> General system performance is way worse.
> 
> Using version: 1:2.99.917+364+gb24e758-1, Thinkpad X1 Carbon, Intel Core i7
> 3667U with an Intel HD Graphics 4000 
> Downgrading to 2.99.917-5 helped as well.

Please file a separate report since it is not very similar at all.
Comment 8 Edward Sheldrake 2015-06-28 07:22:52 UTC
Created attachment 116759 [details]
example screenshot

I'm seeing the same thing. GM45, xf86-video-intel latest git, SNA.

Switching to UXA solves the problem. Don't know if this is related, but I recently had to go back to 3GB (2+1) of RAM.
Comment 9 Edward Sheldrake 2015-06-28 07:24:15 UTC
Created attachment 116760 [details]
xorg log
Comment 10 Chris Wilson 2015-06-28 08:08:23 UTC
(In reply to Edward Sheldrake from comment #8)
> Created attachment 116759 [details]
> example screenshot
> 
> I'm seeing the same thing. GM45, xf86-video-intel latest git, SNA.
> 
> Switching to UXA solves the problem. Don't know if this is related, but I
> recently had to go back to 3GB (2+1) of RAM.

For you 3GiB system, I think you need this kernel patch:

diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c
index d16585f788ea..ff96ae9b77bc 100644
--- a/drivers/gpu/drm/i915/i915_gem_tiling.c
+++ b/drivers/gpu/drm/i915/i915_gem_tiling.c
@@ -447,7 +447,10 @@ i915_gem_get_tiling(struct drm_device *dev, void *data,
        }
 
        /* Hide bit 17 from the user -- see comment in i915_gem_set_tiling */
-       args->phys_swizzle_mode = args->swizzle_mode;
+       if (dev_priv->quirks & QUIRK_PIN_SWIZZLED_PAGES)
+               args->phys_swizzle_mode = I915_BIT_6_SWIZZLE_UNKNOWN;
+       else
+               args->phys_swizzle_mode = args->swizzle_mode;
        if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_17)
                args->swizzle_mode = I915_BIT_6_SWIZZLE_9;
        if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_10_17)
Comment 11 Edward Sheldrake 2015-06-28 12:23:41 UTC
That kernel patch has completely fixed the problem for me.
Comment 12 Christian Hesse 2015-07-06 06:51:29 UTC
The kernel patch has not hit Linus' tree, yet. Is it queued anywhere?
Comment 13 Chris Wilson 2015-07-06 08:20:11 UTC
The original patch has been reviewed, just stalling on Jani at the moment as I made a suggestion about doing it in an alternate fashion and that alternate patch is sitting around distracting people.
Comment 14 Chris Wilson 2015-08-02 08:45:03 UTC
And hopefully we won't have to revert this one....

commit 5eb3e5a5e11d14f9deb2a4b83555443b69ab9940
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Jun 28 09:19:26 2015 +0100

    drm/i915: Declare the swizzling unknown for L-shaped configurations
Comment 15 Chris Wilson 2016-02-25 15:32:36 UTC
*** Bug 94110 has been marked as a duplicate of this bug. ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.