Bug 18138

Summary: [855GM] rendering errors with render-based apps with 2.4.98.0
Product: xorg Reporter: Rémi Cardona <remi>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: alex, jbarnes, jeffrey, un_aimed
Version: unspecifiedKeywords: regression
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
screenshot of gnome-terminal
none
Picture of my screen none

Description Rémi Cardona 2008-10-20 15:21:25 UTC
Created attachment 19774 [details]
screenshot of gnome-terminal

I've been having rendering issues mostly with fonts in basically all gtk and xul based apps. Some letters appear to be "fatter" than others (or that they are lacking proper smoothing/hinting). And in Firefox 3, table borders can sometimes be misrendered (ie, missing bits, scrolling the area out of view and then back in fixes the rendering) and some images also appear scrambled sometimes (black areas with some white dots).

Soon to be attached is a screenshot of two characters in gnome-terminal, the left one being misrendered. Usually, if I keep typing in characters, all letters will end up being correctly rendered.

So far, the font issue is very easy for me to reproduce, while the other two happen much less.

This is done on an 855GM HP laptop, running 32bit Gentoo, with xserver 1.5.2, xf86-video-intel 2.5.98.0 and libdrm 2.4.0 with the 2 patches from the corresponding branch. I'm running an non-GEM 2.6.26 kernel.
Comment 1 Carl Worth 2008-10-21 12:58:21 UTC
The behavior does indeed look strange. It's hard to guess what might lead to this.

Do you know how long this behavior has been present? More specifically, do you know that switching just the driver version makes the bug appear? (And if so, which versions?).

-Carl
Comment 2 Rémi Cardona 2008-10-21 14:00:15 UTC
Well, I noticed when I first tried using GEM about a week ago. Before that, I've been using 2.4.x only. But since GEM doesn't work on my laptop, I ended up running -intel master on a 2.6.26 kernel.

I'll try bisecting, but given the hectic history for 2.5, I'm not holding my breath :)

Thanks
Comment 3 Rémi Cardona 2008-10-21 23:40:57 UTC
I tried bisecting, but indeed my attempt has failed miserably. I tried about 15 revisions in between 2.4.2 and 2.4.98.0, and all fail to build due to a missing dri_bufmgr.h

Thanks
Comment 4 Rémi Cardona 2008-10-28 15:18:20 UTC
Ok, I finally managed to do the git bisect, following Jesse's advice.

Here's the output of the final bisect:

$ git bisect good
b2216e7bc2f1a35f9fc1794bad83208cd5c583d1 is first bad commit
commit b2216e7bc2f1a35f9fc1794bad83208cd5c583d1
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Jun 4 16:31:16 2008 -0700

    Use batchbuffers instead of ring emits for general commands.
    
    The batchbuffers are managed using libdrm and bufmgr_fake, and dispatched from
    the ring from userland.

:040000 040000 337d758cfec9600a1181ca8635d88a891bbfa8f8 021f58e21198872939882eeff1b22f492d238557 M        src

Anything else I can do?

Thanks
Comment 5 Carl Worth 2008-10-30 07:48:29 UTC
So Keith had the insight here that it looks like some characters are sometimes
being rendered twice for some reason. And thank you for doing the bisection
down to the change to using batch buffers.

Frankly, it's quite surprising that that change would result in a bug like
this. But bugs are often surprising, no?

Anyway, I'm not at all familiar yet with the 855, (neither with its hardware
capabilities nor with the specific pieces of the driver controlling it). This
isn't the only recent 855 bug, so I'll take some time to get up to speed with
the 855 soon. It might take me a little while, but I hope to make some progress
on this in plenty of time for the upcoming release, (currently planned for
December).

Thanks for the report and for your patience.

-Carl
Comment 6 Carl Worth 2008-11-06 14:55:46 UTC
Eric has been looking at several 855 issues recently, so I'm sending this bug his direction for a look. Eric, this is the bug with the apparent double-rendering of some glyphs that I mentioned to you, (the one bisected down to the change to using batch buffers).

-Carl
Comment 7 Alexandre Ghisoli 2008-11-17 06:03:32 UTC
I've also the font issue and the miss-rendered pages on Firefox.

It's pretty hard to send you a screenshot of the firefox issue, because when I hit the printscreen button, the page is refreshed and looks ok. I'll try to take a picture.


Graphic engine : 
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

Driver : 
 - xf86-video-intel-2.5.1
 - libdrm-2.4.1

Comment 8 Alexandre Ghisoli 2008-11-17 06:14:07 UTC
Created attachment 20370 [details]
Picture of my screen

Here is a picture taken with my cellphone (sorry for the image quality) of a portion of screen.

You can see a gray bar, that use all my screen width.

I can manage to show this bar using scroll up and down and usually, in few tries it show up. Often there are also missing characters or colors around that bar.

Doing page up / page down restore the image to something normal (sometimes, the font issue appear).

On local and heavy loaded pages likes in the maia mailguard project, the firefox page is grayed and if I pass on a link or button, the element under the mouse show up correctly (but the pages still gray).

Let me know if more details are needed
Comment 9 Alexandre Ghisoli 2008-12-29 07:36:39 UTC
I've tried the UXA accelerating method with a stock 2.6.28 and my screen get a lot more often the drawing issue.

Even my GDM greeter is full of small square (maybe 20x20 pixels) except for the input form (name and then password).

The firefox issue is present for almost all web page.

  * linux 2.6.28
  * x11-libs/libdrm-2.4.1
  * x11-drivers/xf86-video-intel-2.5.1-r1
  * x11-base/xorg-server-1.5.3 


But overall performance seems to be a little better (not sure if it's related to video or kernel improvement).

From my point of view on my 82852/855GM, GEM is not helping ;)



Comment 10 Rémi Cardona 2009-01-07 00:36:03 UTC
Well, I'll go in the other direction completely. I updated my kernel to Eric's drm-intel-2.6.28 branch and everything is fine now.

No screen corruption (bug #18503) and no rendering errors of any sort for the past couple of days.

I'll bisect the kernel to see which commit did the trick. Maybe that'll shed some light on what's really going on...

Cheers
Comment 11 Rémi Cardona 2009-01-11 09:34:30 UTC
Actually, while doing the bisect, I realized I my kernel config had somehow changed to the old i830 drm driver. Changing to i915 made all the visual errors come back again.

So here's a summary for -intel (from the batchbuffer patch to 2.5.1)

 - 2.6.27 + i830 => no bug
 - 2.6.28 + i830 => no bug
 - 2.6.27 + i915 => bug
 - 2.6.28 + i915 => bug

Hope that helps somehow...

Thanks
Comment 12 un_aimed 2009-01-30 12:44:00 UTC
I've got this issue aswell, but i've only noticed the "fat fonts" part.

Hardware is:
IBM Thinkpad R51 with 855GM.
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

Software is:
kernel-2.6.29-rc3
xf86-video-intel-2.6.1
libdrm-2.4.4
xorg-server-1.5.99.901
mesa-7.3
Comment 13 Eric Anholt 2009-05-26 21:08:17 UTC
(note to self: Need to finish up atomic batch work on 8xx before looking further into this bug)
Comment 14 Eric Anholt 2009-05-27 13:54:44 UTC
Oh, look, reporter says that this bug is fixed in comment #16 of bug #18503.

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.