Question about importing symbols

Timothy Normand Miller theosib at
Wed Nov 25 13:33:50 PST 2009

Hi, everyone.  I hope that this is the right mailing list for asking
these kinds of questions.  Please let me know if I'm mistaken.  My
question is at the end of the email.

Background info:

I'm working on a DDX module for a 2000-era 2D graphics card used in
air traffic control systems.  (BTW, I also designed the GPU for that
card.)  Back in the day, I wrote an abstraction layer for cfb and the
rest that made it easier for me to support weird pixel modes (like
four layers of 8-bit overlays and the multiple-overlay-extension),
specialized pixmap memory management, 12-bit grayscale colormaps for
medical imaging, acceleration for primitives that no one accelerates
anymore (like arcs and 2D stipples applied to lines), and plugins for
low-level driver layers for multiple GPUs.  I've been tasked with
supporting this card under RHEL5, which has done away with cfb.  We've
tried writing a whole new DDX for XAA, but it prevents us from using
our pixmap manager, and we have problems trying to hook in
acceleration for some of the unsupported primitives.  EXA and UXA
allow us to accelerate even less.  After lengthy discussion with
people on #xorg-devel on freenode, the consensus came to be that I
should port my original abstraction layer to work on top of fb.  Based
on suggestions, a colleague and I started by stripping down the sunleo
driver (the only one left that uses fb directly?) and then building
back up the initialization and slowly plugging in acceleration and
stuff.  We're making progress.

The server we're trying to support is on RHEL5.  As such, we're forced
to use xf86LoaderReqSymLists to import symbols, or else we get errors
on startup.  Here's the version info:

X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: Linux 2.6.18-53.1.14.el5PAE i686 Red Hat, Inc.
Current Operating System: Linux banshee 2.6.18-164.el5 #1 SMP Thu Sep
3 03:33:56 EDT 2009 i686
Build Date: 21 January 2009

My question:

I added fbCreateWindow to the list of symbols to be imported by
xf86LoaderReqSymLists, but I still get an error that fbCreateWindow is
undefined.  I have successfully imported some other functions
(fbScreenInit, fbPictureInit, fbCreateDefColormap), but this one isn't
playing nice.  Is there something I'm missing here?  Do I have to make
a call to fb or something in the server core to get it to export that
symbol so that I can then import it?

What other symbols am I going to have trouble getting access to?  I
heard that there's an alternate way to look up symbols by name.  The
performance on that is probably lousy, but I can do a bunch on init
and store them in a structure if necessary.

Thanks in advance for the help.

Timothy Normand Miller
Open Graphics Project

More information about the xorg-devel mailing list