Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 13349 invoked from network); 26 Oct 2006 09:09:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Oct 2006 09:09:09 -0000 Received: (qmail 93628 invoked by uid 500); 26 Oct 2006 08:07:20 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 93594 invoked by uid 500); 26 Oct 2006 08:07:20 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 93585 invoked by uid 99); 26 Oct 2006 08:07:19 -0000 X-ASF-Spam-Status: No, hits=2.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of sergey.soldatov@gmail.com designates 64.233.182.187 as permitted sender) Received: from [64.233.182.187] (HELO nf-out-0910.google.com) (64.233.182.187) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Oct 2006 01:07:18 -0700 Received: by nf-out-0910.google.com with SMTP id m18so888124nfc for ; Thu, 26 Oct 2006 01:05:45 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=K/3eEUW36XK9Jtmdrf1Lc9nwQtqpn5XlmEP0V9LFEhy4TGgGh7sDaiPqj+ksfWzUZP47WZbtL34/e0S+I3kGdWV8zGkbNu28XYuHKt3KtmwL9v0O3tj6tk1DXs+Um5vQHYSU5MZDAxci531GgwXXlXaPBCXsdETeerIvLQP8zcM= Received: by 10.82.101.3 with SMTP id y3mr376723bub; Thu, 26 Oct 2006 01:05:44 -0700 (PDT) Received: by 10.82.129.2 with HTTP; Thu, 26 Oct 2006 01:05:44 -0700 (PDT) Message-ID: <44281a720610260105l6975a0d7xa26b7a52b5c9039d@mail.gmail.com> Date: Thu, 26 Oct 2006 12:05:44 +0400 From: "Sergey Soldatov" To: harmony-dev@incubator.apache.org Subject: Re: [classlib][awt] headless support (was: Re: [snapshot] Questions about next snapshot...) In-Reply-To: <11f7653a0610251017m4f43a098w37c5cead87bba2b1@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_32870_27335703.1161849944795" References: <11f7653a0610240826p1d9fe776nfab670e925d67b39@mail.gmail.com> <26c14c2a0610250419i26caaf3ah17204f5e7495b2@mail.gmail.com> <11f7653a0610250443w1dc13817g519e34888558364e@mail.gmail.com> <453F78A1.9040009@gmail.com> <26c14c2a0610250830y5f412c03g966ea98ff7b45a9@mail.gmail.com> <11f7653a0610250919m418a82ajafd7cef4160e8061@mail.gmail.com> <26c14c2a0610251005r428a1926u99034f3dcf3a3c90@mail.gmail.com> <11f7653a0610251009s87c9c94t3a1e89a3ea55a139@mail.gmail.com> <26c14c2a0610251014y43147ea2i475cd63f81143aa6@mail.gmail.com> <11f7653a0610251017m4f43a098w37c5cead87bba2b1@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_32870_27335703.1161849944795 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline There is a number of issues with headless support. And the serious one is font support. Our implementation uses system fonts, so in headless environment it could not initialize any font. RI uses own font rasterizer, so it doesn't have such problems. On 10/25/06, Martin Cordova wrote: > > I am just checking a dependency. Don't think so. > > Regards, > Martin > > On 10/25/06, Oleg Khaschansky < oleg.v.khaschansky@gmail.com> wrote: > > Could it be treated as a reverse engineering? I don't know :) > > > > On 10/25/06, Martin Cordova < martin.cordova@gmail.com> wrote: > > > I don't know how it works, but what I can do is try to use headless > > > without XOrg shared libs installed, and then take note of the missing > > > .so modules the IBM JVM complains about). > > > > > > Regards, > > > Martin > > > > > > > > > On 10/25/06, Oleg Khaschansky wrote: > > > > If you mean libxlib, how it could be used without X server? Maybe > some > > > > other library (e.g. font library like xft) simply preloads it during > > > > its initialization or tries to connect to the server (XOpenDisplay) > to > > > > get some data, fails and uses defaults? > > > > > > > > Anyway, I think, testing on a headless environment will help us to > > > > determine the requirements. > > > > > > > > On 10/25/06, Martin Cordova wrote: > > > > > >> (e.g. for linux we need to exclude all xlib calls, right?). << > > > > > > > > > > How implemented IBM their headless stuff? In their case it's a > > > > > requirement to have XOrg shared libraries installed to have > headless > > > > > working. In order distros it was XFree libs. No need for an X > server, > > > > > just the libs. > > > > > > > > > > Regards, > > > > > Martin Cordova > > > > > > > > > > > > > > > On 10/25/06, Oleg Khaschansky < oleg.v.khaschansky@gmail.com> > wrote: > > > > > > > Right, that is my question too. I've seen the general > description at > > > > > > > the URL Oleg sent, it's hardly a spec tho'. > > > > > > I don't think that spec for this exists. > > > > > > > > > > > > Another document on this is [1]. It describes what can and what > cannot > > > > > > be done in headless mode. But we also have the list of methods > which > > > > > > throw HeadlessException (from the API spec). > > > > > > > > > > > > > Presumably it is easier for us to find all the methods that > are declared > > > > > > > to throw a HeadlessException, and put in the isHeadless() test > right > > > > > > > now, so we can have a compliant headless implementation before > the GUI > > > > > > > is completed? > > > > > > This is only a part of a task. We may also need to guard native > > > > > > initialization code which depends on system configuration with > > > > > > isHeadless checks (just skip it in headless mode). And, > probably, > > > > > > provide an alternative simplified implementation for some awt > code > > > > > > which could be called in headless mode to prevent from falling > into > > > > > > hardware-dependent native code (e.g. for linux we need to > exclude all > > > > > > xlib calls, right?). > > > > > > > > > > > > [1] > http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ > > > > > > > > > > > > On 10/25/06, Tim Ellison wrote: > > > > > > > Martin Cordova wrote: > > > > > > > > Oleg, I just read it, does this mean that all methods that > don't need > > > > > > > > to throw the special Headless exception, are ready to work > in headless > > > > > > > > mode? > > > > > > > > > > > > > > Right, that is my question too. I've seen the general > description at > > > > > > > the URL Oleg sent, it's hardly a spec tho'. > > > > > > > > > > > > > > Presumably it is easier for us to find all the methods that > are declared > > > > > > > to throw a HeadlessException, and put in the isHeadless() test > right > > > > > > > now, so we can have a compliant headless implementation before > the GUI > > > > > > > is completed? > > > > > > > > > > > > > > > If so, we are just a step away for supporting headless? > > > > > > > > > > > > > > well we still have to get all the imageIO, print, font and > other code > > > > > > > working that is required in headless mode. > > > > > > > > > > > > > > Regards, > > > > > > > Tim > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Tim Ellison ( t.p.ellison@gmail.com) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Dinamica - RADical J2EE framework > > > > > open source, easy and powerful > > > > > http://www.martincordova.com > > > > > > > > > > > > > > > > > > -- > > > Dinamica - RADical J2EE framework > > > open source, easy and powerful > > > http://www.martincordova.com > > > > > > > > -- > Dinamica - RADical J2EE framework > open source, easy and powerful > http://www.martincordova.com > -- Sergey Soldatov ------=_Part_32870_27335703.1161849944795--