[3790] in Release_7.7_team

home help back first fref pref prev next nref lref last post

Solaris GNOME/X issue

daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Apr 2 20:33:38 2003

From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@mit.edu
Content-Type: multipart/mixed; boundary="=-VIN0waJvcIEZ+PsEA0E1"
Date: 02 Apr 2003 20:33:34 -0500
Message-Id: <1049333614.1492.18.camel@lockpicking-tools.mit.edu>
Mime-Version: 1.0


--=-VIN0waJvcIEZ+PsEA0E1
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

First, the thing I'd like help with: I can't find any Solaris 9 patches
which update the X server.  It's possible that there simply aren't any,
but the enclosed message from Erwann suggests there might be.  If miki
and/or Garry could take a look, I'd appreciate it.

Now, the problem.  GNOME 2.2 makes heavy use of anti-aliased fonts,
which is good because it means things look nicer and fonts are easier
for the user to configure.  If your server supports the X Render
extension, then GNOME uses it to speed up the rendering of fonts.

The version of Solaris 9 we have has a server which advertises support
for the Render extension, but (contrary to the Render spec) does not
support 32-bit pixmaps on cards like the m64 which don't have a 32-bit
depth.  GNOME code is currently not friendly to this misimplementation
and dies with X errors inside gdk or pango.

Needless to say, this is stalling any meaningful testing of the Solaris
alpha release.  Our avenues of attack are:

  1. Try building the release without building the Xrender library.  I'm
doing that now; I expect to run into minor problems and may run into
major ones.  None of our machines would benefit from the performance
improvement of the Render extension.  (Variant: compile with the Xrender
library but find all calls to XRenderQueryExtension and hardcode them to
return 0 on Solaris.)

  2. Find an updated Sun X server which doesn't advertise the Render
extension when 32-bit pixmaps aren't supported.  This may or may not
exist.  Some of our newer machines might benefit from the Render
extension.  (Variant: find all calls to XRenderQueryExtension in the
GNOME code and supplement them with a test for 32-bit pixmap support.  I
will probably look into this in parallel with trying #1, since building
the release is so slow.)

  3. Find an updated Sun X server which properly supports the Render
extension on all cards.  Unfortunately, this definitely doesn't exist
yet, but is likely to in the future.

  4. Find an old Sun X server (e.g. from the original Solaris 9 release)
which doesn't claim to support the Render extension.  Dicey because an
older server is likely to have more bugs.

  5. Ditch GNOME 2.2.  Obviously a last resort; it would be very
disappointing and would take a ton of work at this point.  (Variant:
delay the release until IAP.)

I can only hope that performance is acceptable without the Render
extension on m64 machines (which include the Ultra 5s and Sunblade 100s;
Sunblade 150s have ifb framebuffers which appear to support 32-bit
pixmaps).


--=-VIN0waJvcIEZ+PsEA0E1
Content-Disposition: inline
Content-Description: Forwarded message - Re: Solaris Render and 32-bit
	pixmaps?
Content-Type: message/rfc822

Return-Path: <erwann.chenede@sun.com>
Received: from po12.mit.edu (po12.mit.edu [18.7.21.71]) by po12.mit.edu
	(Cyrus v2.1.5) with LMTP; Wed, 02 Apr 2003 19:49:09 -0500
X-Sieve: CMU Sieve 2.2
Received: from fort-point-station.mit.edu by po12.mit.edu (8.12.4/4.7) id
	h330n6hJ020493; Wed, 2 Apr 2003 19:49:06 -0500 (EST)
Received: from pheriche.sun.com (pheriche.sun.com [192.18.98.34]) by
	fort-point-station.mit.edu (8.12.4/8.9.2) with ESMTP id h330n5sd014228 for
	<ghudson@MIT.EDU>; Wed, 2 Apr 2003 19:49:06 -0500 (EST)
Received: from sutur.France.Sun.COM ([129.157.174.14]) by pheriche.sun.com
	(8.9.3+Sun/8.9.3) with ESMTP id RAA19193; Wed, 2 Apr 2003 17:49:04 -0700
	(MST)
Received: from sun.com (dhcp-usca21-191-33.red.iplanet.com [192.18.191.33])
	by sutur.France.Sun.COM (8.11.6+Sun/8.11.6/ENSMAIL,v2.2) with ESMTP id
	h330n2G23458; Thu, 3 Apr 2003 02:49:02 +0200 (MEST)
Message-ID: <3E8B858A.5000408@sun.com>
Date: Wed, 02 Apr 2003 16:51:22 -0800
From: =?ISO-8859-1?Q?Erwann_Ch=E9ned=E9?= <erwann.chenede@sun.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Greg Hudson <ghudson@MIT.EDU>
CC: gnome-list@gnome.org
Subject: Re: Solaris Render and 32-bit pixmaps?
References: <200304022336.SAA25139@equal-rites.mit.edu>
In-Reply-To: <200304022336.SAA25139@equal-rites.mit.edu>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.9
X-Spam-Flag: NO
X-Scanned-By: MIMEDefang 2.28 (www . roaringpenguin . com / mimedefang)

Hi Greg,

Greg Hudson wrote:

>I've built GNOME 2.2 from source on Solaris 9, and have found that
>programs won't generally run on my test machine; they get "BadValue" X
>errors trying to create 32-bit pixmaps.
>
>I believe that is because the machine has a somewhat lame frame buffer
>("ATI PGX PCI 8-bit [m64]") which only supports a bit depth of 24.
>Based on the discussion in
><http://bugzilla.gnome.org/show_bug.cgi?id=88662>, it would appear
>that the X server is violating the spec by claiming to support the
>Render extension without supporting 32-bit pixmaps.
>
>Have other people run into this problem?  Are there known workarounds
>other than rebuilding without Xrender?  (That's next on my list to
>try; I hope I can build it that way successfully and that performance
>is acceptable.)
>
    No, I'm not aware of any workaround for this problem. The first version
    of Render for Xsun didn't implement the spec fully (e.g. not 32 
pixmaps).
    This has been "fixed" by not advertising the Render extension for 
framebuffer
    that do not support this format.
    Atm there is an effort in Sun to add 32-bit pix support for most 
Sun's framebuffer
    DDX.
   
    So hopefully Render will work properly on most Sun Framebuffer soon :)

       HTH,

             Erwann
 

-- 
 Erwann Chénedé, Sun Microsystems, Ireland
          from Grenoble, France
[ I speak for myself, not for my employer ]




--=-VIN0waJvcIEZ+PsEA0E1--

home help back first fref pref prev next nref lref last post