Bug 479153 - Icons missing in Blender due to a bug in Intel mesa driver
Summary: Icons missing in Blender due to a bug in Intel mesa driver
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 10
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-07 16:21 UTC by Benjamin Thery
Modified: 2009-12-18 07:31 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-12-18 07:31:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
The bad: Blender running on Intel 865 chipset with HW acceleration: no icons displayed (66.19 KB, image/jpeg)
2009-01-07 16:21 UTC, Benjamin Thery
no flags Details
The good: Blender running with forced software OpenGL: icons! (68.40 KB, image/jpeg)
2009-01-07 16:22 UTC, Benjamin Thery
no flags Details
Backport of Mesa's git commit that fix a similar issue (2.38 KB, patch)
2009-02-19 15:05 UTC, Benjamin Thery
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 19118 0 None None None Never

Description Benjamin Thery 2009-01-07 16:21:18 UTC
Created attachment 328397 [details]
The bad: Blender running on Intel 865 chipset with HW acceleration: no icons displayed

Description of problem:

When running Blender on Fedora 10 on a machine with Intel chipsets, 
all the icons are missing in the interface. See screenshots attached.

Blender worked very well on Fedora 8 and 9 on the same hardware.

If I force Blender to run without hardware acceleration using env var 
LIBGL_ALWAYS_SOFTWARE=1, the interface looks fine: all the icons are displayed.

This bug seems to be already fixed in mesa's git tree. 
I found this commit that fixes a similar issue: 
* sha1: bfebeffc0045266d354a36968336337e099a9f27
* Subject: "intel: Share passthrough transform setup between glBitmap and glDrawPixels."
 ...
 "The DrawPixels path was missing glViewport care, so blender's toolbar icons
  would go to the wrong places.    
  Bug #19118."

* Freedesktop bug: http://bugs.freedesktop.org/show_bug.cgi?id=19118

It would be cool if could repackage an updated version of Mesa to fix this
very annoying bug.


Version-Release number of selected component (if applicable):

mesa-libGLU-7.2-0.15.fc10.i386
mesa-dri-drivers-7.2-0.15.fc10.i386
mesa-libGLU-devel-7.2-0.15.fc10.i386
mesa-libGL-7.2-0.15.fc10.i386
mesa-libGL-devel-7.2-0.15.fc10.i386


How reproducible:

Always.


Steps to Reproduce:
1. Run Blender on Intel gfx chipsets.
2. 
3.
  
Actual results:

* No icons displayed

Expected results:

* Interface with lovely icons :)

Additional info:

* Chipset: Intel 82865G Integrated Graphics Controller
* Running in XAA mode to avoid all the nasty artifacts EXA mode generates

Comment 1 Benjamin Thery 2009-01-07 16:22:24 UTC
Created attachment 328398 [details]
The good: Blender running with forced software OpenGL: icons!

Comment 2 Valent Turkovic 2009-01-26 19:22:54 UTC
I have the same issue with Intel Mobile 945GM/GMS graphic chip

Comment 3 Valent Turkovic 2009-01-26 19:31:54 UTC
There is also a Fedora Forum post regarding this issue:
http://forums.fedoraforum.org/showthread.php?t=206706

and also youtube video:
http://youtube.com/watch?v=qyWDtl672Hk

Comment 4 Valent Turkovic 2009-01-27 16:59:05 UTC
I see this bug is fixed in upstream, when and how can I enable this fix for Fedora 10?

Comment 5 Benjamin Thery 2009-02-11 16:19:38 UTC
Following a tip from Eric Anholt in comment #2 in Bug 475510, I wrote this quick'n'dirty patch on top of mesa:

--- mesa-20081001.orig/src/mesa/drivers/dri/intel/intel_regions.c
+++ mesa-20081001/src/mesa/drivers/dri/intel/intel_regions.c
@@ -98,7 +98,7 @@ intel_set_region_tiling_gem(struct intel
    }
 
    region->tiling = get_tiling.tiling_mode;
-   region->bit_6_swizzle = get_tiling.swizzle_mode;
+   region->bit_6_swizzle = I915_BIT_6_SWIZZLE_NONE;
 
    return 0;
 }

This solves the bug for me ! 
No more display corruption in Blender icons.

Comment 6 Valent Turkovic 2009-02-12 08:26:48 UTC
Will intel any time soon take your patch and fix the mainstream code?

