Tags:
create new tag
, view all tags
Shouldn't spend much time on this for the next several days, as there are other things I need to do. Nevertheless:

See:

Contents

Notes

  • Michel Dänzer added another comment to bug 43 pointing me back to Xtest. I wrote some comments back on the bug, and want to dig into Xtest some more. I tried running xtest on my Mandrake 9.0 system, but that is apparently not the Xtest he's talking about, and it is apparently an x extension, and not a standalone program (X client).

  • I wrote to the xfree86@xfree86PLEASENOSPAM.org list asking in general for some help in understanding the X tree, and some specific questions. Oops, forgot one: wanted to confirm that there are several X servers in the tree, almost one for each hardware family. Or, at least that's the way it used to be, (IIUC) in some of the older versions of X (like 3.3.6).

  • Allan Coopersmith responded with answers to many of my questions — then got some more responses including one from Matthieu Herrb, some of his comments also included below, but I haven't tried to attribute them separately:
    • devel@Xfree86PLEASENOSPAM.org exists -- probably a better place for these kinds of questions
    • Re: .docs under /xdev/xc/doc/specs/Xserver: they are FrameMaker files, postscript versions are available in the doc/hardcopy/Xserver directory, "along with PDF versions posted at http://www.x-docs.org/ and printed versions sold by Digital Press."
    • Re: ddx.tbl.ms -- "Definition of the Porting Layer for the X v11 Sample Server": "nroff -ms or groff -ms should help produce formatted copies, or you can read the PDF's at the above mentioned site that already translated them." Also "You can reformat them using the included Imakefile. make World will do it for you if you add #define BuildSpecsDocs     YES to your host.def file. Or read the preformatted PostScript in the hardcopy directory."
    • Re: .ps files: "I use ps2pdf and read the resulting pdf file with Acrobat Reader from Adobe. This gains the ablility of searching words."
    • Re: main() representing the start of code for the X server: "The Xserver itself is in xc/programs/Xserver main() is in dix/main.c under that. The dix directory is the OS-independent, device-independent code - most of the core protocol handling is in there. The OS-dependent, device independent code is in os - things like networking, the select() loop, etc. (OS in this case is generalized to any POSIX-ish/UNIX-ish OS.) The device dependent bits are under hw - all the video card & input device "drivers" (actually user space modules, not kernel level drivers) are in there. Xext contains the code to most of the extensions to the server, except for those so large/complex or otherwise special enough to get their own subdirectory (xkb, render, lbx, etc.)."
    • Aidan Kehoe added (in a later post: "It should also be noted that in the XFree86 implementation, a big percentage of the interesting stuff is under xc/programs/Xserver/hw/xfree86/; while the directories Alan mentioned are very important, you should probably go to the former first."
    • Re: "kbd" or "keyboard" ... kbd.c ... I really wanted to find where the keyboard events are created and/or sent to the X client: "xc/programs/Xserver/xkb is where much of that occurs." and "The process between a key pressed on the keyboard and an application getting the event is one of the most complicated thing in X. ... There's an OS-dependant level layer to get data from the keyboard and send it to the X server. Most of it is in xc/programs/Xserver/hw/xfree86/common/xf86Events.c, with os specific parts in xc/programs/Xserver/hw/xfre86/os-support/*"
    • Re: developer tools (ctags, bonzai, Leo): "I find cscope very useful for tracking through the sources. (I normally use the version bundled with Sun's commerical compilers, but I understand SCO opensourced the original AT&T version at http://cscope.sourceforge.net/. I haven't tried it, but it looks very similar from the web pages.)"
    • Re: will Kylix work (and developer tools): "I've no idea. Most XFree86 developpers use gdb and tools built above gdb like 'ddd' as a debugger." and "I use glimpse to index the whole xc directory. It then provides very fast greps in all files. Some people also like the GNU id-utils package to quickly find symbols." ... "Other automatic cross-reference tools are not very useful on the whole code because there's lot of important points where functions are called through function pointers and these tools cannot cross those borders, leaving an incomplete call tree."
    • Re: other: "The X code will surely make you learn a lot about C. Many aspects of the language are used here, and many variations on the style, given the big number of different contributors to the X code."

  • Will do some of the reading I started yesterday, while I wait for responses and develop my ambition for the other stuff I need to do in the next several days.

Contributors

  • () RandyKramer - 12 Apr 2003
  • If you edit this page: add your name here; move this to the next line; and include your comment marker (initials), if you have created one, in parenthesis before your WikiName.

Page Ratings

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2003-04-14 - RandyKramer
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiLearn? WebBottomBar">Send feedback
See TWiki's New Look