KDrive compiled larger then expected

ss griffon ssgriffonuser at gmail.com
Wed Apr 6 10:32:15 PDT 2011


I recently compiled Xfbdev (the fbdev version of KDrive) and the final
binary was 21MB in size.  I was a bit surprised at this size because
the post linked below describes kdrive as 700K in size.
http://lists.freedesktop.org/archives/xorg/2004-May/000799.html

I compiled KDrive from the centos source rpm but I would be willing to
compile it from the latest x.org sources.  The reason I used centos is
because it is what I have been developing on and it was easiest to
resolve dependencies with yum repos.  The rpm spec configures the
source with the following options (bare with me, my questions are at
the bottom of the post):

%{xservers} \
       --disable-xprint \
       --disable-static \
       --with-pic \
       --enable-composite \
       --enable-xtrap \
       --enable-xcsecurity \
       --enable-xevie \
       --with-default-font-path="unix/:7100,built-ins" \
       --with-module-dir=%{moduledir} \
       --with-os-name="Red Hat Enterprise Linux 5" \
       --with-os-vendor="Red Hat, Inc." \
       --with-builderstring="Build ID: %{name} %{version}-%{release}" \
       --with-xkb-output=%{_localstatedir}/lib/xkb \
       --with-rgb-path=%{_datadir}/X11/rgb \
       --disable-xorgcfg \
       --enable-install-libxf86config \
       --with-fontdir=%(pkg-config --variable=fontdir fontutil) \
%if %{with_dri}
       --enable-dri \
       --with-mesa-source=%{_datadir}/mesa/source \
       --with-dri-driver-path=%{drimoduledir} \
%else
       --disable-dri \
%endif

The 'xservers' variable does not contain kdrive, so after everything
was compiled, I simply went into the hw/kdrive/fbdev directory and did
a 'make'.  Also running ldd on the Xfbdev binary shows the following
dependencies:

        linux-gate.so.1 =>  (0x006a8000)
        libXfont.so.1 => /usr/lib/libXfont.so.1 (0x00d15000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00afd000)
        libfontenc.so.1 => /usr/lib/libfontenc.so.1 (0x00c79000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00df6000)
        libpam_misc.so.0 => /lib/libpam_misc.so.0 (0x00594000)
        libpam.so.0 => /lib/libpam.so.0 (0x009aa000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00cb3000)
        libm.so.6 => /lib/libm.so.6 (0x00961000)
        libc.so.6 => /lib/libc.so.6 (0x002d6000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0020f000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00c93000)
        libdl.so.2 => /lib/libdl.so.2 (0x00fd2000)
        libaudit.so.0 => /lib/libaudit.so.0 (0x05a96000)
        libsepol.so.1 => /lib/libsepol.so.1 (0x00ccd000)
        /lib/ld-linux.so.2 (0x00b0f000)

My questions are:
1) Is there still a way to make KDrive less then 5MB? Perhaps this
large binary is due to the way I am compiling it.

2)  Any advice on which extensions I absolutely must have.  I really
only need my KDrive to have the following capabilities:
      a) Run a simplistic window manager like twm
      b) Create empty windows with background colors
      c) Use a single font for drawing strings.  'fixed' is probably ok.
      d) Support input from keyboard, mouse and touchscreen.  Evdev
might work okay for all 3 of these.  I also saw a reference to tslib
which sounds like it may be very useful.

3) I noticed that in the most recent release of the XServer, KDrive
only contains fake, fbdev and ephyr.  What happened to all of the
others like i810, nvidia, vesa etc.

Any help is greatly appreciated.



More information about the xorg mailing list