← Back to team overview

registry team mailing list archive

[Bug 520671] Re: No icons on Geode thin client

 

Launchpad has imported 25 comments from the remote bug at
http://bugs.freedesktop.org/show_bug.cgi?id=27243.

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 2010-03-22T08:26:54+00:00 Martin-Éric Racine wrote:

As reported at Debian and Ubuntu, pixmap support is broken on xf86
-video-geode, whenever the driver is built and ran against X server core
1.7. The exact same driver, when built and ran against X server core up
to 1.6 works fine. Someone using Fedora 12 also mentioned the same issue
via private e-mail. Their findings are similar to the screenshots
attached to the Ubuntu bug below.

The symptom, mostly seen on GTK2+ applications, is menus and toolbars
lacking icons, even though the space for them is clearly used.

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-
geode/+bug/520671

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568827

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570637

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/6

------------------------------------------------------------------------
On 2010-04-09T00:28:24+00:00 Michel-daenzer wrote:

Does disabling RENDER acceleration work aorund the problem?

E.g.

    Option "EXANoComposite"

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/8

------------------------------------------------------------------------
On 2010-04-10T04:44:19+00:00 Martin-Éric Racine wrote:

No, EXANoComposite doesn't solve the issue.

Additionally, NoAccel flat out crashes the driver:

[...]
(**) GEODE(0): DPI set to (95, 120)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules/libfb.so
(II) Module fb: vendor="X.Org Foundation"
	compiled for 1.7.6, module version = 1.0.0
	ABI class: X.Org ANSI C Emulation, version 0.4
(II) GEODE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(II) GEODE(0): Geode LX video memory 7e00000 bytes at 0xaf5e9000
(II) GEODE(0): LX video memory:
(II) GEODE(0):  Display: 0x500000 bytes
(II) GEODE(0):  Compression: 0xaa000 bytes
(II) GEODE(0):  Cursor: 0x3000 bytes

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x3b) [0x80e937b]
1: /usr/bin/X (0x8048000+0x61c7d) [0x80a9c7d]
2: (vdso) (__kernel_rt_sigreturn+0x0) [0x59e410]
3: /usr/lib/xorg/modules/drivers/geode_drv.so (0xd7f000+0x198cf) [0xd988cf]
4: /usr/bin/X (AddScreen+0x198) [0x806cf48]
5: /usr/bin/X (InitOutput+0x820) [0x80b9ee0]
6: /usr/bin/X (0x8048000+0x1ebbb) [0x8066bbb]
7: /lib/libc.so.6 (__libc_start_main+0xe6) [0x196bc6]
8: /usr/bin/X (0x8048000+0x1e961) [0x8066961]
Segmentation fault at address 0xc

Caught signal 11 (Segmentation fault). Server aborting

Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

 ddxSigGiveUp: Closing log

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/29

------------------------------------------------------------------------
On 2010-04-10T04:51:29+00:00 Martin-Éric Racine wrote:

Wait... I'll take that back; EXANoComposite alone DOES solve the issue.

However, NoAccel still crashes the driver.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/30

------------------------------------------------------------------------
On 2010-04-11T22:11:10+00:00 Leio-gentoo wrote:

Created an attachment (id=34901)
Slightly minimal test case

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/31

------------------------------------------------------------------------
On 2010-04-11T22:14:55+00:00 Leio-gentoo wrote:

Some analysis in a slightly sleep deprived state:

gdb -p `pidof X`

# Catch the start of the buggy rendering operation:

break lx_check_composite
# Our icon is 24x24, so only break on that
condition 1 pSrc->pDrawable->width == 24
continue

# Run test app, X gdb will break once we are at the buggy rendering
# Now add extra breaks for other Composite (RENDER accel) hooks:

break lx_prepare_composite
break lx_do_composite
break lx_done


First CheckComposite returns TRUE - signifying we can render from the source to destination with format RGB565 (pDst->format) (Geode driver default depth is 16bit)

EXA does pixmap migration to GPU memory (exaDoMigration)

EXA calls PrepareComposite -> lx_prepare_composite

pMsk has a format of PICT_a8r8g8b8, lx_prepare_composite bails as we
know how to handle A4 and A8 only, could the mask be simpler in this
common image case?), EXA software fallback after pixmap migration was
already done and fallback seems to fall down its face; no image gets
composited.

