Minimizing X.org 6.8.1 (not KDrive) to meet specs

Francois Tigeot ftigeot at wolfpond.org
Thu Sep 23 12:13:28 PDT 2004


On Thu, Sep 23, 2004 at 01:48:33PM -0400, Sergei Mutovkin wrote:
> On Thu, 23 Sep 2004 18:57:31 +0200, Francois Tigeot
> <ftigeot at wolfpond.org> wrote:
> > -O3 and such doesn't imply better performance in all cases. You should do
> > some benchmarking to be sure.
> 
> Can you give any hint on how I can measure a performance?

time(1) is often good enough.

> > To reduce /usr/X11R6 size I use mainly special options in host.def.
> > Most fonts can be disabled like this:
> > 
> >         echo "#define BuildSpeedoFonts          NO"             >> $LOCALDEF
> >         echo "#define BuildType1Fonts           NO"             >> $LOCALDEF
> >         echo "#define BuildCIDFonts             NO"             >> $LOCALDEF
> >         echo "#define BuildTrueTypeFonts        NO"             >> $LOCALDEF
> >         echo "#define Build75DpiFonts           NO"             >> $LOCALDEF
> 
> I wonder if 100DPI fonts can be used instead of 75dpi at all times?

Certainly. It will probably look ugly though.
For ThinBSD I keeped only the two fonts necessary to start the X server:
'fixed' and 'cursor'.
Others are provided by a remote font server if needed.

> > I have patches to apply to Imakefiles where it is not practical to
> > disable the build and installation of components in an other way, but
> > they only contribute to a minor part of the size reduction.
> 
> Well, the only real goal I have in mind is to fit whole distribution
> with a lot of other software on 256Mb flash which will be bottable and
> if needed reset hdd to "initial" state.

You mean 256 megabytes, right ? With such a size you shouldn't have any
problem. I only ressorted to the extremes I used because I had to fit
everything in 16MB.

> > For example, xc/programs/xkbcomp/geometry/Imakefile contains a list of
> > many keyboards description files. I only need 'pc' so I patch all the
> > others away before build time.
> 
> I will look into this file, very interesting.. I never even though of
> this yet...

There are many unneeded files in a typical XFree or Xorg binary
distribution. I started with a standard tree and removed all I could by hand.

> > There should be an option somewhere in Imakefile hell.
> > grep(1) is your friend.
> 
> Hm... I know :) grepping helps, but not always :)

With the Imake mess you don't often have a choice :-)
 
> > ldd can be used to see which libraries your app uses.
> 
> Kylix applications can not be ldded for some reason, they use some
> other method of linking againt libraries without linux ld..... :(

Maybe this is also one of the reasons your applications have a long startup
time. Finding library references can be quite time consuming :-/

> > I'm not sure for this one. Applications have no problem to display Truetype
> > fonts, but they run from machines with full-featured X11 installations.
> 
> I don't know X11 protocol, to figure out how fonts are handled... but
> I know that at times when my school machine didn't have anti-aliasing
> and I had it enabled on my home server I could connect via SSH from
> schoold with X forwarding enabled and view anti-aliased fonts... which
> was super strange to see, as I thought only instructions were sent on
> how to draw, etc...

I believe that X font handling was so broken for modern requirements it
was decided to manage fonts on the client side...

-- 
Francois Tigeot



More information about the xorg mailing list