Bug 3040 - Bad interaction between xinerama and xfs
Summary: Bad interaction between xinerama and xfs
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: xserver-1.9
  Show dependency treegraph
 
Reported: 2005-04-15 13:09 UTC by Søren Sandmann Pedersen
Modified: 2010-08-19 06:36 UTC (History)
9 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Søren Sandmann Pedersen 2005-04-15 13:09:49 UTC
This Red Hat bug:

   https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=134930

is about clients freezing when using Xinerama and 16 bit fonts at the same time.
What is actually going on is that Xinerama is implemented by issuing an
ImageText16 on more than one screen. This causes both calls to try and fetch the
font from the font server, causing ClientSleep() to be called twice. However,
when the font finally arrives, the client awoken only once.
Comment 1 Alan Coopersmith 2005-05-04 07:54:11 UTC
See also https://bugzilla.mozilla.org/show_bug.cgi?id=136362
Comment 2 Daniel Stone 2007-02-27 01:26:19 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 3 Jim Paris 2007-10-14 17:03:18 UTC
Any suggestions on the right way to fix this?
I've been bitten by freezing xterms for years and would like to try to find a resolution.
Comment 4 Daniel Stone 2009-08-31 18:05:25 UTC
definitely not going to be fixed for 1.7/7.5.
Comment 5 Adam Jackson 2010-08-19 06:36:51 UTC
Should be fixed in xserver 1.9:

commit 3ab6cd31cbdf8095b2948034fce5fb645422d8da
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Aug 9 15:20:20 2010 -0400

    fonts: Fix refcounting for asynchronous font operations (#3040)
    
    When doing Xinerama, we'll dispatch font ops across all backend screens.
    If using a font server (such that some operations can sleep), we'll put
    the client to sleep once for each screen, but only wake up once, because
    we're trying to keep track of the sleep count in _each_ screen's
    closure.
    
    Instead, just ask the core whether the client is already asleep.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>


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.