With xorg-server-1.6 it seems to be PICT_a8r8g8b8 as well, but it
manages to fallback gracefully and draw the image.


Oh EXA masters, what could be wrong in the fallback? Why doesn't it love me anymore :(

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/32

------------------------------------------------------------------------
On 2010-04-11T23:08:31+00:00 Leio-gentoo wrote:

Created an attachment (id=34903)
lx_exa: bail earlier (in CheckComposite) for non-alpha-only masks.

This seems to workaround the EXA bug and make icons appear again.
However I believe the EXA fallback problem that this triggered should be
investigated as well. Also a quick look by more experienced people on
the patch would be greatly appreciated.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/33

------------------------------------------------------------------------
On 2010-04-12T02:18:49+00:00 Michel-daenzer wrote:

(In reply to comment #6)
> Created an attachment (id=34903) [details]
> lx_exa: bail earlier (in CheckComposite) for non-alpha-only masks.
> 
> This seems to workaround the EXA bug and make icons appear again.

The patch is probably a good idea anyway[0]: It's always better to catch
an unsupported composite operation in the CheckComposite hook rather
than in PrepareComposite, as this avoids superfluous pixmap migration.

[0] Assuming the hardware really doesn't support this format for the
mask (simply ignoring the non-alpha bits, unless it's a component alpha
picture).

> However I believe the EXA fallback problem that this triggered should be
> investigated as well.

Sure, assuming it still happens with xserver 1.8. Would you like to file
a new report for that or reassign this one? BTW, a bt full along with a
printout of the PictureRecs involved for the failing operation should be
interesting.

(In reply to comment #5)
> pMsk has a format of PICT_a8r8g8b8, lx_prepare_composite bails as we know how
> to handle A4 and A8 only, could the mask be simpler in this common image
> case?),

EXA itself will only choose a mask format other than A8 for text
rendering, and only if the driver doesn't support rendering to A8. So
this mask format is probably chosen by the client.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/34

------------------------------------------------------------------------
On 2010-04-12T14:02:08+00:00 Martin-Éric Racine wrote:

I pushed Mart's patch into GIT as it at least resolves the most urgent
issue, which was to restore image support in GTK2+ applications. Kudos
for this patch!

However, this only seems to be the tip of the iceberg: reports at Debian
indicate that Gecko-based browsers produce distortion on web content
with background images. I asked the reporter whether completely
disabling Composite solves the issue or not for him. Let's see what he
answers.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/36

------------------------------------------------------------------------
On 2010-04-12T15:39:46+00:00 Martin-Éric Racine wrote:

Sure enough, the user confirmed that disabling compositing via xorg.conf
option indeed resolved the Gecko-rendering issue on web sites with
background images.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/37

------------------------------------------------------------------------
On 2010-04-12T16:53:12+00:00 Leio-gentoo wrote:

Other issues in separate individual bug records please..., this is only for discussion of this concrete one.
About that, will test with xorg-server-1.8 hopefully later this week and see if EXA needs fixing too or not.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/38

------------------------------------------------------------------------
On 2010-04-13T18:27:34+00:00 Leio-gentoo wrote:

I have confirmed that the EXA bug is still present on xorg-server-1.8.0
when present with an unpatched geode driver. It fails to render a
XRenderComposite drawn image as done through pygtk in the attached test
case if we fallback in PrepareComposite.

Reassigning to EXA component per comment 7. Will try to retrieve the
backtraces and PictureRecs (once I figure what those are) later this
week to help this along.

>From the xf86-video-geode side, my patch is in GIT, and with that we can
avoid triggering this bug in xorg-server-1.7/1.8 and so can live with
it. However if it turns out that any PrepareComposite failures cause
problems in EXA, then that would be very bad - we bail for quite a few
common cases in PrepareComposite time at this time.


Some relevant bits from log:

X.Org X Server 1.8.0
Release Date: 2010-04-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.28-gentoo-r2 i586 Gentoo
Current Operating System: Linux geode 2.6.28-gentoo-r2 #5 Sun Feb 22 13:56:12 EET 2009 i586
Kernel command line: root=/dev/sda3 rootdelay=6 ro video=lxfb:off
Build Date: 14 April 2010  03:52:45AM

 
Current version of pixman: 0.18.0
...
[356817.689] (==) GEODE(0): Depth 16, (==) framebuffer bpp 16
[356817.689] (==) GEODE(0): RGB weight 565
[356817.689] (==) GEODE(0): Default visual is TrueColor
[356817.689] (==) GEODE(0): Using gamma correction (1.0, 1.0, 1.0)
[356817.689] (==) GEODE(0): No DCON is present
[356817.690] (II) GEODE(0): LX output options:
[356817.690] (II) GEODE(0):  CRT: YES
[356817.690] (II) GEODE(0):  PANEL: NO
[356817.690] (II) GEODE(0):  DCON: NO
[356817.690] (II) GEODE(0):  VGA: YES
[356817.690] (II) Loading sub module "int10"
[356817.690] (II) LoadModule: "int10"
[356817.692] (II) Loading /usr/lib/xorg/modules/libint10.so
[356817.693] (II) Module int10: vendor="X.Org Foundation"
[356817.693]    compiled for 1.8.0, module version = 1.0.0
[356817.693]    ABI class: X.Org Video Driver, version 7.0
[356817.699] (II) GEODE(0): Primary V_BIOS segment is: 0xc000
[356817.700] (II) GEODE(0): e00000 bytes of video memory is less then optimal
[356817.700] (II) GEODE(0): when compression is on. Disabling compression.
[356817.700] (II) GEODE(0): Output default using monitor section 204b
[356817.703] (EE) GEODE(0): GPIO pins are in serial mode.  Assuming no DDC
[356817.703] (**) GEODE(0): Option "NoDDC"
...
[356817.728] (II) GEODE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
[356817.729] (II) GEODE(0): Geode LX video memory c00000 bytes at 0xb6d4c000
[356817.729] (II) GEODE(0): LX video memory:
[356817.730] (II) GEODE(0):  Display: 0x4e2000 bytes
[356817.730] (II) GEODE(0):  Cursor: 0x3000 bytes
[356817.730] (II) GEODE(0):  EXA: 0x31800 bytes
[356817.730] (II) GEODE(0):  FREE: 0x5a9800 bytes
[356817.792] (II) EXA(0): Offscreen pixmap area of 202752 bytes
[356817.792] (II) EXA(0): Driver registered support for the following operations:
[356817.793] (II)         Solid
[356817.793] (II)         Copy
[356817.793] (II)         Composite (RENDER acceleration)
[356817.793] (==) GEODE(0): Backing store disabled
[356817.793] (==) GEODE(0): DPMS enabled

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/39

------------------------------------------------------------------------
On 2010-04-18T14:27:57+00:00 Martin-Éric Racine wrote:

Mart's patch was included as a part of xf86-video-geode 2.11.8 as
released a few days ago, which at least restores icon displaying in
GTK2+ applications.

Remains the issue with pixmap distortion on Gecko-based browsers when
displaying HTML content with complex background images. Should we open a
separate bug for this issue and consider 27243 as only concerning the
icon issue?

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/40

------------------------------------------------------------------------
On 2010-04-20T02:45:49+00:00 Michel-daenzer wrote:

Does

        Option          "EXAOptimizeMigration" "off"

make any difference for this?

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/43

------------------------------------------------------------------------
On 2010-04-22T07:52:02+00:00 Martin-Éric Racine wrote:

No, it does not fix the Gecko rendering issue on -geode.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/47

------------------------------------------------------------------------
On 2010-04-29T19:47:05+00:00 frank huang wrote:

Is "Gecko rendering issue" same as the bug 15700?
I am working on 15700 with a progressbar to see the composite thing in geode driver.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/49

------------------------------------------------------------------------
On 2010-05-27T23:32:28+00:00 frank huang wrote:

I have fixed the Src operation on blend and composite operation. 
And right now the most urgent bug in rendering is Over operation. Most of the rendering issue are arosed by this. Seems our driver does not handle this operation correc
You can add the following lines in lx_check_composite() to avoid the rendering bug.
		If(op == PictOpOver)
			return false;
I’ll fix this bug.


Thanks,
Frank

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/50

------------------------------------------------------------------------
On 2010-05-28T00:09:25+00:00 Martin-Éric Racine wrote:

Frank, could you produce a patch against what we have in our GIT
repository and attach it to this bug? Then, I can commit it to GIT (or
if you already have commit rights, you could commit it yourself).
Thanks!

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/51

------------------------------------------------------------------------
On 2010-05-28T01:10:21+00:00 frank huang wrote:

Martin,

	Right now, my modification has fixed the Src operation problem. The Over operation is still under research now.
	And our main rendering bug is focusing on Over operation with mask. Now I am quite sure about this. I'll use rendercheck(composite and compositeCA) to modify the driver.
	Do you need the intermediate version of my modification?


Thanks,
Frank 

-----Original Message-----
From: bugzilla-daemon@xxxxxxxxxxxxxxx [mailto:bugzilla-daemon@xxxxxxxxxxxxxxx] 
Sent: 2010年5月28日 15:09
To: Huang, FrankR
Subject: [Bug 27243] EXA PrepareComposite failure fallback breakage since X server 1.7 core for XRenderComposited images

https://bugs.freedesktop.org/show_bug.cgi?id=27243

--- Comment #17 from Martin-Éric Racine <q-funk@xxxxxx> 2010-05-28 00:09:25 PDT ---
Frank, could you produce a patch against what we have in our GIT repository and
attach it to this bug? Then, I can commit it to GIT (or if you already have
commit rights, you could commit it yourself). Thanks!

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/52

------------------------------------------------------------------------
On 2010-06-01T18:36:54+00:00 frank huang wrote:

The bug is that when our driver handle the Over operation where source image has the alpha value and mask has the alpha value, our driver does the wrong thing. It use the mask's alpha value to do the composite operation and omit the previous alpha value. The correct formula is that the source(ARGB) should be multiplied with the mask alpha value, then use the new alpha to do the OVER operation. I have done many experiments to prove that and guys from xorg-devel mail groug gives me the hint. 
In short, our driver is short of one pass of Source*(alpha of mask) and wrongly use a*A+(1-a)*B to do the OVER operation. See datasheet of Geode on GP_RASTER_MODE for detail.
I'll correct this huge bug and let you know my result.


Thanks,
Frank

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/53

------------------------------------------------------------------------
On 2010-06-01T20:26:15+00:00 Leio-gentoo wrote:

This bug entry here is meant for tracking the fixing of EXA
PrepareComposite failure fallback breakage, as noticed by the missing
images in geode driver, which were worked around by falling back early
in CheckComposite instead of PrepareComposite.

Please use a dedicated bug about SrcOver issues for updates on that
completely different bug. Or perhaps just the geode mailing list. Or bug
15700, but only if the black button problems are really SrcOver problems
and go to there.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/54

------------------------------------------------------------------------
On 2010-06-01T22:58:24+00:00 frank huang wrote:

Ok, Mart.
I transfer this bug trace to bug 28352(EXA Rendering bug in geode driver). For the 15700, I am not sure if the black box has the same problem. I guess yes. After I correct this one, we can say more on 15700. 

Thanks,
Frank

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/55

------------------------------------------------------------------------
On 2010-08-23T08:05:45+00:00 Martin-Éric Racine wrote:

Am I correct to assume that commit
b46d4ff787bce43409d59837d736af0be2b0dda5 in Geode 2.11.9 solves this
issue?

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/56

------------------------------------------------------------------------
On 2010-08-23T08:40:51+00:00 Leio-gentoo wrote:

You are not correct. It only workarounds it with other benefits. So
again, this bug is for finding out the core issue inside EXA code now
(see the component), which we could help with.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/57

------------------------------------------------------------------------
On 2010-08-23T18:18:00+00:00 frank huang wrote:

Keep this issue here. It is not caused by our driver. Mart will update
here if new findings is found in Xorg for this issue.

Reply at: https://bugs.launchpad.net/xorg-server/+bug/520671/comments/59


** Changed in: xorg-server
   Importance: Unknown => Medium

** Bug watch added: Debian Bug tracker #570637
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570637

-- 
No icons on Geode thin client
https://bugs.launchpad.net/bugs/520671
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Debian.