Red Hat Bugzilla – Bug 479153
Icons missing in Blender due to a bug in Intel mesa driver
Last modified: 2009-12-18 02:31:47 EST
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.
* 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):
Steps to Reproduce:
1. Run Blender on Intel gfx chipsets.
* No icons displayed
* Interface with lovely icons :)
* Chipset: Intel 82865G Integrated Graphics Controller
* Running in XAA mode to avoid all the nasty artifacts EXA mode generates
Created attachment 328398 [details]
The good: Blender running with forced software OpenGL: icons!
I have the same issue with Intel Mobile 945GM/GMS graphic chip
There is also a Fedora Forum post regarding this issue:
and also youtube video:
I see this bug is fixed in upstream, when and how can I enable this fix for Fedora 10?
Following a tip from Eric Anholt in comment #2 in Bug 475510, I wrote this quick'n'dirty patch on top of mesa:
@@ -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;
This solves the bug for me !
No more display corruption in Blender icons.
Will intel any time soon take your patch and fix the mainstream code?
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.
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?
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.
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.
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.
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.
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?
(By the way, I'm talking about the patch in comment #10)
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.
FYI; I'm really happy to say that this is no longer an issue under Fedora 11!
Benjamin, can you confirm this?
Sorry, I can't confirm this.
I haven't upgraded my PC with Fedora 11 yet.
I'll let you know when I upgrade.
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:
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.