Comment 7 Benjamin Thery 2009-02-12 14:04:08 UTC
I don't know. I hope someone from Red Hat will look at this issue.

BTW, my patch is not the proper one it is just a workaround to force bit_6_swizzle to NONE (I don't even know what this swizzle bit is). 

I modified Mesa because it was easier for me, but, IMHO, the right fix should probably be done in kernel, in drivers/gpu/drm/i915/i915_gem_tiling.c routine i915_gem_get_tiling(). Dependending on the chipset model it should return I915_BIT_6_SWIZZLE_NONE or the correct value.

If I underdstood correctly, some chipsets are broken (or their BIOS are on some system) and need the patch but others are good.

Comment 8 Benjamin Thery 2009-02-17 08:21:05 UTC
Forget my patch and the comments associated (#5 and #7).
I wasn't testing the right stuff. Sorry.

I still got the icons corruption in Blender.

Could someone from Red Hat test Blender package from Fedora 10 on an Intel 865G chipset to see what the problem is?

Comment 9 Benjamin Thery 2009-02-19 15:03:21 UTC
Has nobody seems to be looking at this bug, I've backported the Mesa git commit which fixes a similar issue in Mesa's git tree (See bug description a the top of the page).

Guess what? It does indeed fix the problem.

The patch I'll attach below applies on top of mesa-7.2-0.15.fc10.src.rpm SRPM.

It modifies a file shared among some of the Intel DRI drivers, so someone knowing Mesa/DRI should verify it works for all Intel chipset.

Tested on Intel 865G.

Comment 10 Benjamin Thery 2009-02-19 15:05:13 UTC
Created attachment 332565 [details]
Backport of Mesa's git commit that fix a similar issue

Here is the patch referenced in comment #9

It fixes the icons corruption in Blender on Intel 865G chipset.

Comment 11 Malcolm Tredinnick 2009-03-29 05:21:13 UTC
Some quick feedback for Benjamin Thery's patch, using an Intel 855GM chipset.

I applied it to mesa-7.2-0.15.fc10.src.rpm, rebuilt and installed all the new RPMs. Certainly fixes the Blender problem. However, I now see random image corruption in firefox, particularly. The behaviour is a portion of the screen not being redisplayed correctly after being exposed (particularly after a desktop switch), but then subsequent redraw events will fill in the missing piece. Rolling up and unrolling the window, for example, completely redraws things.

I'd never seen this behaviour prior to trying the patch. So there's some other side-effect going on there.

Comment 12 Malcolm Tredinnick 2009-03-30 00:35:35 UTC
I take back my comment about this fixing the Blender problem. I still see it, now that I look more closely. It's just less obvious. Previously, pretty much every leading icon or letter in a label or menu was corrupted, now it's only maybe 10% or less.

But, in short, at least on an 855GM chipset, this patch doesn't fix the problem.

Comment 13 Benjamin Thery 2009-03-31 14:19:37 UTC
This patch is intended to fix the icon problem, but not the leading letter corruption in labels. The letter problem is different I think, not related to drawpixels bit.

Can you confirm that your icons are not corrupted anymore with the patch?
But only the letters are still corrupted?
Thanks.

(By the way, I'm talking about the patch in comment #10)

Comment 14 Malcolm Tredinnick 2009-03-31 21:52:51 UTC
Okay, I understand. The icons are no longer corrupted in Blender. However, since display in other portions of X (particularly in what seems to be exposed area redrawing) is definitely degraded, shall we say -- used to work, is now periodically corrupted. So it's not really a fix, due to the side-effects. It's clearly hitting the right area, though, as I do have icons back in Blender, you're right.

Comment 15 Valent Turkovic 2009-06-18 13:22:08 UTC
FYI; I'm really happy to say that this is no longer an issue under Fedora 11!

Comment 16 Kristian Høgsberg 2009-06-18 14:31:53 UTC
Benjamin, can you confirm this?

Comment 17 Benjamin Thery 2009-06-21 08:36:44 UTC
Sorry, I can't confirm this.
I haven't upgraded my PC with Fedora 11 yet.

I'll let you know when I upgrade.

Comment 18 Bug Zapper 2009-11-18 10:41:24 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 19 Bug Zapper 2009-12-18 07:31:47 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.